跳转到主要内容

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!错误和功能请求可以在 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 添加了 fileBackedpurgeable 字段到 process.getSystemMemoryInfo()#48146 (同样包含在 37 中)
  • 为 macOS 添加了 guid Tray 构造函数选项,以允许托盘图标在启动之间保持位置。 #48077 (同样包含在 37 中)
  • 添加了 webFrameMain.fromFrameToken(processId, frameToken) 以从其 frame token 获取 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 支持

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

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

移除:ELECTRON_OZONE_PLATFORM_HINT 环境变量

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

Electron 现在默认在 Linux 上的 Wayland 会话中以原生 Wayland 应用程序的身份运行。在 Wayland 和 X11 中,某些功能和 API 的行为不同。您可以通过附加标志 --ozone-platform=x11 来强制 Electron 以 X11 兼容模式 (Xwayland) 运行,就像在旧版本中一样。

移除:plugin-crashed 事件

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

弃用:webFrame.routingId 属性

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

您应该使用 webFrame.frameToken 代替。

弃用:webFrame.findFrameByRoutingId(routingId)

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

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

谷歌夏季实习项目圆满结束

我们的两位 谷歌夏季实习项目 贡献者刚刚完成了他们的暑期项目!

  • @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 的公共时间线。

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