Electron 12.0.0 已发布! 它包括对 Chromium 89, V8 8.9 和 Node.js 14.16的升级. 我们添加了对远程模块的更改,contextIsolation的新默认值,新的webFrameMain API以及常规改进。请阅读下面的详细信息!
Electron团队很高兴宣布Electron 12.0.0的发布!您可以通过npm通过安装它,npm install electron@latest
也可以从我们的发行网站下载它。继续阅读有关此版本的详细信息,请分享您的任何反馈!
显著变化
底层变化
- Chromium
89 - Node.js
14.16 - V8
8.9
突出特点
ContextBridgeexposeInMainWorld现在可以暴露非对象 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上Chromium所需的 SSE3: Chromium已删除对不符合最低 SSE3(流式 SIMD 扩展 3) 支持的旧 x86 CPU 的支持. Electron12 中也删除了此支持.
有关这些和未来更改的更多信息,可在计划中断更改 页面上找到.
API 变化
-
添加
webFrameMainAPI:WebwebFrameMain模块可用于查找现有WebContents实例中的事例。这是相当于现有 Web 框架 API 的主要过程。有关此新 API 的更多信息,可在此处找到,并在我们的文档中. -
app -
BrowserWindow -
contextBridge- 允许
ContextBridgeexposeInMainWorld方法公开非对象API. #26834
- 允许
-
display- 向
Display对象添加displayFrequency属性,以便获取有关Windows刷新率的信息. #26472
- 向
-
extensions- 增加了对一些
chrome.managementAPI 的支持 #25098
- 增加了对一些
-
MenuItem- 添加了对显示macOS共享菜单的支持. #25629
-
net -
powerMonitor -
session- 添加
allowFileAccess选项到ses.loadExtension()API. #27702 - 添加
display-captureAPI 到session.setPermissionRequestHandler. #27696 - 添加一个
disabledCipherSuites选项到session.setSSLConfig. #25818 - 添加
extension-loaded,extension-unloaded, 和extension-ready事件到session. #25385 - 添加
session.setSSLConfig()以允许配置SSL. #25461 - 增加对
session.setProxy()中明确direct指定直接auto_detect或system模式的支持. #24937 - 增加 Serial API 支持. #25237
- 添加API以启用/禁用拼写检查器. #26276
- 添加
-
shell- 添加了一个新的异步
shell.trashItem()API,取代了同步shell.moveItemToTrash(). #25114
- 添加了一个新的异步
-
webContents -
webFrame- 向渲染器添加拼写检查API. #25060
已删除/弃用更改
已删除或现在弃用以下 API::
- 弃用
remote模块。它被@electron/remote所取代 . #25293 - 删除弃用的
crashReporterAPI. #26709 - 从打包应用程序的默认“帮助”菜单中删除了到Electron网站的链接. #25831
结束对9.0版本的支持
根据项目的 支持政策. Electron 9.0已终止支持。鼓励开发人员和应用程序升级到新版本的Electron
下一步是什么
在短期内,您可以期望团队继续专注于跟上构成Electron的主要组件(包括Chromium,Node和V8)的开发。尽管我们小心谨慎,不要对发布日期做出保证,但我们的计划是发布Electron的新主要版本,并大约每季度发布这些组件的新版本。该暂定时间表13.0.0绘制了 Electron 13.0 开发生命周期中的关键日期。另外,请参阅我们的版本控制文档,以获取有关Electron中版本控制的更多详细信息。
有关即将推出的Electron版本中计划中的重大更改的信息,请参阅我们的计划中的重大更改文档。