Electron 20.0.0
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: true
或sandbox: false
。#35125 - 使用 nan 建置原生模組時新增保護措施。#35160
堆疊變更
- Chromium
104
- Node.js
16.15.0
- V8
10.4
重大變更和 API 變更
以下是 Electron 20 中引入的重大變更。有關這些變更和未來變更的更多資訊,請參閱計畫中的重大變更頁面。
預設已變更:預設會對沒有 nodeIntegration: true
的渲染器進行沙箱處理
先前,指定預先載入指令碼的渲染器預設為未沙箱化。這表示預設情況下,預先載入指令碼可以存取 Node.js。在 Electron 20 中,此預設值已變更。從 Electron 20 開始,預設會對渲染器進行沙箱處理,除非指定 nodeIntegration: true
或 sandbox: false
。
如果您的預先載入指令碼不依賴 Node,則不需要採取任何動作。如果您的預先載入指令碼確實依賴 Node,則請將其重構以從渲染器中移除 Node 使用,或針對相關的渲染器明確指定 sandbox: false
。
已修正:nan 原生模組中出現自發性當機
在 Electron 20 中,我們變更了與原生模組相關的兩個項目
- V8 標頭現在預設使用
c++17
。此標記已新增至 electron-rebuild。 - 我們修正了一個問題,即遺失的 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.y | 19.x.y | 20.x.y | 21.x.y | 22.x.y |
17.x.y | 18.x.y | 19.x.y | 20.x.y | 21.x.y |
16.x.y | 17.x.y | 18.x.y | 19.x.y | 20.x.y |
15.x.y | -- | -- | -- | -- |
接下來是什麼
在短期內,您可以期望團隊繼續專注於跟上構成 Electron 的主要元件 (包括 Chromium、Node 和 V8) 的開發。雖然我們謹慎不對發佈日期做出承諾,但我們的計畫是每 2 個月左右發佈新的 Electron 主要版本,其中包含這些元件的新版本。
您可以在此處找到Electron 的公開時程表。
有關未來變更的更多資訊,請參閱計畫中的重大變更頁面。