其他
Electron 28.0.0 正式发布,跨平台桌面应用开发工具!
12 月 5 日,Electron 28.0.0 正式发布!该版本包括了对 Chrome 120.0.6099.56、V8 12.0 和 Node.js 18.18.2 的升级。下面就来看看该版本都有哪些更新吧!
可以通过以下命令来安装最新版本:
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 版本。