2 月 20 日,Electron 29.0.0 正式发布!该版本包括了对 Chrome 122.0.6261.39、V8 12.2 和 Node.js 20.9.0 的升级。下面就来看看该版本都有哪些更新吧!
可以通过以下命令来安装最新版本:
npminstall electron@latest
依赖更新
Chrome 122.0.6261.39
V8 12.2
Node.js 20.9.0
重大变化
通过
contextBridge
调用的函数现在使用预期的接收者(
this
)来调用(也适用于 27、28 版本)。
应用上的
gpu-process-crashed
事件已被弃用(也适用于 28 版本)。
应用上已弃用的
gpu-process-crashed
事件已被移除。
应用上的已弃用的
renderer-process-crashed
事件以及
WebContents
和
<webview>
上的
crashed
事件已被移除。
新特性
新增功能
添加了
WebContentsView
和
BaseWindow
,取代了现已弃用的 BrowserView API。
在
ses.setPermissionRequestHandler(handler)
中添加了
keyboardLock
(也适用于版本 26、27、28)。
在
protocol.registerSchemesAsPrivileged
中添加了一个选项,允许在自定义方案中缓存 V8 代码(也适用于版本 27、28)。
在实用程序中添加了
net
模块(也适用于版本 27、28)。
添加了新的 Electron Fuse,将
file://
协议选择为与 Chromium 匹配的更安全、更严格的行为。
添加了新的
webUtils.getPathForFile
方法,以替代
File.path
的增强功能。
添加了通过
.npmrc
配置
use_remote_checksums
的支持。
将
app.{set|get}LoginItemSettings(settings)
迁移到 macOS 上的 Apple 推荐的新底层框架。
此 PR 向 display 对象添加了几个属性,包括
detected
、
maximumCursorSize
和
nativeOrigin
(也适用于版本 28)。
弃用功能
从 Windows zip 文件中移除了多余的
dll
文件(也适用于版本 28)。
问题修复
添加了
ThumbnailCapturerMac
和
ScreenCaptureKitStreamPickerSonoma
这两个 Chromium 特性标志的支持,以在 macOS 14.4 上绕过弃用 API 的警告。
修复了 Electron 29.0.0-beta.3 中的一个回归问题,该问题可能导致上下文菜单在错误的位置弹出。
修复了在启用
contextIsolation
的渲染进程中
import.meta.url
不工作的问题。
修复了原始
original-fs
方法在已修补的导入中未正确修正的问题。
修复了跨平台时
draggable
区域不起作用的问题。
修复了
MessagePort::close
中的崩溃问题。
修复了
GrantFileProtocolExtraPrivileges
未正确阻止对
file://
URLs 的
fetch()
调用的问题。
注意事项
根据项目的支持政策,Electron 26.x.y 已经达到了支持结束的状态,鼓励开发者和应用升级到更新的 Electron 版本。