Electron 14.0.0 现已发布,主要更新内容如下:
Stack Upgrades
- Chromium 93.0.4577.58.
- Node v14.17.0.
- V8
Breaking Changes
- 子窗口不再从其父窗口继承 BrowserWindow 构造选项。
- 不推荐使用的
worldSafeExecuteJavaScript
选项已从webPreferences
中移除。 - 从
new-window
和did-create-window
WebContents 事件中删除了已被废弃的additionalFeatures
属性。 - 删除了已废弃的
app.allowRendererProcessReuse
和 BrowserWindowaffinity
选项。
Features
- Additions
- 添加
BrowserWindow.isFocusable()
用于确定窗口是否可聚焦。 - 添加了
WebFrameMain.visibilityState
实例属性。 - 在传递给用
setWindowOpenHandler
注册的窗口打开处理程序的细节对象中添加了disposition
,referrer
和postBody
。 - 添加了
@electron/remote
使用的process.contextId
。 - 在 Electron Fuse 后面添加了实验性 cookie 加密支持。
- 为
webRequest
listener details 添加了缺失的resourceType
转换:font
、ping
、cspReport
、media
、webSocket
。 - 添加了新的
session.storagePath
API 以获取磁盘上会话特定数据的路径。 - 添加
webContents.fromDevToolsTargetId(targetId)
以从关联的 Chrome DevTools 协议 TargetID 中查找 WebContents 实例。 - 在 macOS 上增加了对 Windows Control Overlay 的支持。
- 在 Windows 上添加了对 Windows Control Overlay 的支持。
- 添加了对调试 URL 的支持,如
chrome://gpucrash
。 - 添加了对将 Chromium 日志记录到带有. 此外,现在可以通过在第一个 JS 滴答期间附加命令行开关来启用 JavaScript 的日志记录。增加了对 Chromium 日志的支持,即用
--log-file=.../path/to/file.log
来引导 Chromium 的日志。另外,现在也可以通过在第一个 JS tick 期间添加命令行开关来启用 JavaScript 的日志记录。 - 在节点加密中添加了对 des-ede3 密码的支持。
- 增加了
ContextBridgeMutability
功能,在暴露值时跳过了 Context Bridge DeepFreeze 和 SetReadOnlyNonConfigurable。
- 添加
- Improvements
- 改进了通过 contextBridge 来回发送的函数的性能特征。
- 改进了
napi_threadsafe_function
的性能。
- Removed/Deprecated
- 当
uploadToServer
为false时,crashReporter.start
的submitURL
选项不再是一个必要的参数。
- 当
- Fixes
- 允许 Node.js 在调用
uv_run()
之前使用显式微任务策略管理微任务队列。 - 允许从自定义协议和 asar 包加载 source maps。
- 具有指定背景颜色或透明度的子窗口现在可以按预期工作。
- 从
systemPreferences.getAccentColor()
、getSystemColor
和getColor
返回的颜色现在被正确地转换成设备的色彩空间。之前的颜色会有细微的不正确。 - Electron Fuses 现在跨平台的顺序一致。
- 修复了
fs.promises.readFile
在向路径参数传递一个FileHandle
时会出现不恰当的错误的问题。 - 修复了当通过需要认证的代理连接已注册 WebRequest 监听器的应用程序时,CORS 预检请求总是被取消。
- 更多更新说明......
- 允许 Node.js 在调用
终止对 11.xy 的支持
根据项目的支持政策,Electron 11.xy 已终止支持。鼓励开发人员和应用程序升级到较新版本的 Electron。
下一节:Facebook 官方宣布开源其用于 Web 规模服务的缓存引擎 CacheLib。