跳过主内容

Electron 23.0.0

·阅读时长 3 分钟

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 安装:npm install electron@latest,或从我们的版本发布网站下载。请继续阅读以了解此版本的详细信息。

如果您有任何反馈,请在 Twitter 上与我们分享,或加入我们的社区 Discord!可以在 Electron 的问题跟踪器中报告 bug 和功能请求。

重要变更

技术栈变更

新特性

  • Display 对象添加了 label 属性。 #36933
  • 添加了 app.getPreferredSystemLanguages() API,用于返回用户的系统语言。 #36035
  • 添加了对 WebUSB API 的支持。 #36289
  • 添加了对 SerialPort.forget() 的支持,以及一个新的事件 serial-port-revoked,当给定来源被撤销时,该事件会在 Session 对象上触发。 #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 (23年2月)E24 (23年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 的公开时间表

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