Electron 12.0.0
·阅读 5 分钟
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。#25249
- 新增
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 (Streaming SIMD Extensions 3) 支持的旧版 x86 CPU 的支持。Electron 12 也随之移除了此支持。
有关这些和未来更改的更多信息,请参阅计划中的重大变更页面。
API 变更
- 新增
webFrameMain
API:webFrameMain
模块可用于查找现有WebContents
实例中的帧。这是现有 webFrame API 在主进程中的对应。有关此新 API 的更多信息,请参阅此处和我们的文档。 app
API 变更BrowserWindow
API 变更contextBridge
API 变更- 允许 ContextBridge 的
exposeInMainWorld
方法暴露非对象 API。#26834
- 允许 ContextBridge 的
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 版本控制的更多详细信息。
有关即将发布的 Electron 版本中计划的重大变更的信息,请参阅我们的计划中的重大变更文档。