跳至主要内容

Electron 16.0.0

·阅读 4 分钟

Electron 16.0.0 已发布!它包含了对 Chromium 96、V8 9.6 和 Node.js 16.9.1 的升级。阅读下文了解更多详情!


Electron 团队很高兴宣布 Electron 16.0.0 的发布!您可以通过 npm 安装它,命令为 npm install electron@latest,或从我们的版本发布网站下载。请继续阅读以了解有关此版本的详细信息,并欢迎分享您的任何反馈!

值得注意的变更

Electron 版本发布周期变更

自 Electron 15 起,Electron 将每 8 周发布一个新的主要稳定版本。您可以在此处阅读完整详情

此外,直到 2022 年 5 月,Electron 支持的版本已从最新的三个版本更改为最新的四个版本。有关 Electron 版本控制的更多详细信息,请参阅我们的版本控制文档。2022 年 5 月之后,我们将恢复支持最新的三个版本。

技术栈变更

突出特性

  • 现支持 WebHID API。#30213
  • app.requestSingleInstanceLock 中添加 data 参数,用于在不同实例间共享数据。#30891
  • 将 securityOrigin 传递给媒体权限请求处理程序。#31357
  • 添加 commandLine.removeSwitch#30933

有关新特性和变更的完整列表,请参阅 16.0.0 版本发布说明

重大变更

以下是 Electron 16 中引入的重大变更。有关这些和未来变更的更多信息,请访问计划中的重大变更页面。

构建原生模块

如果您的项目使用 node-gyp 构建原生模块,根据您的项目设置和 Electron 版本,您可能需要使用 --force-process-config 参数来调用它。有关此变更的更多信息,请参阅#2497

行为变更:Linux 上 crashReporter 的实现已切换到 Crashpad

Linux 上 crashReporter API 的底层实现已从 Breakpad 更改为 Crashpad,使其与 Windows 和 Mac 保持一致。因此,子进程现在会自动受到监控,不再需要在 Node 子进程中调用 process.crashReporter.start(也不建议这样做,因为它会启动第二个 Crashpad 报告器实例)。

Linux 上报告注解的方式也有一些细微变化,包括长值将不再在附加了 __1__2 等的注解之间分割,而是会被截断到(新的、更长的)注解值限制。

API 变更

Electron 16 中没有 API 变更。

已移除/已弃用变更

  • 在渲染器进程中使用 desktopCapturer.getSources API 已被弃用并将被移除。此变更提高了 Electron 应用的默认安全性。有关如何在应用中替换此 API 的详细信息,请参阅此处

终止支持 12.x.y

根据项目的支持政策,Electron 12.x.y 已达到支持终止日期。建议开发者和应用程序升级到更新的 Electron 版本。

自 Electron 15 起,直到 2022 年 5 月的 Electron 19 版本,我们将支持的版本从最新的三个更改为最新的四个。在 Electron 19 之后,我们将恢复支持最新的三个版本。此版本支持变更是我们新的发布周期变更的一部分。请参阅此处我们的博客文章了解完整详情

E15 (21 年 9 月)E16 (21 年 11 月)E17 (22 年 2 月)E18 (22 年 3 月)E19 (22 年 5 月)
15.x.y16.x.y17.x.y18.x.y19.x.y
14.x.y15.x.y16.x.y17.x.y18.x.y
13.x.y14.x.y15.x.y16.x.y17.x.y
12.x.y13.x.y14.x.y15.x.y--

接下来

短期内,您可以期待团队继续专注于与构成 Electron 的主要组件(包括 Chromium、Node 和 V8)的开发保持同步。虽然我们谨慎地不承诺发布日期,但我们的计划是大约每 2 个月发布一个包含这些组件新版本的新主要 Electron 版本。

您可以在此处找到 Electron 的公开时间表

有关未来变更的更多信息,请访问计划中的重大变更页面。