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 时更容易找到新功能和错误修复。
我们迫不及待想看看您用它们构建什么!继续阅读以了解有关此版本的详细信息,并请分享您的任何反馈!
值得注意的更改
堆栈更改
- Chromium
85.0.4183.84
- Node.js
12.16.3
- V8
8.5
亮点功能
- 添加了
contents.getBackgroundThrottling()
方法和contents.backgroundThrottling
属性。 [#21036] - 在主进程中公开了
desktopCapturer
模块。 #23548 - 现在可以通过调用
ses.isPersistent()
API 来检查给定的session
是否为持久会话。 #22622 - 解决了由于网络 IP 地址更改和 ICE 导致 RTC 调用无法连接的网络问题。(Chromium 问题 1113227)。 #24998
有关新功能和更改的完整列表,请参阅 10.0.0 版本说明。
重大更改
- 将
enableRemoteModule
的默认值更改为false
。 #22091- 这是我们弃用
remote
模块并将其移至用户空间计划的一部分。您可以阅读并关注 此问题,其中详细介绍了我们这样做的原因,并包括了建议的弃用时间表。
- 这是我们弃用
- 将
app.allowRendererProcessReuse
的默认值更改为true
。 #22336 (也在 Electron 9 中)- 这将阻止在渲染器进程中加载非上下文感知的原生模块。
- 您可以阅读并关注 此问题,其中详细介绍了我们这样做的原因,并包括了建议的弃用时间表。
- 修复了当操作系统区域设置设置为 RTL 语言(如阿拉伯语或希伯来语)时,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 中所做的那样。请阅读并关注 此问题,以获取有关弃用的完整计划和详细信息。
要求原生 Node 模块为上下文感知或 N-API 的最后一步(在 Electron 12 中)
编辑:最初,此博客文章声明我们将在 Electron 11 中禁用渲染器进程重用。禁用渲染器进程重用现已推迟到 Electron 12。
从 Electron 6 开始,我们一直在为要求在渲染器进程中加载的 原生 Node 模块 要么是 N-API 要么是 上下文感知 奠定基础。 强制执行此更改可以实现更强的安全性、更快的性能和减少的维护工作量。 此计划的最后一步是在 Electron 12 中删除禁用渲染进程重用的能力。 阅读 此问题 以获取完整详细信息,包括建议的时间表。