跳转到主要内容

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 周发布一个新的主要稳定版本。您可以在此处阅读完整详情

此外,在 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 起,在 Electron 19 之前,我们已将支持版本从最新的三个版本更改为最新的四个版本,直到 2022 年 5 月。在 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 的公开时间线

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