Electron 7.0.0
Electron 7.0.0 已发布!它包含 Chromium 78、V8 7.8 和 Node.js 12.8.1 的升级。我们新增了 Arm 64 上的 Windows 版本,更快的 IPC 方法,一个新的 nativeTheme
API,以及更多!
Electron 团队很高兴地宣布 Electron 7.0.0 发布!您可以通过 npm `npm install electron@latest` 进行安装,或从我们的发布网站下载。此版本包含大量升级、修复和新功能。我们迫不及待地想看到您用它们构建出什么!请继续阅读以了解此版本的详细信息,并请分享您的任何反馈!
显著变化
-
堆栈升级
堆栈 Electron 6 中的版本 Electron 7 中的版本 新特性 Chromium 76.0.3809.146 78.0.3905.1 77, 78 V8 7.6 7.8 7.7, 7.8 Node.js 12.4.0 12.8.1 12.5, 12.6, 12.7, 12.8, 12.8.1 -
新增
ipcRenderer.invoke()
和ipcMain.handle()
用于异步请求/响应式的 IPC。强烈推荐使用这些方法而非remote
模块。请参阅这篇“Electron 的 ‘remote’ 模块被认为有害”博客文章了解更多信息。#18449 -
切换到新的 TypeScript 定义生成器。生成的定义更精确;因此,如果您的 TypeScript 构建失败,这可能是原因。#18103
查看7.0.0 发布说明以获取更完整的变更列表。
重大变更
有关这些和未来变更的更多信息,请参见计划中的重大变更页面。
- 移除已弃用的 API
- 现在使用 Promises 的函数的基于回调的版本。#17907
Tray.setHighlightMode()
(macOS)。#18981app.enableMixedSandbox()
#17894app.getApplicationMenu()
,app.setApplicationMenu()
,powerMonitor.querySystemIdleState()
,powerMonitor.querySystemIdleTime()
,webFrame.setIsolatedWorldContentSecurityPolicy()
,webFrame.setIsolatedWorldHumanReadableName()
,webFrame.setIsolatedWorldSecurityOrigin()
#18159
Session.clearAuthCache()
不再允许过滤被清除的缓存条目。#17970- macOS 上的原生接口(菜单、对话框等)现在自动匹配用户机器的深色模式设置。#19226
- 更新了
electron
模块以使用@electron/get
。现在支持的最低 Node 版本是 Node 8。#18413 - 文件
electron.asar
不再存在。任何依赖此文件存在的打包脚本都应更新。#18577
停止支持 4.x.y 版本
根据项目的支持策略,Electron 4.x.y 已达到支持终止期。鼓励开发者和应用升级到更新的 Electron 版本。
应用反馈计划
我们继续使用我们的应用反馈计划进行测试。参与此计划的项目会在其应用上测试 Electron 的 beta 版本;作为回报,他们发现的新 bug 将在稳定版发布时获得优先处理。如果您想参与或了解更多信息,请查阅我们关于此计划的博客文章。
下一步计划
短期内,您可以期待团队继续专注于跟进构成 Electron 的主要组件(包括 Chromium、Node 和 V8)的开发。虽然我们谨慎地不承诺具体的发布日期,但我们的计划是大约每季度发布包含这些组件新版本的 Electron 主要新版本。Electron 8.0.0 暂定时间表列出了 Electron 8 开发生命周期中的关键日期。此外,请参阅我们的版本控制文档,了解有关 Electron 版本控制的更多详细信息。
有关 Electron 未来版本中计划的重大变更的信息,请参阅我们的计划中的重大变更文档。