跳到主要內容

Electron 20.0.0

·4 分鐘閱讀

Electron 20.0.0 已經發布!它包含 Chromium 104、V8 10.4 和 Node.js 16.15.0 的升級。請閱讀以下內容以了解更多詳細資訊!


Electron 團隊很高興宣布 Electron 20.0.0 的發布!您可以使用 npm 透過 npm install electron@latest 安裝它,或從我們的 版本網站 下載。繼續閱讀以了解有關此版本的詳細資訊,並請分享您的任何意見回饋!

重要變更

新功能

  • 在 Windows 上新增沉浸式深色模式。 #34549
  • 新增面板式行為的支援。視窗可以浮動在全螢幕應用程式之上。 #34665
  • 更新 Windows 控制項覆疊按鈕,使其在 Windows 11 上看起來和感覺更原生。 #34888
  • 渲染器現在預設為沙箱化,除非指定 nodeIntegration: truesandbox: false#35125
  • 在使用 nan 建置原生模組時新增安全防護。 #35160

技術堆疊變更

破壞性變更與 API 變更

以下是 Electron 20 中引入的破壞性變更。有關這些變更和未來變更的更多資訊,請參閱 計畫中的破壞性變更 頁面。

預設已變更:預設情況下,沒有 nodeIntegration: true 的渲染器會沙箱化

先前,指定預載腳本的渲染器預設為非沙箱化。這表示預設情況下,預載腳本可以存取 Node.js。在 Electron 20 中,此預設值已變更。從 Electron 20 開始,渲染器預設會沙箱化,除非指定 nodeIntegration: truesandbox: false

如果您的預載腳本不依賴 Node,則無需採取任何動作。如果您的預載腳本確實依賴 Node,請重構它們以從渲染器中移除 Node 用法,或為相關渲染器明確指定 sandbox: false

已修正:nan 原生模組中發生的自發性崩潰

在 Electron 20 中,我們變更了與原生模組相關的兩個項目

  1. V8 標頭現在預設使用 c++17。此旗標已新增至 electron-rebuild。
  2. 我們修正了一個問題,即缺少 include 會導致依賴 nan 的原生模組中發生自發性崩潰。

為了獲得最佳穩定性,我們建議在重建原生模組時使用 node-gyp >=8.4.0 和 electron-rebuild >=3.2.9,特別是依賴 nan 的模組。請參閱 electron #35160 和 node-gyp #2497 以取得更多資訊。

已移除:Linux 上的 `.skipTaskbar`

在 X11 上,skipTaskbar 會將 _NET_WM_STATE_SKIP_TASKBAR 訊息傳送至 X11 視窗管理員。Wayland 沒有直接的等效項,而且已知的解決方案具有無法接受的缺點 (例如,GNOME 中的 Window.is_skip_taskbar 需要不安全模式),因此 Electron 無法在 Linux 上支援此功能。

17.x.y 版本終止支援

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

E18 (3 月 '22)E19 (5 月 '22)E20 (8 月 '22)E21 (9 月 '22)E22 (12 月 '22)
18.x.y19.x.y20.x.y21.x.y22.x.y
17.x.y18.x.y19.x.y20.x.y21.x.y
16.x.y17.x.y18.x.y19.x.y20.x.y
15.x.y--------

接下來是什麼

短期內,您可以預期團隊將繼續專注於跟上構成 Electron 的主要元件 (包括 Chromium、Node 和 V8) 的開發。雖然我們謹慎地不對發布日期做出承諾,但我們的計畫是每 2 個月左右發布包含這些元件新主要版本的 Electron 新主要版本。

您可以在此處找到 Electron 的公開時程表

有關未來變更的更多資訊,請參閱 計畫中的破壞性變更 頁面。