Electron 39.0.0
Electron 39.0.0 已发布!它包括对 Chromium 142.0.7444.52、V8 14.2 和 Node 22.20.0 的升级。
Electron 团队很高兴地宣布 Electron 39.0.0 的发布!您可以使用 npm 通过 npm install electron@latest 安装它,或从我们的 发布网站 下载它。继续阅读以了解此版本的详细信息。
如果您有任何反馈,请在 Bluesky 或 Mastodon 上与我们分享,或加入我们的社区 Discord!错误和功能请求可以在 Electron 的 问题跟踪器 中报告。
值得注意的变化
ASAR 完整性已升级到稳定版
一个长期存在的“实验性”功能——ASAR 完整性——现在在 Electron 39 中稳定了。当您启用此功能时,它会在运行时根据构建时哈希验证您打包的 app.asar,以检测任何篡改。如果不存在哈希或哈希不匹配,应用程序将强制终止。
请参阅 ASAR 完整性文档,了解有关该功能如何工作、如何在应用程序中使用它以及如何在 Electron Forge 和 Electron Packager 中使用它的完整信息。
相关新闻,Electron Packager v19 现在默认启用 ASAR。 #1841
堆栈变化
- Chromium
142.0.7444.52 - Node
22.20.0 - V8
14.2
Electron 39 将 Chromium 从 140.0.7339.41 升级到 142.0.7444.52,将 Node.js 从 22.18.0 升级到 v22.20.0,将 V8 从 14.0 升级到 14.2。
新功能和改进
- 新增
app.isHardwareAccelerationEnabled()。 #48680 - 为 Offscreen Rendering 添加了
RGBAF16输出格式,支持 scRGB HDR 色彩空间。 #48504 - 添加了方法以启用更精细的可访问性支持管理。 #48625
- 添加了对
USBDevice.configurations的支持。 #47459 - 添加了使用
systemPreferences.getAccentColor在 Linux 上检索系统强调色的功能。 #48628 - 允许在给定的会话中持久化文件系统 API 授权状态。 #48326 (同时包含在 37, 38 中)
- 支持在非上下文隔离的预加载脚本中使用动态 ESM 导入。 #48488 (同时包含在 37, 38 中)
- 将 ASAR 完整性 功能标记为稳定。 此功能先前为实验性功能。 #48434
破坏性变更
弃用:--host-rules 命令行开关
Chromium 正在弃用 --host-rules 开关。
您应该改用 --host-resolver-rules。
行为变更:window.open 弹窗始终可调整大小
根据当前的 WHATWG 规范,window.open API 现在将始终创建一个可调整大小的弹窗。
要恢复以前的行为
webContents.setWindowOpenHandler((details) => {
return {
action: 'allow',
overrideBrowserWindowOptions: {
resizable: details.features.includes('resizable=yes'),
},
};
});
行为变更:共享纹理 OSR paint 事件数据结构
在使用共享纹理离屏渲染功能时,paint 事件现在会发出一个更结构化的对象。 它将 sharedTextureHandle、planes、modifier 移动到一个统一的 handle 属性中。 详情请参阅 OffscreenSharedTexture 文档。
36.x.y 版本停止支持
Electron 36.x.y 已达到停止支持期限,符合项目的 支持策略。 鼓励开发者和应用程序升级到较新版本的 Electron。
| E39 (25年10月) | E40(26 年 1 月) | E41 (26年2月) |
|---|---|---|
| 39.x.y | 40.x.y | 41.x.y |
| 38.x.y | 39.x.y | 40.x.y |
| 37.x.y | 38.x.y | 39.x.y |
接下来是什么
短期内,您可以预期团队将继续专注于跟进构成 Electron 的主要组件(包括 Chromium、Node 和 V8)的开发。
您可以在 此处 找到 Electron 的公共时间线。
有关未来变更的更多信息,请参见 计划中的破坏性变更 页面。
