跳到主要內容

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 安裝它,或者從我們的發行網站下載。請繼續閱讀以了解此版本的詳細資訊,並請分享您的任何意見反應!

重要變更

堆疊變更

重點功能

  • ContextBridge exposeInMainWorld 方法現在可以公開非物件 API。#26834
  • 從 Node 12 升級到 Node 14。#23249
  • 新增了新的 webFrameMain API,用於從主要程序存取 WebContents 執行個體的子框架。#25464
  • contextIsolationworldSafeExecuteJavaScript 的預設值現在為 true#27949 #27502

請參閱12.0.0 發行說明,以取得新功能和變更的完整清單。

重大變更

有關這些變更及未來變更的更多資訊,請參閱計劃中的重大變更頁面。

API 變更

  • 新增 webFrameMain API:webFrameMain 模組可用於在現有的WebContents 執行個體中查詢框架。這是現有 webFrame API 的主要程序等效項。有關此新 API 的更多資訊,請參閱此處以及我們的文件
  • app API 變更
    • 'child-process-gone' / app.getAppMetrics() 中新增非本地化的 serviceName#25975
    • 新增新的 app.runningUnderRosettaTranslation 屬性,以偵測在 Apple Silicon 上使用 Rosetta 執行時。#26444
    • exitCode 新增至 render-process-gone 詳細資訊 (app & webContents)。#27677
  • BrowserWindow API 變更
    • 新增 BrowserWindow.isTabletMode() API。#25209
    • resized (Windows/macOS) 和 moved (Windows) 事件新增至 BrowserWindow#26216
    • 新增新的 system-context-menu 事件,以允許防止和覆寫系統關聯式選單。#25795
    • 新增 win.setTopBrowserView(),以便可以提升 BrowserView#27713
    • 新增 webPreferences.preferredSizeMode,以允許根據其文件的最小大小來調整檢視的大小。#25874
  • contextBridge API 變更
    • 允許 ContextBridge exposeInMainWorld 方法公開非物件 API。#26834
  • display API 變更
    • displayFrequency 屬性新增至 Display 物件,以允許取得有關 Windows 上重新整理率的資訊。#26472
  • extensions API 變更
    • 新增對部分 chrome.management API 的支援。#25098
  • MenuItem API 變更
    • 新增顯示 macOS 分享選單的支援。#25629
  • net API 變更
    • net.request() 新增 credentials 選項。#25284
    • 新增 net.online,用於偵測目前是否有網路連線。#21004
  • powerMonitor API 變更
    • 新增 powerMonitor.onBatteryPower#26494
    • 在 macOS 上新增快速使用者切換事件至 powerMonitor。#25321
  • session API 變更
    • ses.loadExtension() API 新增 allowFileAccess 選項。#27702
    • session.setPermissionRequestHandler 新增 display-capture API。#27696
    • session.setSSLConfig 新增 disabledCipherSuites 選項。#25818
    • session 新增 extension-loadedextension-unloadedextension-ready 事件。#25385
    • 新增 session.setSSLConfig() 以允許設定 SSL。#25461
    • 新增在 session.setProxy() 中明確指定 directauto_detectsystem 模式的支援。#24937
    • 新增 Serial API 支援。#25237
    • 新增啟用/停用拼寫檢查器的 API。#26276
  • shell API 變更
    • 新增非同步的 shell.trashItem() API,取代同步的 shell.moveItemToTrash()#25114
  • webContents API 變更
    • 在主控台中新增小提示,以協助偵錯渲染器崩潰問題。#25317
    • 在 webRequest 處理常式的詳細資料物件中新增 framewebContents 屬性。#27334
    • 新增 webContents.forcefullyCrashRenderer(),強制終止渲染器進程,以協助恢復掛起的渲染器。#25580
    • 為渲染器建立的子視窗新增 setWindowOpenHandler API,並棄用 new-window 事件。#24517
  • 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 版本中計劃的重大變更資訊,請參閱我們的計劃重大變更文件