跳转到主要内容

Electron 38.0.0

·阅读时长 5 分钟

Electron 38.0.0 已发布!它包括 Chromium 140.0.7339.41、V8 14.0 和 Node 22.16.0 的升级。


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

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

重要变更

技术栈变更

Electron 38 将 Chromium 从 138.0.7204.35 升级到 140.0.7339.41,Node 从 22.16.0 升级到 22.18.0,V8 从 13.8 升级到 14.0

新特性与改进

  • 新增支持自定义系统强调色和活动窗口边框高亮显示。#47285(也包含在 37 中)
  • 在 macOS 上为 process.getSystemMemoryInfo() 添加了 fileBackedpurgeable 字段。#48146(也包含在 37 中)
  • 在 macOS 上为 Tray 构造函数选项添加了 guid 支持,以允许托盘图标在启动后保持位置。#48077(也包含在 37 中)
  • 添加了 webFrameMain.fromFrameToken(processId, frameToken) 以从其帧令牌获取 WebFrameMain 实例。#47942
  • 在 Windows 和 macOS 上添加了对 app.getRecentDocuments() 的支持。#47924(也包含在 37 中)
  • 内部切换到使用 DIR_ASSETS 而不是 DIR_MODULE/DIR_EXE 来定位资产和资源,并添加了“assets”作为可以通过 app.getPath 查询的键。#47950(也包含在 37 中)
  • 修复了 dialog.showMessageDialog 在传入父窗口时,错误地将窗口居中显示在监视器而非父窗口的问题。#48215
  • 修复了 macOS 用户无法与通过 loadURL 加载的网页交互的问题。#47575

破坏性变更

已移除:macOS 11 支持

Chromium 不再支持 macOS 11 (Big Sur)。

旧版本的 Electron 将继续在 Big Sur 上运行,但运行 Electron v38.0.0 及更高版本需要 macOS 12 (Monterey) 或更高版本。

已移除:ELECTRON_OZONE_PLATFORM_HINT 环境变量

--ozone-plaftform 标志的默认值已更改为 auto

您应该使用 XDG_SESSION_TYPE=wayland 环境变量来使用 Wayland。

已移除:plugin-crashed 事件

webContents 中的 plugin-crashed 事件已移除。

已弃用:webFrame.routingId 属性

webFrame 对象中的 routingId 属性将被移除。

您应该使用 webFrame.frameToken 代替。

已弃用:webFrame.findFrameByRoutingId(routingId)

webFrame.findFrameByRoutingId(routingId) 函数将被移除。

您应该使用 webFrame.findFrameByToken(frameToken) 代替。

Google 编程之夏活动结束

我们的两名 Google 编程之夏贡献者刚刚完成了他们的夏季项目!

  • @nilayarya 在 Electron 核心中创建了一个新的保存/恢复窗口状态 API。新的 API 将提供一种内置的、标准化的方式来处理窗口状态持久性。请参阅 Nilay 的原始 RFC:electron/rfcs#16
  • @hitarth-gg 投入了大量精力,使用 Chrome Manifest V3 API 现代化了长期休眠的 Devtron 扩展。这个项目为开发人员提供了调试 IPC 通信、跟踪事件监听器以及可视化其 Electron 应用程序中的模块依赖项的工具。

请继续关注更详细的博客文章,其中将概述他们的项目和成果。

35.x.y 版本停止支持

根据项目的支持政策,Electron 35.x.y 已停止支持。建议开发者和应用程序升级到较新版本的 Electron。

E38(25 年 9 月)E39 (25年10月)E40(26 年 1 月)
38.x.y39.x.y40.x.y
37.x.y38.x.y39.x.y
36.x.y37.x.y38.x.y

下一步计划

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

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

有关未来变更的更多信息,请参阅计划中的破坏性变更页面。