跳到主要内容

Electron 31.0.0

·3 分钟阅读

Electron 31.0.0 已发布!它升级了 Chromium 126.0.6478.36、V8 12.6 和 Node 20.14.0


Electron 团队很高兴宣布 Electron 31.0.0 发布!您可以使用 npm 通过 npm install electron@latest 安装它,或从我们的发布网站下载。请继续阅读以了解有关此版本的详细信息。

如果您有任何反馈,请通过TwitterMastodon 与我们分享,或加入我们的社区 Discord!错误和功能请求可以在 Electron 的问题追踪器中报告。

值得注意的变更

亮点

  • 扩展了 WebContentsView 以接受预先存在的 webContents 对象。 #42319
  • 添加了对 NODE_EXTRA_CA_CERTS 的支持。 #41689
  • 更新了 window.flashFrame(bool) 以在 macOS 上持续闪烁。 #41391
  • 移除了 WebSQL 支持 #41868
  • nativeImage.toDataURL 将保留 PNG 颜色空间 #41610
  • 扩展了 webContents.setWindowOpenHandler 以支持手动创建 BrowserWindow。 #41432

技术栈变更

Electron 31 将 Chromium 从 124.0.6367.49 升级到 126.0.6478.36,将 Node 从 20.11.1 升级到 20.14.0,将 V8 从 12.4 升级到 12.6

新功能

  • Session 添加了 clearData 方法。 #40983
    • Session.clearData API 添加了 options 参数。 #41355
  • 添加了在 navigator.serial 中支持通过服务类 ID 请求蓝牙端口。 #41638
  • 添加了对 Node 的 NODE_EXTRA_CA_CERTS 环境变量的支持。 #41689
  • 扩展了 webContents.setWindowOpenHandler 以支持手动创建 BrowserWindow。 #41432
  • 实现了对 Web 标准 文件系统 API 的支持。 #41419
  • 扩展了 WebContentsView 以接受预先存在的 WebContents 实例。 #42319
  • 在 webContents API 上添加了一个新的实例属性 navigationHistory,带有 navigationHistory.getEntryAtIndex 方法,使应用程序能够检索浏览历史中任何导航条目的 URL 和标题。 #41577 (也在 29, 30 中)

重大变更

移除:WebSQL 支持

Chromium 上游已移除对 WebSQL 的支持,将其转换为仅支持 Android。更多信息请参阅Chromium 移除意图讨论

行为变更:nativeImage.toDataURL 将保留 PNG 颜色空间

PNG 解码器的实现已更改为保留颜色空间数据。从此函数返回的编码数据现在与此一致。

更多信息请参阅 crbug.com/332584706

行为变更:win.flashFrame(bool) 将在 macOS 上持续闪烁 dock 图标

这使得该行为与 Windows 和 Linux 保持一致。先前的行为:第一次调用 flashFrame(true) 只会使 dock 图标跳动一次(使用 NSInformationalRequest 级别),而 flashFrame(false) 不起作用。新的行为:持续闪烁,直到调用 flashFrame(false)。这将改用 NSCriticalRequest 级别。若要明确使用 NSInformationalRequest 以使 dock 图标跳动一次,仍可使用 dock.bounce('informational')

28.x.y 版本停止支持

根据项目的支持政策,Electron 28.x.y 已达到停止支持的生命周期。建议开发者和应用程序升级到更新版本的 Electron。

E31 (24年6月)E32 (24年8月)E33 (24年10月)
31.x.y32.x.y33.x.y
30.x.y31.x.y32.x.y
28.x.y29.x.y31.x.y

后续计划

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

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

关于未来变更的更多信息可以在计划中的重大变更页面找到。