Electron 11 正式发布:支持苹果 M1 芯片

14 min read

本月 17 日,Electron 11.0.0 正式发布了。该版本包括对 Chromium 87、V8 8.7 和 Node.js 12.18.3 的升级。我们还添加了对 Apple silicon 的支持和一些常规改进。请阅读本文了解升级细节!

Electron 团队很高兴发布了 Electron 11.0.0 版本!你可以使用 npm install electro@latest 命令,通过 npm 安装它,或从我们的发行版网站下载。该版本添加了对 Apple M1 硬件的全新支持,还有一些修复和更新。

我们迫不及待想看到大家使用新版本的体验!请与我们分享你的任何反馈!

主要更改

栈更改

Chromium 87.0.4280.47

Chrome 86的新特性

Chrome 87的新特性

Node.js 12.18.3

Node 12.18.3博客文章

Node 12.7.0博客文章

V8 8.7

V8 8.6博客文章

V8 8.7博客文章

亮点特性

支持苹果 M1:11 月 10 日,苹果发布了他们全新的 M1 芯片系列,这些芯片安装在了近日推出的多款 Mac 中。从 Electron 11 开始,Electron 将为 Intel Macs(x64)和苹果新推出的 M1 硬件(arm64)分别发布独立版本的 Electron。你可以在此处了解关于让 Electron 应用在苹果的 M1 硬件上运行的更多信息。#24545

向 crashReport 参数添加了 V8 崩溃消息和位置信息。#24771

改进了通过 context bridge 发送宽对象的性能。#24671

有关新特性和更改的完整列表,请参见11.0.0发行说明。

重大更改

移除了一些实验性 API:BrowserView.{fromId, fromWebContents, getAllViews}和 BrowserView 的 id 属性。#23578

可在“计划的重大更改”页面上找到有关这些更改和未来更改的更多信息。

API 更改

添加了 app.getApplicationInfoForProtocol()API,该 API 返回有关处理特定协议的应用的详细信息。#24112

添加了 app.createThumbnailFromPath()API,该 API 在给定文件路径和最大缩略图大小的情况下返回文件的预览图像。#24802

添加了 webContents.forcefullyCrashRenderer()以强制终止渲染器进程,以帮助恢复挂起的渲染器。#25756

对 8.x.y 的支持终止

根据项目的支持政策,Electron 8.x.y 已达到支持终止阶段。我们鼓励开发人员和应用程序升级到更高版本的 Electron。

下一步计划

在短期内,团队的核心工作依旧是保持构成 Electron 的主要组件(包括 Chromium、Node 和 V8)跟上最新版本。尽管我们并不会对发布日期做出保证,但我们的计划是大约每个季度发布一个 Electron 的新主要版本,其中带有这些组件的新版本。暂定的12.0.0时间表规划了 Electron 12.0 开发生命周期中的关键日期。另请参阅我们的版本控制文档,以获取有关 Electron 中版本控制的更多细节。

有关即将推出的 Electron 版本中计划的重大更改的信息,请参阅我们计划中的重大更改文档。

弃用 remote 模块的持续工作

我们在 Electron 9 中开始了移除 remote 模块的工作。我们计划在 Electron 14 中移除远程模块。

阅读并关注此问题,以获取有关弃用的完整计划和详细信息。

要求原生 Node 模块为 Context Aware 或 N-API 的最后步骤(在 Electron 12 中)

从 Electron 6 开始我们就一直在为“在渲染器进程中加载​​的 Node 模块必须是 N-API 或 Context Aware 的”这一要求做准备。实现这一更改可增强安全性、提高性能并减少维护工作量。该计划的最后一步是在 Electron 12 中禁用渲染进程重用。

阅读并关注此问题以获取完整细节,包括建议的时间表。