跳到主要内容

Electron 31.0.0

·阅读 4 分钟

Electron 31.0.0 已发布!它包括对 Chromium 126.0.6478.36、V8 12.6 和 Node 20.14.0 的升级。


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

如果您有任何反馈,请在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
  • 实现了对网络标准 文件系统 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 的公开时间表

有关未来更改的更多信息,请参阅计划中的重大变更页面。