跳到主要内容

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 使用 `npm install electron@latest` 安装,或者从我们的发布网站下载。此版本包含大量升级、修复和新功能。

在 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 issue 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 中禁用渲染进程重用的能力。请阅读此议题,了解包括建议时间表在内的全部详情。