查看原文
其他

Electron 28.0.0 正式发布,跨平台桌面应用开发工具!

CUGGZ 前端充电宝 2023-12-28

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对象添加了几个属性,包括detectedmaximumCursorSizenativeOrigin
  • 在Linux上添加了对ELECTRON_OZONE_PLATFORM_HINT环境变量的支持。
  • 添加了API以帮助应用了解何时避免使用半透明背景。
  • 添加了getWebRTCUDPPortRangesetWebRTCUDPPortRange API,用于指定WebRTC的UDP端口范围。
  • ses.setPermissionRequestHandler(handler)中添加了keyboardLock
  • 为Windows添加了mouse-entermouse-leave Tray事件。
  • webContents.printToPDF()中添加了generateTaggedPDF选项,允许生成带标签(可访问)的PDF。
  • BrowserWindow添加了tabbingIdentifier属性。
  • 在托盘图标中添加了中键鼠标事件。
  • 添加了对chrome.scripting扩展API的支持。
  • 添加了对更多扩展清单键的支持,包括host_permissionsauthorshort_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 版本。

往期推荐

盘点2023年前端大事件

10分钟搞定前端虚拟列表

2024 年 Vue 发展预测

Vue 又更新了,性能大幅提升!

尤雨溪都在推荐的 Vue 拖拽库!

Astro,这个前端框架有点不一样!

Vite 5.0 正式发布

继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存