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 使用 npm install electron@latest 安装它,或从我们的 发布网站 下载。请继续阅读以了解此版本的详细信息,并分享您的反馈!
堆栈变化
- 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 的新主要版本,其中包含这些组件的新版本。 暂定的 13.0.0 时间表 概述了 Electron 13.0 开发生命周期的关键日期。此外,请参阅我们的版本控制文档,了解有关 Electron 版本控制的更多详细信息。
有关 Electron 未来版本中计划的破坏性更改的信息,请参阅 我们的计划中的破坏性更改文档。


