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 中引入但已回port到先前版本中的更改。我们希望这能让应用在升级 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 issue 1113227)。#24998
有关新功能和更改的完整列表,请参阅10.0.0 发布说明。
重大变更
- 将
enableRemoteModule
的默认值更改为 false
。#22091
- 这是我们弃用
remote
模块并将其移至 userland 的计划的一部分。您可以阅读并关注此问题,其中详细说明了我们这样做的原因以及拟定的弃用时间表。
- 将
app.allowRendererProcessReuse
的默认值更改为 true
。#22336 (也在Electron 9 中)
- 这将阻止在渲染器进程中加载非上下文感知(non-context-aware)的原生模块。
- 您可以阅读并关注此问题,其中详细说明了我们这样做的原因以及拟定的弃用时间表。
- 修复了 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 中,我们计划像在 Electron 10 中一样,继续重构工作以实现 WeakRef。请阅读并关注此问题,以获取弃用的完整计划和详细信息。
要求原生 Node 模块为上下文感知(Context Aware)或 N-API 的最后一步 (Electron 12)
编辑:最初,这篇博客文章指出我们将在 Electron 11 中禁用渲染器进程重用。现在,禁用渲染器进程重用已被推迟到 Electron 12。
从 Electron 6 开始,我们一直在为要求在渲染器进程中加载的原生 Node 模块必须是N-API 或上下文感知(Context Aware)奠定基础。强制执行此更改可以增强安全性、提高性能并减少维护工作量。此计划的最后一步是在 Electron 12 中移除禁用渲染器进程重用的能力。阅读此问题以获取包括拟定时间表在内的完整详细信息。