Electron 8.0.0
Electron 8.0.0 已發佈! 它包含 Chromium 80
、V8 8.0
和 Node.js 12.13.0
的升級。 我們新增了 Chrome 的內建拼字檢查器,以及更多功能!
Electron 團隊很高興宣布 Electron 8.0.0 的發佈! 您可以使用 npm 透過 npm install electron@latest
安裝它,或從我們的發佈網站下載它。 此版本包含升級、修復和新功能。 我們迫不及待想看看您使用它們建構出什麼! 繼續閱讀以了解此版本的詳細資訊,並請分享您有的任何意見反應!
重要變更
堆疊變更
- Chromium
80.0.3987.86
- Node.js
12.13.0
- V8
8.0
重點功能
- 實作了 Chrome 內建拼字檢查器功能的使用。 如需更多詳細資訊,請參閱 #20692 和 #21266。
- IPC 通訊現在使用 v8 的結構化複製演算法。 這比現有的邏輯更快、功能更強大且更不容易產生意外,並且為大型緩衝區和複雜物件帶來 2 倍的效能提升。 小型訊息的延遲時間沒有受到顯著影響。 如需更多詳細資訊,請參閱 #20214。
如需新功能和變更的完整清單,請參閱 8.0.0 版本說明。
重大變更
- 在內容感知模組的棄用警告中顯示模組名稱。 #21952
- 透過 IPC 傳送的值現在使用結構化複製演算法序列化。 #20214
- 目前已停用離螢幕渲染,因為沒有維護人員來處理此功能。 它在 Chromium 升級期間損壞,隨後被停用。 #20772
有關這些變更和未來變更的更多資訊,請參閱計劃中的重大變更頁面。
API 變更
app
API 變更BrowserWindow
API 變更- 更新了文件,以說明 BrowserWindow 選項
hasShadow
在所有平台上都可用 #20038 - 新增
trafficLightPosition
選項到 BrowserWindow 選項,以允許自訂交通號誌按鈕的位置。 #21781 - 為 BrowserWindow 新增
accessibleTitle
選項,以設定無障礙視窗標題 #19698 BrowserWindow.fromWebContents()
現在可以傳回 null #19983- 新增
BrowserWindow.getMediaSourceId()
和BrowserWindow.moveAbove(mediaSourceId)
。 #18926 - 新增 macOS 上對
will-move
事件的支援。 #19641
- 更新了文件,以說明 BrowserWindow 選項
- 記錄了先前未記錄的
crashReporter.getCrashesDirectory()
。 #20417 dialog
API 變更Notification
API 變更session
API 變更- 在 macOS 上,為
shell.moveItemToTrash(fullPath[, deleteOnFail])
新增了選項,以指定 moveItemToTrash 失敗時的處理方式。 #19700 systemPreferences
API 變更- 新增
nativeTheme.themeSource
,允許應用程式覆寫 Chromium 和作業系統的主題選擇。 #19960 - TouchBar API 變更
tray
API 變更webContents
API 變更- 新增了
contents.executeJavaScriptInIsolatedWorld(worldId, scripts[, userGesture])
,以便在 webContents API 上公開 executeJavaScriptInIsolatedWorld。 #21190 - 新增了用於擷取隱藏 webContents 的方法。 #21679
- 為
webContents.print([options], [callback])
新增了選項,以啟用自訂列印頁首和頁尾。 #19688 - 新增了透過
webContents.getAllSharedWorkers()
和webContents.inspectSharedWorkerById(workerId)
檢視特定共享 Worker 的功能。 #20389 - 在 WebContents.printToPDF() 中新增了對
fitToPageEnabled
和scaleFactor
選項的支援。 #20436
- 新增了
- 更新了
webview.printToPDF
文件,指出傳回類型現在為 Uint8Array。 #20505
已棄用的 API
以下 API 現在已棄用
- 在下一個主要版本中移除之前,棄用了
BrowserWindow.setVisibleOnAllWorkspaces
中無作用的visibleOnFullScreen
選項。 #21732 - 針對 macOS,棄用了
systemPreferences.getColor(color)
上的alternate-selected-control-text
。 #20611 - 由於 Chromium 移除了此功能,因此棄用了
webContents
、webFrame
和<webview> Tag
上的setLayoutZoomLevelLimits
。 #21296 app.allowRendererProcessReuse
的預設值false
現在已棄用。 #21287- 棄用了
<webview>.getWebContents()
,因為它依賴於 remote 模組。 #20726
5.x.y 的支援終止
根據專案的支援政策,Electron 5.x.y 已終止支援。我們鼓勵開發人員和應用程式升級到較新版本的 Electron。
應用程式回饋計畫
我們持續使用我們的應用程式回饋計畫進行測試。參與此計畫的專案會在他們的應用程式上測試 Electron beta 版本;作為回報,他們發現的新錯誤會優先在穩定版本中修復。如果您想參與或了解更多資訊,請查看我們關於該計畫的部落格文章。
接下來的計畫
短期內,您可以預期團隊會繼續專注於跟上構成 Electron 的主要元件(包括 Chromium、Node 和 V8)的開發。雖然我們謹慎避免承諾發布日期,但我們的計畫是約每季發布帶有這些元件新版本的 Electron 主要版本。 暫定的 9.0.0 時程表規劃了 Electron 9 開發生命週期中的關鍵日期。此外,請參閱我們的版本控制文件,以取得有關 Electron 版本控制的更多詳細資訊。
有關 Electron 即將推出的版本中計劃的重大變更的資訊,請參閱我們的計劃重大變更文件。
棄用 remote
模組(從 Electron 9 開始)
由於嚴重的安全性問題,我們正在開始計劃棄用remote
模組,從 Electron 9 開始。您可以閱讀並關注此議題,其中詳細說明了我們這樣做的原因,並包含建議的棄用時程表。