跳到主要內容

Electron 10.0.0

·5 分鐘閱讀

Electron 10.0.0 已經發佈!它包含 Chromium 85、V8 8.5 和 Node.js 12.16 的升級。我們新增了幾個新的 API 整合和改進。請閱讀以下內容以了解更多詳細資訊!


Electron 團隊很高興宣布 Electron 10.0.0 的發佈!您可以使用 npm 透過 npm install electron@latest 安裝它,或從我們的發佈網站下載。此版本包含許多升級、修復和新功能。

在 Electron 10 發佈版本中,我們也對發佈說明進行了變更。為了更容易分辨 Electron 10 中的全新功能,以及 Electron 10 與過去版本之間可能發生的變更,我們現在也包含 Electron 10 中引入但向後移植到先前版本的變更。我們希望這能讓應用程式在升級 Electron 時更容易找到新功能和錯誤修復。

我們迫不及待想看看您使用它們建置什麼!繼續閱讀以了解有關此版本的詳細資訊,並請分享您有的任何意見回饋!

值得注意的變更

堆疊變更

重點功能

  • 新增 contents.getBackgroundThrottling() 方法和 contents.backgroundThrottling 屬性。 [#21036]
  • 在主程序中公開 desktopCapturer 模組。#23548
  • 現在可以透過呼叫 ses.isPersistent() API 來檢查給定的 session 是否為持久性。#22622
  • 解決因網路 IP 位址變更和 ICE 而導致 RTC 通話無法連線的網路問題。(Chromium 問題 1113227)。#24998

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

重大變更

  • enableRemoteModule 的預設值變更為 false#22091
    • 這是我們棄用 remote 模組並將其移至使用者空間的計畫一部分。您可以閱讀並追蹤此問題,其中詳細說明了我們這樣做的原因,並包含建議的棄用時程表。
  • app.allowRendererProcessReuse 的預設值變更為 true#22336 (在 Electron 9 中也是如此)
    • 這將防止在渲染器程序中載入非上下文感知的原生模組。
    • 您可以閱讀並追蹤此問題,其中詳細說明了我們這樣做的原因,並包含建議的棄用時程表。
  • 修正了當 OS 地區設定設定為 RTL 語言 (例如阿拉伯文或希伯來文) 時,macOS 上視窗按鈕的定位。無框架視窗應用程式在設定其視窗樣式時可能必須考量此變更。#22016

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

API 變更

  • Session:現在可以透過呼叫 ses.isPersistent() API 來檢查給定的 session 是否為持久性。#22622
  • Contents:新增 contents.getBackgroundThrottling() 方法和 contents.backgroundThrottling 屬性。#21036

已棄用的 API

以下 API 現在已棄用或移除

  • 移除了 netLog 已棄用的 currentlyLoggingPath 屬性。此外,netLog.stopLogging 不再傳回記錄日誌的路徑。#22732
  • crashReporter 中棄用未壓縮的當機上傳。#23598

7.x.y 版本終止支援

根據專案的支援政策,Electron 7.x.y 已達到終止支援。鼓勵開發人員和應用程式升級到較新版本的 Electron。

下一步

短期內,您可以預期團隊將繼續專注於跟上構成 Electron 的主要元件 (包括 Chromium、Node 和 V8) 的開發。雖然我們謹慎不對發佈日期做出承諾,但我們的計畫是約每季發佈具有這些元件新版本的 Electron 主要版本。暫定的 11.0.0 時程表列出了 Electron 11.0 開發生命週期中的重要日期。此外,請參閱我們的版本控制文件以取得有關 Electron 版本控制的更詳細資訊。

有關即將推出的 Electron 版本中計畫中的重大變更的資訊,請參閱我們計畫中的重大變更文件

繼續棄用 remote 模組的工作 (在 Electron 11 中)

我們在Electron 9 中開始移除 remote 模組的工作,並且我們正在繼續計畫移除 remote 模組。在 Electron 11 中,我們計畫繼續重構工作,以實作 WeakRef,就像我們在 Electron 10 中所做的那樣。請閱讀並追蹤此問題,以取得完整的棄用計畫和詳細資訊。

要求原生 Node 模組為上下文感知或 N-API 的最終步驟 (在 Electron 12 中)

編輯:最初,這篇部落格文章指出我們將在 Electron 11 中停用渲染器程序重複使用。停用渲染器程序重複使用現在已延遲到 Electron 12。

從 Electron 6 開始,我們一直在為要求在渲染器程序中載入的原生 Node 模組必須是 N-API上下文感知奠定基礎。強制執行此變更可實現更強的安全性、更快的效能和減少的維護工作量。此計畫的最後一步是在 Electron 12 中移除停用渲染程序重複使用的能力。請閱讀此問題以取得完整詳細資訊,包括建議的時程表。