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 版本。

责任编辑:姜华 来源: 前端充电宝
相关推荐

2024-02-21 09:43:50

ElectronNode.js前端

2023-06-03 00:04:43

Electron版本安全

2023-10-11 10:03:33

Electron桌面应用开发工具

2023-08-16 00:52:31

Electron开发工具

2023-04-05 22:42:08

Electronsize工具

2012-03-05 09:34:59

PhoneGapSencha ToucJQTouch

2015-03-30 16:00:21

Windows应用少开发工具

2016-06-06 17:26:22

平台开发

2012-06-27 17:06:18

移动互联网移动应用跨平台开发工具

2012-02-09 16:45:41

2017-10-25 08:53:52

2013-09-10 10:44:39

移动开发工具游戏引擎

2011-05-11 10:39:51

XcodeiOS

2012-05-24 13:25:37

TitaniumPhoneGapAppcelerato

2012-05-17 11:28:32

2011-06-01 11:08:08

J2EE

2012-03-07 16:15:22

GWTPhoneGap

2016-05-16 09:32:04

移动开发工具技术

2013-04-27 15:13:23

跨平台

2014-06-04 10:37:20

CrossApp开源跨平台开发引擎
点赞
收藏

51CTO技术栈公众号