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 install electron@latest
使用 npm 进行安装,或者从我们的 发布网站 下载。此版本包含大量升级、修复和新功能。我们迫不及待地想看到您用它们构建出什么!请继续阅读以获取有关此版本的详细信息,并请分享您的任何反馈!
重要变更
-
技术栈升级
技术栈 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
- 现在使用 Promise 的函数的基于回调的版本。 #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。 暂定的 8.0.0 时间表 概述了 Electron 8 开发生命周期中的关键日期。此外,请参阅我们的版本文档,了解有关 Electron 版本管理的更详细信息。
有关 Electron 未来版本中计划的重大变更信息,请参阅我们的“计划中的重大变更”文档。