Electron 12.0.0
·閱讀時間 5 分鐘
Electron 12.0.0 已發布!本次更新包含 Chromium 89
、V8 8.9
和 Node.js 14.16
的升級。我們針對 remote 模組進行了變更,contextIsolation 採用了新的預設值,新增了 webFrameMain API,並進行了整體效能改善。請閱讀以下內容以了解更多詳細資訊!
Electron 團隊很高興宣布 Electron 12.0.0 的發布!您可以使用 npm 透過 npm install electron@latest
安裝,或從我們的 發行版本網站 下載。請繼續閱讀以了解本次發行版本的詳細資訊,並歡迎分享您的任何意見回饋!
重點變更
堆疊變更
- Chromium
89
- Node.js
14.16
- V8
8.9
重點功能
- ContextBridge
exposeInMainWorld
方法現在可以公開非物件 API。 #26834 - 從 Node 12 升級至 Node 14。 #23249
- 新增
webFrameMain
API,用於從主程序存取WebContents
實例的子框架。 #25464 contextIsolation
和worldSafeExecuteJavaScript
的預設值現在為true
。 #27949 #27502
請參閱 12.0.0 發行說明,以取得完整的新功能和變更列表。
重大變更
- 已棄用
remote
模組。它已被@electron/remote
取代。 #25293- 如果您目前正在使用
remote
模組,我們已編寫 一份遷移至@electron/remote
的指南,請參閱此處。
- 如果您目前正在使用
- 將
contextIsolation
的預設值變更為true
。 #27949 - 將
worldSafeExecuteJavaScript
的預設值變更為true
。 #27502 - 將
crashReporter.start({ compress })
的預設值從false
變更為true
。 #25288 - 已移除 Flash 支援:Chromium 已移除對 Flash 的支援,Electron 12 也已移除。請參閱 Chromium 的 Flash Roadmap 以了解更多詳細資訊。
- x86 上的 Chrome 需要 SSE3:Chromium 已移除對 不符合 SSE3 (Streaming SIMD Extensions 3) 最小支援的舊版 x86 CPU 的支援。Electron 12 也移除了此支援。
關於這些變更和未來變更的更多資訊,請參閱 計畫重大變更 頁面。
API 變更
- 新增
webFrameMain
API:webFrameMain
模組可用於在現有的WebContents
實例中查找 frame。這是現有 webFrame API 在主程序中的對應功能。關於此新 API 的更多資訊,請參閱 此處 和我們的 文件。 app
API 變更BrowserWindow
API 變更contextBridge
API 變更- 允許 ContextBridge
exposeInMainWorld
方法公開非物件 API。 #26834
- 允許 ContextBridge
display
API 變更- 將
displayFrequency
屬性新增至Display
物件,以允許取得關於 Windows 上螢幕更新頻率的資訊。 #26472
- 將
extensions
API 變更- 新增對某些
chrome.management
API 的支援。 #25098
- 新增對某些
MenuItem
API 變更- 新增對顯示 macOS 分享選單的支援。 #25629
net
API 變更powerMonitor
API 變更session
API 變更- 將
allowFileAccess
選項新增至ses.loadExtension()
API。 #27702 - 為
session.setPermissionRequestHandler
新增display-capture
API。 #27696 - 將
disabledCipherSuites
選項新增至session.setSSLConfig
。 #25818 - 將
extension-loaded
、extension-unloaded
和extension-ready
事件新增至session
。 #25385 - 新增
session.setSSLConfig()
以允許設定 SSL。 #25461 - 在
session.setProxy()
中新增對明確指定direct
、auto_detect
或system
模式的支援。 #24937 - 新增 Serial API 支援。 #25237
- 新增 API 以啟用/停用拼字檢查器。 #26276
- 將
shell
API 變更- 新增非同步
shell.trashItem()
API,取代同步shell.moveItemToTrash()
。 #25114
- 新增非同步
webContents
API 變更webFrame
API 變更- 將拼字檢查 API 新增至渲染器。 #25060
已移除/已棄用變更
以下 API 已移除或現在已棄用
- 已棄用
remote
模組。它已被@electron/remote
取代。 #25293 - 已移除已棄用的
crashReporter
API。 #26709 - 從封裝應用程式的預設「說明」選單中移除 Electron 網站的連結。 #25831
9.x.y 版本終止支援
根據專案的 支援政策,Electron 9.x.y 版本已終止支援。建議開發人員和應用程式升級至較新版本的 Electron。
下一步
短期內,您可以預期團隊將繼續專注於跟上構成 Electron 的主要元件(包括 Chromium、Node 和 V8)的開發進度。儘管我們謹慎不對發布日期做出承諾,但我們的計畫是約每季發布包含這些元件新版本的 Electron 主要版本。暫定的 13.0.0 時程表 列出了 Electron 13.0 開發生命週期的關鍵日期。此外,請參閱我們的版本控制文件,以取得關於 Electron 版本控制的更詳細資訊。
如需了解即將發行的 Electron 版本中計畫的重大變更,請參閱我們的 計畫重大變更文件。