跳至主要内容

Electron 10.0.0

·阅读时间:5 分钟

Electron 10.0.0 已发布!它包含对 Chromium 85、V8 8.5 和 Node.js 12.16 的升级。我们添加了一些新的 API 集成和改进。阅读以下内容以获取更多详细信息!


Electron 团队很高兴宣布 Electron 10.0.0 发布!您可以通过 npm install electron@latest 使用 npm 安装它,也可以从我们的 发布网站 下载它。该版本包含大量升级、修复和新功能。

在 Electron 10 版本中,我们还对发布说明进行了更改。为了更轻松地区分 Electron 10 中的全新功能以及 Electron 10 和过去版本之间可能存在哪些更改,我们现在还包括在 Electron 10 中引入但已回溯到先前版本的更改。我们希望这可以使应用在升级 Electron 时更轻松地找到新功能和错误修复。

我们迫不及待地想看看您用它们构建了什么!继续阅读以了解有关此版本的详细信息,并请分享您遇到的任何反馈!

值得注意的更改

堆栈更改

突出显示的功能

  • 添加了 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 中)
    • 这将阻止在渲染器进程中加载非上下文感知的原生模块。
    • 您可以阅读并关注 此问题,其中详细说明了我们这样做的原因,并包含了关于弃用时间表的建议。
  • 修复了 macOS 上当操作系统语言环境设置为 RTL 语言(如阿拉伯语或希伯来语)时窗口按钮的位置。无边框窗口应用在为其窗口设置样式时可能需要考虑此更改。 #22016

有关这些更改和未来更改的更多信息,请参阅 计划的重大更改 页面。

API 更改

  • 会话:现在可以通过调用 ses.isPersistent() API 检查给定的 session 是否是持久性的。 #22622
  • 内容:添加了 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 的新主要版本,其中包含这些组件的新版本。Electron 11.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 中移除禁用渲染器进程重用的功能。阅读此问题,以获取包括提议时间表在内的完整详细信息。