跳转到主要内容

Electron 23.0.0

·阅读时长 4 分钟

Electron 23.0.0 已发布!它包含了 Chromium 110、V8 11.0 和 Node.js 18.12.1 的升级。此外,Windows 7/8/8.1 的支持已被移除。请继续阅读以获取更多详细信息!


Electron 团队很激动地宣布 Electron 23.0.0 的发布!您可以通过 npm install electron@latest 来安装它,或者从我们的 发布网站 下载。请继续阅读以获取关于此次发布的详细信息。

如果您有任何反馈,请在 Twitter 上告诉我们,或加入我们的社区 Discord!您可以在 Electron 的 issue tracker 中报告 Bug 和功能请求。

重要变更

技术栈变更

新特性

  • Display 对象添加了 label 属性。 #36933
  • 添加了 app.getPreferredSystemLanguages() API,用于返回用户系统的语言。 #36035
  • 添加了对 WebUSB API 的支持。 #36289
  • 添加了对 SerialPort.forget() 的支持,以及当某个来源被吊销时会在 Session 对象上发出的新事件 serial-port-revoked#35310
  • 添加了新的 win.setHiddenInMissionControl API,允许开发者在 macOS 上选择不显示 Mission Control。 #36092

停止支持 Windows 7/8/8.1

Electron 23 不再支持 Windows 7/8/8.1。Electron 遵循 Chromium 的计划弃用策略,该策略将在 Chromium 109 中 弃用 Windows 7/8/8.1 以及 Windows Server 2012 和 2012 R2 的支持(在此处阅读更多)

破坏性 API 变更

以下是 Electron 23 中引入的破坏性更改。您可以在 计划中的破坏性更改 页面上阅读有关这些更改以及未来更改的更多信息。

移除:BrowserWindow scroll-touch-* 事件

已移除 BrowserWindow 上已弃用的 scroll-touch-beginscroll-touch-endscroll-touch-edge 事件。请改用 WebContents 上新提供的 input-event 事件。

// Removed in Electron 23.0
-win.on('scroll-touch-begin', scrollTouchBegin)
-win.on('scroll-touch-edge', scrollTouchEdge)
-win.on('scroll-touch-end', scrollTouchEnd)

// Replace with
+win.webContents.on('input-event', (_, event) => {
+ if (event.type === 'gestureScrollBegin') {
+ scrollTouchBegin()
+ } else if (event.type === 'gestureScrollUpdate') +{
+ scrollTouchEdge()
+ } else if (event.type === 'gestureScrollEnd') {
+ scrollTouchEnd()
+ }
+})

20.x.y 版本支持终止

根据项目的 支持策略,Electron 20.x.y 版本已达到支持终止。鼓励开发者和应用程序升级到新版本的 Electron。

E22 (22年11月)E23 (2023年2月)E24 (2023 年 4 月)E25 (23年5月)E26 (23年8月)
22.x.y23.x.y24.x.y25.x.y26.x.y
21.x.y22.x.y23.x.y24.x.y25.x.y
20.x.y21.x.y22.x.y23.x.y24.x.y

下一步计划

短期内,您可以预期团队将继续专注于跟进构成 Electron 的主要组件(包括 Chromium、Node 和 V8)的开发。

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

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