Electron 12.0.0
·7分钟阅读
Electron 12.0.0 已发布!它包含了 Chromium 89、V8 8.9 和 Node.js 14.16 的升级。我们对 remote 模块进行了更改,为 contextIsolation 设置了新的默认值,引入了新的 webFrameMain API,并进行了一些通用改进。请继续阅读以获取更多详细信息!
Electron 团队很高兴宣布 Electron 12.0.0 的发布!您可以通过 npm install electron@latest 使用 npm 安装它,或从我们的 发布网站 下载。请继续阅读有关此版本的详细信息,并随时分享您的反馈!
重要变更
技术栈变更
- Chromium
89 - Node.js
14.16 - V8
8.9
重点特性
- ContextBridge 的
exposeInMainWorld方法现在可以暴露非对象 API。 #26834 - 从 Node 12 升级到 Node 14。 #23249
- 添加了新的
webFrameMainAPI,用于从主进程访问WebContents实例的子框架。 #25464 contextIsolation和worldSafeExecuteJavaScript的默认值现为true。 #27949 #27502
请参阅 12.0.0 版本说明 以获取新功能和更改的完整列表。
破坏性变更
- 已弃用
remote模块。它已被@electron/remote取代。 #25293- 如果您目前正在使用
remote模块,我们已经 在此处编写了迁移到@electron/remote的指南。
- 如果您目前正在使用
- 将
contextIsolation的默认值更改为true。 #27949 - 将
worldSafeExecuteJavaScript的默认值更改为true。 #27502 - 将
crashReporter.start({ compress })的默认值从false更改为true。 #25288 - 移除了 Flash 支持:Chromium 已移除对 Flash 的支持,Electron 12 也已移除。有关更多详细信息,请参阅 Chromium 的 Flash 路线图。
- x86 上的 Chrome 需要 SSE3:Chromium 已移除对 不满足最低 SSE3(Streaming SIMD Extensions 3)支持的老旧 x86 CPU 的支持。Electron 12 也已移除此支持。
有关这些及未来更改的更多信息,请参阅计划中的重大更改页面。
API 更改
- 添加了
webFrameMainAPI:webFrameMain模块可用于查找现有WebContents实例中的帧。这是现有 webFrame API 的主进程等效项。有关此新 API 的更多信息,请参阅 此处 和我们的 文档。 appAPI 变更BrowserWindowAPI 变更contextBridgeAPI 更改- 允许 ContextBridge
exposeInMainWorld方法暴露非对象 API。 #26834
- 允许 ContextBridge
displayAPI 更改- 向
Display对象添加了displayFrequency属性,以允许获取有关 Windows 上刷新率的信息。 #26472
- 向
extensionsAPI 更改- 添加了对某些
chrome.managementAPI 的支持。 #25098
- 添加了对某些
MenuItemAPI 更改- 添加了对显示 macOS 共享菜单的支持。 #25629
netAPI 更改powerMonitorAPI 更改sessionAPI 变更- 为
ses.loadExtension()API 添加了allowFileAccess选项。 #27702 - 为
session.setPermissionRequestHandler添加了display-captureAPI。 #27696 - 为
session.setSSLConfig添加了disabledCipherSuites选项。 #25818 - 为
session添加了extension-loaded、extension-unloaded和extension-ready事件。 #25385 - 添加了
session.setSSLConfig(),以允许配置 SSL。 #25461 - 为
session.setProxy()添加了支持,用于明确指定direct、auto_detect或system模式。 #24937 - 添加了 Serial API 支持。 #25237
- 添加了启用/禁用拼写检查器的 API。 #26276
- 为
shellAPI 变更- 添加了一个新的异步
shell.trashItem()API,取代了同步的shell.moveItemToTrash()。 #25114
- 添加了一个新的异步
webContentsAPI 变更webFrameAPI 更改- 向渲染器添加了拼写检查 API。 #25060
移除/弃用的变更
以下 API 已被移除或现已弃用
- 已弃用
remote模块。它已被@electron/remote取代。 #25293 - 移除了已弃用的
crashReporterAPI。 #26709 - 从打包应用程序的默认“帮助”菜单中移除了指向 Electron 网站的链接。 #25831
9.x.y 版本停止支持
根据项目的 支持政策,Electron 9.x.y 已停止支持。鼓励开发人员和应用程序升级到新版本的 Electron。
下一步计划
短期内,您可以期望团队将继续专注于跟上 Electron 所包含的主要组件(包括 Chromium、Node 和 V8)的发展。虽然我们很谨慎,但不会承诺发布日期,但我们的计划是大约每季度发布一次包含这些组件新版本的新 Electron 主要版本。 Electron 13.0.0 的暂定时间表 概述了 Electron 13.0 开发生命周期中的关键日期。此外,有关 Electron 版本控制的更多详细信息,请参阅我们的 版本控制文档。
有关 Electron 未来版本中计划的重大更改的信息,请参阅我们的计划中的重大更改文档。


