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!Bug 和功能请求可以在 Electron 的问题跟踪器中报告。
重要变更
技术栈变更
- 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。
ASAR 完整性功能升级为稳定版
一个长期存在的“实验性”功能——ASAR 完整性——现在在 Electron 39 中已稳定。当您启用此功能时,它会在运行时根据构建时哈希验证您的打包 app.asar 以检测任何篡改。如果不存在哈希或哈希不匹配,应用程序将强制终止。
有关该功能如何工作、如何在应用程序中使用以及如何在 Electron Forge 和 Electron Packager 中使用的完整信息,请参阅ASAR 完整性文档。
相关新闻,Electron Packager v19 现在默认启用 ASAR。#1841
新特性与改进
- 添加了
app.isHardwareAccelerationEnabled()。#48680 - 在离屏渲染中添加了支持 scRGB HDR 颜色空间的
RGBAF16输出格式。#48504 - 添加了更精细的辅助功能管理方法。#48625
- 添加了对
USBDevice.configurations的支持。#47459 - 添加了在 Linux 上使用
systemPreferences.getAccentColor获取系统强调色的功能。#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 (2026 年 1 月) | E41 (2026 年 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 的公开时间线。
有关未来变更的更多信息,请参阅计划中的破坏性变更页面。






