Electron 39.0.0 发布,跨平台桌面应用开发工具


Electron 是一个基于 Node.js 和 Chromium 的框架,允许开发者使用 JavaScript、HTML 和 CSS 构建可在 Mac、Windows 和 Linux 上运行的跨平台桌面应用程序。它被广泛应用于 Atom 编辑器及其他众多桌面软件的开发。
最新版本 Electron v39.0.0 已正式推出,主要更新包括:
技术栈升级
- Chromium 升级至
142.0.7444.52- 包含 Chromium 142 的新特性
- 包含 Chromium 141 的改进内容
- Node.js 更新为
22.20.0- 可参考 Node 22.20.0 官方博客了解详情
- V8 引擎升级至
14.2
破坏性变更
- 在
webContents.on('paint')事件中,offscreen shared texture 的信息新增了colorSpace字段。- 调整了
OffscreenSharedTexture的结构定义,引入统一的handle来管理原生句柄。#47315
- 调整了
- 修复了
window.open的标准兼容问题,此前该方法未能正确创建可调整大小的弹出窗口,现已修正。#47540
关于 Chromium 带来的其他重大变更,请查阅相关技术博客
新功能
新增功能
- 为离屏渲染(Offscreen Rendering)增加对 scRGB HDR 色彩空间的支持,新增
RGBAF16输出格式。#48504 - macOS 平台下,
process.getSystemMemoryInfo()方法现在返回fileBacked和purgeable字段,提供更详细的内存信息。#47628 - macOS 托盘图标(
Tray)构造函数新增guid参数支持,确保应用多次启动后图标位置保持一致。#47838 - 新增
webFrameMain.fromFrameToken(processId, frameToken)方法,可通过 frame token 获取对应的WebFrameMain实例。#47850 - 增加对可访问性(Accessibility)功能更精细化的控制接口。#48625
- Windows 和 macOS 现在支持
app.getRecentDocuments()方法,可获取最近打开的文档列表。#45839 - 添加对
USBDevice.configurations属性的支持,增强 USB 设备操作能力。#47459 - Linux 系统中可通过
systemPreferences.getAccentColor获取系统主题强调色。#48628 - Windows 平台支持在窗口创建后通过
{get|set}AccentColor动态修改窗口强调色。#47741 - 支持在指定会话中持久化保存文件系统 API 的权限授权状态。#48326
- 内部资源定位机制由
DIR_MODULE/DIR_EXE迁移至DIR_ASSETS,并新增可通过app.getPath('assets')访问的路径键。#47439 - 允许在非上下文隔离的预加载脚本中导入动态 ESM 模块。#48488
问题修复
- 修复
systemPreferences.getAccentColor导致颜色显示异常反转的问题。#48624 - 修复在 Wayland 环境下调用
webContents.openDevTools({ mode: 'detach' })引发崩溃的 bug。#48623 - 解决访问
webContents.session时可能发生的崩溃问题。#48344 - 修复 inspector agent 在尝试评估临时帧(provisional frames)时崩溃的问题。#48515
- 修复从命令行传入形如
--enable-features=Feature:ParamA/Value的参数时导致的崩溃。#48442
完整更新日志:https://www.php.cn/link/3a1d84f752947c47e87f7cfdc42a63b0
源码下载地址:点击获取
下一篇 >>
网友留言(0 条)