Electron 7.0.0 稳定版正式发布了,Electron 是 GitHub 开发的跨平台桌面应用开发工具,支持使用 Web 技术开发桌面应用,其基于 C++ 开发,GUI 核心来自于 Chromium,而 JavaScript 引擎使用 V8。更新内容如下:
Notable Changes
Electron 的核心组件是 Chromium、Node.js 与 V8,按照国际惯例它一般都会与这些项目保持同步更新,以提供最新的 JavaScript 特性、性能改进和安全修复。在此版本中这三者分别升级内容如下:
- Chromium 78.0.3905.1
- Node.js 12.8.1
- V8 7.8
- 增加了 Windows on ARM(64位) 版本
- 为异步请求/响应的 IPC 添加了 ipcRenderer.Invoke() 和 ipcMain.Handle()
- 添加了 nativeTheme API 来读取和响应操作系统主题和颜色方案的变化
- 切换到新的 TypeScript Definitions 生成器,生成更加精确的定义
Breaking Changes
- 删除部分 API:
Tray.setHighlightMode()
(macOS)app.enableMixedSandbox()
#17894app.getApplicationMenu()
app.setApplicationMenu()
powerMonitor.querySystemIdleState()
powerMonitor.querySystemIdleTime()
webFrame.setIsolatedWorldContentSecurityPolicy()
webFrame.setIsolatedWorldHumanReadableName()
webFrame.setIsolatedWorldSecurityOrigin()
- Session.clearAuthCache() 不再过滤已清除的缓存条目
- MacOS 上的本机接口(菜单、对话框等)现在自动匹配用户机器上的暗模式设置
- 更新 electron 模块以使用 @Electronics/get,支持 Node 8
- Electron.asar 文件不再存在
New Features
- 所有异步 webContent/<webview> 方法现在返回一个 Promise
- 为 macOS 添加了 always-on-top-changed
- 在 Netlog API 中添加 captureMode 和 maxFileSize 选项
- 在 app.getAppMetrics() 输出中添加了 creationTime/sandbox/IntegrityLevel
- 向 webContents.print() 回调函数中添加了 failureReason 参数,以区分成功、失败和取消
- 为 BrowserView 添加了 getBalls() 方法
- 将 gpu-info-update 事件添加到 app 中,只要有 gpu 信息更新,就会发出 gpu-info 更新事件
- 在 app.getAppMetrics() 添加 memory
- 添加 process.getBlinkMemoryInfo()
- 在 webFrame/webContent/<webview> 中添加了 emoveInsertedCSS()
- 将 zoom-changed 事件添加到 webContent 中
- 增加打印自定义选项
- app.moveToApplicationsFold 添加了一个可选的冲突处理回调
- 支持 webFrame.sertCSS() 中的 CSS origin
- 在 Windows 上支持 Tray API 的 mouse-move 事件
- Windows 上支持 systemPreferences.isDarkMode() API
- macOS 上支持 systemPreferences.isHighContrastColorScheme() API
- 启用 W3C Reporting API
- macOS 上实现了 BrowserWindow.setFocable
- 在校验和文件中添加 Windows on ARM node 头文件
另外此版本还有许多修复和属性更改,更多详情见发布说明。
转自 https://www.oschina.net/news/110795/electron-7-0-0-released