Electron 10.0.0
Electron 10.0.0 已经发布!它包含了对 Chromium 85、V8 8.5 和 Node.js 12.16 的升级。我们还添加了几个新的 API 集成和改进。请阅读下文了解更多详情!
Electron 团队很高兴地宣布 Electron 10.0.0 版本发布!您可以通过 npm 使用 npm install electron@latest 安装它,或从我们的 发布网站 下载。此版本包含升级、修复和新功能。
在 Electron 10 的发布中,我们还对发布说明进行了更改。为了更容易区分 Electron 10 中哪些是全新的,哪些是 Electron 10 和之前版本之间的变化,我们现在还会包含那些已经引入到 Electron 10 中,但又被反向移植到之前版本中的更改。我们希望这能帮助应用程序在升级 Electron 时更容易找到新功能和 bug 修复。
我们迫不及待地想看到您用它们构建出什么!请继续阅读有关此版本的详细信息,并请分享您的任何反馈!
值得注意的变化
- 添加了
contents.getBackgroundThrottling()方法和contents.backgroundThrottling属性。[#21036] - 在主进程中公开了
desktopCapturer模块。 #23548 - 现在可以通过调用
ses.isPersistent()API 来检查给定的session是否持久化。 #22622 - 解决了由于网络 IP 地址更改和 ICE 导致 RTC 调用无法连接的网络问题。(Chromium issue 1113227)。 #24998
请参阅 10.0.0 版本说明,以获取完整的特性和更改列表。
堆栈变化
- Chromium
85.0.4183.84 - Node.js
12.16.3 - V8
8.5
破坏性变更
- 将
enableRemoteModule的默认值更改为false。 #22091- 这是我们弃用
remote模块并将其迁移到用户空间的计划的一部分。您可以阅读并关注 此 issue,其中详细说明了我们这样做的原因,并包含弃用计划的时间表。
- 这是我们弃用
- 将
app.allowRendererProcessReuse的默认值更改为true。 #22336(也在 Electron 9 中)- 这将阻止在渲染器进程中加载非上下文感知的原生模块。
- 您可以阅读并关注 此 issue,其中详细说明了我们这样做的原因,并包含弃用计划的时间表。
- 修复了 macOS 上操作系统区域设置为从右到左语言(如阿拉伯语或希伯来语)时窗口按钮的定位问题。无边框窗口应用程序可能需要考虑此更改,同时设置其窗口样式。 #22016
有关这些和未来更改的更多信息,请参阅 计划中的破坏性更改 页面。
API 变更
- Session: 现在可以通过调用
ses.isPersistent()API 来检查给定的session是否持久化。 #22622 - Contents: 添加了
contents.getBackgroundThrottling()方法和contents.backgroundThrottling属性。 #21036
已弃用的 API
以下 API 现已弃用或被移除
- 移除了
netLog的已弃用属性currentlyLoggingPath。 此外,netLog.stopLogging不再返回记录日志的路径。 #22732 - 弃用了
crashReporter中的未压缩崩溃上传。 #23598
7.x.y 版本支持结束
根据项目的 支持策略,Electron 7.x.y 已达到支持结束。 鼓励开发者和应用程序升级到较新版本的 Electron。
接下来是什么
在短期内,团队将继续专注于维护构成 Electron 的主要组件的开发,包括 Chromium、Node 和 V8。 虽然我们小心谨慎,不承诺发布日期,但我们的计划是大约每季度发布 Electron 的新主要版本,其中包含这些组件的新版本。 暂定的 11.0.0 时间表 概述了 Electron 11.0 开发生命周期的关键日期。 此外,请参阅我们的版本控制文档,以获取有关 Electron 版本控制的更多详细信息。
有关 Electron 未来版本中计划的破坏性更改的信息,请参阅 我们的计划中的破坏性更改文档。
继续进行 remote 模块弃用工作(在 Electron 11 中)
我们从 Electron 9 开始进行移除 remote 模块的工作,并继续计划移除 remote 模块。 在 Electron 11 中,我们计划继续进行重构工作,以实现 WeakRef,就像我们在 Electron 10 中所做的那样。 请阅读并关注 此 issue,以获取完整的计划和弃用细节。
要求 Native Node 模块具有上下文感知或 N-API 的最终步骤(在 Electron 12 中)
编辑:最初,这篇博客文章声明我们将在 Electron 11 中禁用渲染器进程重用。禁用渲染器进程重用现已推迟到 Electron 12。
从 Electron 6 开始,我们一直在为要求加载到渲染器进程中的 native Node 模块 必须是 N-API 或 Context Aware 打下基础。 强制执行此更改可以提高安全性、更快的性能和减少维护工作量。 此计划的最终步骤是在 Electron 12 中移除禁用渲染器进程重用的能力。 请阅读 此 issue,以获取完整的详细信息,包括拟议的时间表。

