跳转到主要内容

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 install electron@latest 使用 npm 进行安装,或从我们的 发布网站 下载。请继续阅读有关此版本详情,并分享您的任何反馈!

重要变更

Electron 发布节奏变更

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

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

技术栈变更

亮点功能

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

请参阅 16.0.0 版本说明,了解新功能和更改的完整列表。

破坏性变更

以下是 Electron 16 中引入的破坏性更改。有关这些更改以及未来更改的更多信息,请访问 计划的破坏性更改 页面。

构建原生模块

如果您的项目使用 node-gyp 来构建原生模块,则可能需要使用 --force-process-config 来调用它,具体取决于您的项目设置和 Electron 版本。有关此更改的更多信息,请参阅 #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 的公开时间线

有关未来变更的更多信息,请参阅计划中的破坏性变更页面。