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
- 新增了
webFrameMain
API,用于从主进程访问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(流式 SIMD 扩展 3)支持的旧版 x86 CPU 的支持。Electron 12 中也已移除此支持。
有关这些和未来更改的更多信息,请参见计划的重大更改页面。
API 更改
- 新增
webFrameMain
API:webFrameMain
模块可用于查找现有WebContents
实例中的帧。这是现有 webFrame API 在主进程中的等效功能。有关此新 API 的更多信息,请参见此处以及我们的文档。 - app API 更改
- BrowserWindow API 更改
- contextBridge API 更改
- 允许 ContextBridge 的 `exposeInMainWorld` 方法暴露非对象 API。#26834
- display API 更改
- 为 `Display` 对象添加了 `displayFrequency` 属性,允许在 Windows 上获取刷新率信息。#26472
- extensions API 更改
- 新增对部分 `chrome.management` API 的支持。#25098
- MenuItem API 更改
- 新增支持显示 macOS 共享菜单。#25629
- net API 更改
- powerMonitor API 更改
- session API 更改
- 为 `ses.loadExtension()` API 添加了 `allowFileAccess` 选项。#27702
- 为 `session.setPermissionRequestHandler` 添加了 `display-capture` API。#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
- shell API 更改
- 新增了一个异步
shell.trashItem()
API,取代了同步的shell.moveItemToTrash()
。#25114
- 新增了一个异步
- webContents API 更改
- webFrame API 更改
- 为渲染器添加了拼写检查 API。#25060
移除/弃用更改
以下 API 已被移除或现已弃用
- 已弃用
remote
模块。它已被@electron/remote
取代。#25293 - 移除了已弃用的 `crashReporter` API。#26709
- 从打包应用程序的默认“帮助”菜单中移除了指向 Electron 网站的链接。#25831
9.x.y 版本支持结束
根据项目的支持政策,Electron 9.x.y 已达到支持终止日期。建议开发者和应用程序升级到较新版本的 Electron。
接下来
短期内,您可以期待团队继续专注于跟进构成 Electron 的主要组件(包括 Chromium、Node 和 V8)的开发。尽管我们谨慎地不就发布日期做出承诺,但我们的计划是大约每季度发布一个包含这些组件新版本的新主要 Electron 版本。Electron 13.0 的暂定时间表列出了 Electron 13.0 开发生命周期中的关键日期。此外,有关 Electron 中版本控制的更详细信息,请参阅我们的版本控制文档。
有关 Electron 即将发布的版本中计划的重大更改的信息,请参阅我们的计划的重大更改文档。