跳至主要內容

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 (2022 年 3 月)E19 (2022 年 5 月)E20 (2022 年 8 月)E21 (2022 年 9 月)E22 (2022 年 12 月)
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 的公開時程表

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