Electron 是一個使用 JavaScript、HTML 和 CSS 構建跨平台的桌面應用程序。它基於 Node.js 和 Chromium,被 Atom 編輯器和許多其他應用程序使用。Electron 兼容 Mac、Windows 和 Linux,可以構建出三個平台的應用程序。
Electron v39.0.0 現已發佈,一些更新內容如下:
Stack Upgrades
- Chromium
142.0.7444.52- New in 142
- New in 141
- Node
22.20.0- Node 22.20.0 blog post
- V8
14.2
Breaking Changes
- 在
webContents.on('paint')事件的 offscreen shared texture info中添加了colorSpace。- 修改了
OffscreenSharedTexture的簽名,提供統一handle以持有 native handle。#47315
- 修改了
- 修復了
window.open規範合規性問題,該問題導致它應該始終創建一個可調整大小的彈出窗口,但卻沒有創建。#47540
有關通過 Chromium 繼承的重大更改,可參閲博客文章
Features
Additions
- 為 Offscreen Rendering 添加了支持 scRGB HDR 色彩空間的
RGBAF16輸出格式。#48504 - 為macOS平台的
process.getSystemMemoryInfo()方法新增fileBacked和purgeable字段。#47628 - 在 macOS 上為托盤圖標構造函數新增
guidTray支持,確保圖標在多次啓動後保持位置。#47838 - 新增
webFrameMain.fromFrameToken(processId, frameToken)法,可通過 frame token 獲取WebFrameMain實例。 #47850 - 添加了方法以實現更精細的可訪問性支持管理。#48625
- 在 Windows 和 macOS 平台新增對
app.getRecentDocuments()的支持 。 #45839 - 增加了對
USBDevice.configurations的支持。#47459 - 新增在 Linux 系統中通過
systemPreferences.getAccentColor獲取系統強調色的功能。#48628 - 新增在 Windows 系統中通過
{get|set}AccentColor在窗口初始化後更改窗口強調色的功能。#47741 - 允許在給定會話中持久保存文件系統 API 授權狀態。#48326
- 內部切換為使用
DIR_ASSETS替代DIR_MODULE/DIR_EXE定位資源,並新增可通過app.getPath查詢的 “assets” 鍵。#47439 - 支持在非上下文隔離預加載中導入動態 ESM。#48488
Fixes
- 修復了
systemPreferences.getAccentColor導致顏色反轉的問題。 #48624 - 修復了 Wayland 環境中調用
webContents.openDevTools({ mode: 'detach' })會導致崩潰的問題。 #48623 - 修復訪問
webContents.session時崩潰的問題。#48344 - 修復了 inspector agent 嘗試在 provisional frames 上評估時發生崩潰的問題。#48515
- 修復了從命令行傳遞功能參數
--enable-features=Feature:ParamA/Value時崩潰的問題。#48442
更新説明:https://github.com/electron/electron/releases/tag/v39.0.0