Electron 11.0.0 和 11.0.1 现已发布。v11.0.0 主要更新内容如下:
重大变化
- 删除了实验性 API:
BrowserView.{destroy, fromId, fromWebContents, getAllViews}
和BrowserView
的id
属性。
Features
Additions
- 添加了新的实验性苹果芯片(darwin arm64)。
- 添加了新的 app.runningUnderRosettaTranslation 属性,以检测在 Apple 芯片上的 Rosetta 下运行时的情况。
- 向崩溃报告参数添加了 V8 崩溃消息和位置信息。
- 向控制台添加了一个小的控制台提示,以帮助调试渲染器崩溃。
- 添加了新
system-context-menu
事件,以防止和覆盖系统上下文菜单。 - 添加
webContents.forcefullyCrashRenderer()
以强制终止渲染器进程,以帮助恢复挂起的渲染器。 - 添加了
app.getApplicationInfoForProtocol()
API,该 API 返回有关处理特定协议的应用程序的详细信息。 - 添加
name
到app.getAppMetrics()
output。 - 向
app
添加了utility-process-gone
事件。 - ......
Improvements
- 改进了通过 context bridge 发送 JS primitives 的性能。
- 改进了通过 context bridge 发送 wide objects 的性能。
- 改进了带
--interactive
标志运行 Electron 时的默认 REPL 体验。 - 改进
takeHeapSnapshot()
的性能。 - 修改了 app.getLoginItemSettings() 和 app.setLoginItemSettings() API,以便在确定应用程序是否能够在登录时启动时,考虑到启动批准密钥。
- 从调试器模块显示与目标关联的 sessionId.
- 在 Windows 上实现
systemPreferences.getMediaAccessStatus()
。 - V8CacheOptions 是一个新的 webpreference 选项,用于强制执行代码缓存策略。
- 启用 disabled-by-default-v8.cpu_profiler 跟踪类别后,现在将从主进程和渲染器中收集 cpu 样本。
Removed/Deprecated
- 删除了实验性 API:
BrowserView.{destroy, fromId, fromWebContents, getAllViews}
和BrowserView
的id
属性。
Fixes
- 修复了打印时不能正确使用 pageRanges 的问题。
- 修复了一个问题,当渲染器进程中出现一些错误时,损坏的 async_hooks 堆栈会使渲染器崩溃。
- 修复了在 macOS 上打开 devtools 时,可拖动区域停止工作的问题。
- 修复了 window.open 不接受以“px”结尾的大小值的问题。
- 修复了当包含的
BrowserWindow
被调整大小时,BrowserViews 上的可拖动区域不能正确更新的问题。 - 修复了在未启用 VoiceOver 的情况下 macOS Catalina 上的悬停文本无法工作的问题。
- ......
对 8.xy 的支持终止
根据项目的支持政策, Electron 8.xy 已达到支持终止。鼓励开发人员和应用程序升级到更高版本的 Electron。
更新说明:https://github.com/electron/electron/releases/tag/v11.0.0
v11.0.1 主要更新内容如下:
Fixes
- 修复了打开 DevTools 时出现的 Uncaught TypeError 问题。
- 删除了阻止 Mac App Store releases 的私有 API 使用。
更新说明:https://github.com/electron/electron/releases/tag/v11.0.1