Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台的桌面应用程序。它基于 Node.js 和 Chromium,被 Atom 编辑器和许多其他应用程序使用。Electron 兼容 Mac、Windows 和 Linux,可以构建出三个平台的应用程序。
Electron v27.0.0 更新内容如下:
Stack Upgrades
- Chromium
118.0.5993.32
- New in 117
- New in 118
- Node
18.17.1
- Node 18.17.1 blog post
- V8
11.8
Breaking Changes
- macOS 10.13 和 10.14 支持已移除。38891
ipcRenderer.sendTo()
API 已被弃用,转而支持MessageChannel
在两个渲染器之间共享。#39091IpcRendererEvent
的senderId
和senderIsMainFrame
属性已被弃用。#39381systemPreferences.getAppLevelAppearance
和systemPreferences.setAppLevelAppearance
API 已被弃用,systemPreferences.getColor
的alternate-selected-control-text
值也已被弃用。#39343- 删除了
systemPreferences.getAppLevelAppearance
、systemPreferences.setAppLevelAppearance
和systemPreferences.appLevelAppearance
API,以及systemPreferences.getColor
的alternate-selected-control-text
值。#39804 webContents.getPrinters
API 已被弃用。#39356- 已弃用的
webContents.getPrinters()
API 已被删除。#39735 - systemPreferences 中已弃用的配色方案更改事件已被删除。#39341
Features
Additions
- 添加了
safeStorage.setUsePlainTextEncryption
和safeStorage.getSelectedStorageBackend
api。#38873 - 为通过
ipcRenderer.sendTo()
发送的信息添加了senderIsMainFrame
。#38868 - 添加了一个
tabbingIdentifier
属性到BrowserWindow
。#40082 - 为
webContents.openDevTools()
添加了一个title
参数,以指定 DevTools 窗口标题。#39047 - 添加了对
chrome.tabs.query
的部分支持。#39330 - 添加了对 --dns-result-order Node.js cli flag 的支持。#39376
- 添加了对
chrome.scripting
扩展 API 的支持。#39675 - 添加了对默认数学字体以及其他字体的自定义的支持。#38514
- 添加了对将菜单标记为键盘启动的支持。#38903
- 在主进程中添加了对多个 Node.js cli flags 的支持。# 39344
- 添加了对更多扩展清单键的支持,包括
host_permissions
、author
和short_name
。#39672 - 添加了使用
session.downloadURL()
发送 HTTP headers 的功能。#38785 - 添加了使用
webContents.downloadURL()
发送 HTTP headers 的功能。# 39560 (也在25、26 ) - 在 Windows 上添加了对 WCO 的透明色支持。#39560
- BrowserWindow.getBrowserView() 开始保证返回 z-index 排序数组。#38943
- 添加了 BrowserWindow.showAllTabs api。#38965
- 在 Linux 上通过 xdg 设置入口检测系统的暗色主题偏好。#40010
- 公开 API 以允许应用程序确定是否避免使用半透明背景。#40074
- 支持 Chrome 扩展
minimum_chrome_version
清单密钥。#39256 node:
在events
、timers
和url
的沙盒渲染器预载中现在支持带前缀的 require 内容。# 38567
删除/弃用
app.runningUnderRosettaTranslation
属性已被弃用。 #39984enable_osr
build flag 已被删除。#38703enable_picture_in_picture
build flag 已被删除。#38620enable_run_as_node
build flag 已被删除,取而代之的是runAsNode
fuse。#38413
Fixes
- 修复了 frameless windows 上的 Windows 云Mica/Acrylic 背景材质效果。#39802
- 修复了
window.open
可能干扰 Node.js 各方面功能的问题。#38754 - 修复了在未定义
SharedArrayBuffers
的情况下,使用webcrypto.subtle.importKey()
可能会出错和失败的问题。#40100 - 修复了 Windows 上检测屏幕阅读器的方式以减少误报。#40065
- 修复了当浏览器打算进行页面内导航时,承诺提前解析的问题。#39260
- 修复了第一方集的同方 cookie 功能。#39976
- 修复了在 macOS 上不起作用的窗口大小限制。#39992
- 防止 DWM 重绘在不透明窗口上渲染的视频帧。#40003
详情可查看更新说明。