跳转到主要内容

Electron 18.0.0

·阅读时长 4 分钟

Electron 18.0.0 已发布!它包含了对 Chromium 100、V8 10.0 和 Node.js 16.13.2 的升级。请阅读下文了解更多详情!


Electron 团队很高兴地宣布 Electron 18.0.0 的发布!您可以通过 npm 使用 npm install electron@latest 来安装它,或者从我们的发布网站下载。请继续阅读有关此版本的详细信息,并分享您的任何反馈!

重要变更

Electron 发布节奏变更

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

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

技术栈变更

亮点功能

  • 添加了 ses.setCodeCachePath() API 用于设置代码缓存目录。#33286
  • 移除了旧的基于 BrowserWindowProxywindow.open 实现。这也从 webPreferences 中移除了 nativeWindowOpen 选项。#29405
  • WebContents 添加了 'focus' 和 'blur' 事件。#25873
  • 在 macOS 上添加了“替换”菜单角色:showSubstitutionstoggleSmartQuotestoggleSmartDashestoggleTextReplacement#32024
  • app.requestSingleInstanceLock() 流程中添加了 first-instance-ack 事件,允许用户将数据从第一个实例无缝传输到第二个实例。#31460
  • setBackgroundColor 中增加了对更多颜色格式的支持。#33364

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

破坏性与 API 变更

以下是 Electron 18 中引入的破坏性变更。有关这些及未来变更的更多信息,可以在计划的破坏性变更页面上找到。

已移除:nativeWindowOpen

在 Electron 15 之前,window.open 默认被封装以使用 BrowserWindowProxy。这意味着 window.open('about:blank') 无法用于同步打开可编写脚本的子窗口,以及其他不兼容性。从 Electron 15 开始,nativeWindowOpen 已默认启用。

有关 Electron 中 window.open 的更多详情,请参阅相关文档。在 #29405 中移除。

终止对 14.x.y 的支持

根据项目的支持政策,Electron 14.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 的公开时间线

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