跳至主要內容

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 模組棄用並移至 userland 的計畫一部分。您可以閱讀並追蹤此問題,其中詳述了我們這樣做的原因,並包含建議的棄用時程表。
  • app.allowRendererProcessReuse 的預設值變更為 true#22336 (也在 Electron 9 中)
    • 這將防止在渲染器處理程序中載入非內容感知原生模組。
    • 您可以閱讀並追蹤此問題,其中詳述了我們這樣做的原因,並包含建議的棄用時程表。
  • 修正了當作業系統地區設定設為從右至左語言 (如阿拉伯文或希伯來文) 時,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 模組為 Context Aware 或 N-API 的最後一步(在 Electron 12 中)

編輯:最初,這篇部落格文章表示我們將在 Electron 11 中停用渲染器進程重用。停用渲染器進程重用現在已延後至 Electron 12。

從 Electron 6 開始,我們一直在為要求在渲染器進程中載入的原生 Node 模組必須是 N-APIContext Aware 奠定基礎。強制執行此變更可以提高安全性、加快效能並減少維護工作量。此計畫的最後一步是在 Electron 12 中移除停用渲染器進程重用的能力。閱讀此議題,以了解包含建議時程的完整詳細資訊。