跳到主要内容

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 问题 1113227)。 #24998

有关新功能和更改的完整列表,请参阅 10.0.0 发布说明

破坏性更改

  • enableRemoteModule 的默认值更改为 false#22091
    • 这是我们弃用 remote 模块并将其迁移到用户空间计划的一部分。 您可以阅读并关注此议题,其中详细说明了我们的理由,并包含了弃用的拟定时间表。
  • app.allowRendererProcessReuse 的默认值更改为 true#22336 (也包含在 Electron 9 中)
    • 这将阻止在渲染进程中加载非上下文感知的原生模块。
    • 您可以阅读并关注此议题,其中详细说明了我们的理由,并包含了弃用的拟定时间表。
  • 修复了在 macOS 上当操作系统区域设置为 RTL 语言(如阿拉伯语或希伯来语)时窗口按钮的定位问题。无边框窗口应用程序在设置窗口样式时可能需要考虑此更改。 #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 中禁用渲染进程复用的能力。 请阅读此议题,了解包括拟定时间表在内的完整详细信息。