可以通过以下命令来安装最新版本:
npm install electron@latest
依赖更新
- Chromium 120.0.6099.56
- Node 18.18.2
- V8 12.0
重大变化
- BrowserWindow.getTrafficLightPosition()和BrowserWindow.setTrafficLightPosition()方法已被移除。
- app.runningUnderRosettaTranslation()方法已被移除。
- ipcRenderer.sendTo()方法已被移除。
- scroll-touch-{begin,end,edge}事件已被移除。
- 将backgroundThrottling设置为false将禁用BrowserWindow中所有由其显示的WebContents的帧节流。
新功能
补充内容
- 已启用ESM支持,除了在Electron本身中启用ESM支持外,Electron Forge还支持使用ESM来打包、构建和开发Electron应用程序。您可以在Forge v7.0.0或更高版本中找到此支持:https://github.com/electron/forge/releases/tag/v7.0.0
- UtilityProcess API现在支持ESM入口点。
- 向display对象添加了几个属性,包括detected、maximumCursorSize和nativeOrigin。
- 在Linux上添加了对ELECTRON_OZONE_PLATFORM_HINT环境变量的支持。
- 添加了API以帮助应用了解何时避免使用半透明背景。
- 添加了getWebRTCUDPPortRange和setWebRTCUDPPortRange API,用于指定WebRTC的UDP端口范围。
- 在ses.setPermissionRequestHandler(handler)中添加了keyboardLock。
- 为Windows添加了mouse-enter和mouse-leave Tray事件。
- 在webContents.printToPDF()中添加了generateTaggedPDF选项,允许生成带标签(可访问)的PDF。
- 向BrowserWindow添加了tabbingIdentifier属性。
- 在托盘图标中添加了中键鼠标事件。
- 添加了对chrome.scripting扩展API的支持。
- 添加了对更多扩展清单键的支持,包括host_permissions、author和short_name。
- 添加了使用webContents.downloadURL()发送HTTP头的功能。
- 将systemPreferences.getColor(name)的返回值从纯RGB(#RRGGBB)更改为RGBA十六进制值(#RRGGBBAA)。
- 在Linux上遵守XDG暗黑主题首选项。
- 通过传递虚拟的module.exports,改进了在沙盒化的preload脚本中与CommonJS模块的兼容性。
改进
- 改进了Linux上child_process API的fork()和execve()性能。
- 修复了macOS上的调整大小性能问题。
- 修复了DWM上不透明窗口性能退化的问题。
- 在macOS上重新启用了partition alloc。
已移除/已弃用
- 已弃用app.runningUnderRosettaTranslation属性。
- 已弃用app上的gpu-process-crashed事件。
- 已弃用app上的renderer-process-crashed事件,以及WebContents和<webview>上的crashed事件。
问题修复
- 修复了当未引用时,阻止MessagePorts进行垃圾回收的问题。
- 修复了在macOS Sonoma上错误激活面板窗口的问题。
- 修复了在Linux中传递给shell.showItemInFolder的文件路径未被转义的问题。
- 修复了在node_modules中加载嵌套的ESM依赖项的问题。在asar文件中的fs.statSync/fs.lstatSync中支持throwIfNoEntry选项。
- 修复了同一方Cookie功能对于第一方集的问题。
- 在macOS上使用activateIgnoringOtherApps来聚焦非面板。
注意事项
根据项目的支持政策,Electron 25.x.y 已经达到了支持结束的状态,鼓励开发者和应用升级到更新的 Electron 版本。