跳至主要內容

共有 42 篇標記為「Release」的文章

關於新 Electron 發行版本的部落格文章

檢視所有標籤

Electron 24.0.0

·4 分鐘閱讀時間

Electron 24.0.0 已發佈!它包含 Chromium 112.0.5615.49、V8 11.2 和 Node.js 18.14.0 的升級。請閱讀以下詳細資訊!


Electron 團隊很高興宣布發佈 Electron 24.0.0!您可以使用 npm 透過 npm install electron@latest 安裝它,或從我們的發行網站下載。繼續閱讀以了解有關此版本的詳細資訊。

如果您有任何意見回饋,請在 Twitter 上與我們分享,或加入我們的社群Discord!錯誤和功能請求可以在 Electron 的問題追蹤器中回報。

重要變更

堆疊變更

重大變更

API 已變更:nativeImage.createThumbnailFromPath(path, size)

maxSize 參數已變更為 size,以反映傳入的大小將是建立的縮圖的大小。先前,如果影像小於 maxSize,Windows 不會放大影像,而 macOS 會始終將大小設定為 maxSize。現在所有平台上的行為都相同。

// a 128x128 image.
const imagePath = path.join('path', 'to', 'capybara.png');

// Scaling up a smaller image.
const upSize = { width: 256, height: 256 };
nativeImage.createThumbnailFromPath(imagePath, upSize).then((result) => {
console.log(result.getSize()); // { width: 256, height: 256 }
});

// Scaling down a larger image.
const downSize = { width: 64, height: 64 };
nativeImage.createThumbnailFromPath(imagePath, downSize).then((result) => {
console.log(result.getSize()); // { width: 64, height: 64 }
});

新功能

  • 新增使用 cookies.get() 篩選 HttpOnly Cookie 的功能。#37365
  • logUsage 新增至 shell.openExternal() 選項,這允許將 SEE_MASK_FLAG_LOG_USAGE 旗標傳遞至 Windows 上的 ShellExecuteExSEE_MASK_FLAG_LOG_USAGE 旗標表示使用者啟動的啟動,可追蹤常用程式和其他行為。#37291
  • types 新增至 webRequest 篩選器,新增篩選您監聽的要求的功能。#37427
  • 將新的 devtools-open-url 事件新增至 webContents,允許開發人員使用它們開啟新視窗。#36774
  • 將多個標準頁面大小選項新增至 webContents.print()#37265
  • enableLocalEcho 旗標新增至工作階段處理程式 ses.setDisplayMediaRequestHandler() 回呼,以允許在 audioWebFrameMain 時,將遠端音訊輸入回聲到本機輸出串流中。#37528
  • 允許將應用程式特定的使用者名稱傳遞至 inAppPurchase.purchaseProduct()#35902
  • 公開 window.invalidateShadow() 以清除 macOS 上殘留的視覺假影。#32452
  • 現在預設會在 electron 節點標頭設定檔中啟用整個程式最佳化,允許編譯器使用來自程式中所有模組的資訊執行最佳化,而不是基於每個模組 (編譯單元)。#36937
  • SystemPreferences::CanPromptTouchID (macOS) 現在支援 Apple Watch。#36935

21.x.y 支援終止

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

告別 Windows 7/8/8.1所述,Electron 22 (Chromium 108) 的計劃終止日期將從 2023 年 5 月 30 日延長至 2023 年 10 月 10 日。Electron 團隊將繼續將此計畫中的任何安全性修復向後移植到 Electron 22,直到 2023 年 10 月 10 日。

E24 (2023 年 4 月)E25 (2023 年 5 月)E26 (2023 年 8 月)
24.x.y25.x.y26.x.y
23.x.y24.x.y25.x.y
22.x.y23.x.y24.x.y
--22.x.y22.x.y

下一步

短期內,您可以預期團隊將繼續專注於跟上構成 Electron 的主要元件的開發,包括 Chromium、Node 和 V8。

您可以在這裡找到 Electron 的公開時間軸

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

Electron 23.0.0

·閱讀時間 3 分鐘

Electron 23.0.0 已發布!它包含 Chromium 110、V8 11.0 和 Node.js 18.12.1 的升級。此外,已停止支援 Windows 7/8/8.1。請閱讀以下內容了解更多詳細資訊!


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

如果您有任何意見回饋,請在 Twitter 上與我們分享,或加入我們的社群Discord!錯誤和功能請求可以在 Electron 的問題追蹤器中回報。

重要變更

堆疊變更

新功能

  • label 屬性新增至Display物件。#36933
  • 新增 app.getPreferredSystemLanguages() API 以傳回使用者的系統語言。#36035
  • 新增對WebUSB API 的支援。#36289
  • 新增對SerialPort.forget()的支援,以及在指定來源被撤銷時,於Session物件上發出的新事件 serial-port-revoked#35310
  • 新增 win.setHiddenInMissionControl API,允許開發人員選擇在 macOS 上不顯示於「任務控制」中。#36092

停止支援 Windows 7/8/8.1

Electron 23 不再支援 Windows 7/8/8.1。Electron 遵循計畫的 Chromium 棄用政策,該政策將棄用 Chromium 109 中對 Windows 7/8/8.1 以及 Windows Server 2012 和 2012 R2 的支援 (在此處閱讀更多資訊)

重大 API 變更

以下是 Electron 23 中引入的重大變更。您可以在計劃的重大變更頁面上閱讀有關這些變更和未來變更的更多資訊。

已移除:BrowserWindow scroll-touch-* 事件

已移除 BrowserWindow 上已棄用的 scroll-touch-beginscroll-touch-endscroll-touch-edge 事件。請改用 WebContents 上新提供的 input-event 事件。

// Removed in Electron 23.0
-win.on('scroll-touch-begin', scrollTouchBegin)
-win.on('scroll-touch-edge', scrollTouchEdge)
-win.on('scroll-touch-end', scrollTouchEnd)

// Replace with
+win.webContents.on('input-event', (_, event) => {
+ if (event.type === 'gestureScrollBegin') {
+ scrollTouchBegin()
+ } else if (event.type === 'gestureScrollUpdate') +{
+ scrollTouchEdge()
+ } else if (event.type === 'gestureScrollEnd') {
+ scrollTouchEnd()
+ }
+})

停止支援 20.x.y

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

E22 (2022年11月)E23 (2023年2月)E24 (2023 年 4 月)E25 (2023 年 5 月)E26 (2023 年 8 月)
22.x.y23.x.y24.x.y25.x.y26.x.y
21.x.y22.x.y23.x.y24.x.y25.x.y
20.x.y21.x.y22.x.y23.x.y24.x.y

下一步

短期內,您可以預期團隊將繼續專注於跟上構成 Electron 的主要元件的開發,包括 Chromium、Node 和 V8。

您可以在這裡找到 Electron 的公開時間軸

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

Electron 22.0.0

·閱讀時間 5 分鐘

Electron 22.0.0 已發布!它包含新的公用程式處理程序 API、Windows 7/8/8.1 支援的更新,以及 Chromium 108、V8 10.8 和 Node.js 16.17.1 的升級。請閱讀以下內容了解更多詳細資訊!


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

如果您有任何意見回饋,請在 Twitter 上與我們分享,或加入我們的社群Discord!錯誤和功能請求可以在 Electron 的問題追蹤器中回報。

重要變更

堆疊變更

重點功能

UtilityProcess API #36089

新的 UtilityProcess 主要處理程序模組允許建立一個輕量級的 Chromium 子處理程序,該處理程序僅具有 Node.js 整合,同時也允許使用 MessageChannel 與沙盒化的渲染器進行通訊。此 API 的設計基於 Node.js child_process.fork,以便更容易轉換,主要區別在於進入點 modulePath 必須來自已封裝的應用程式內,以允許僅載入受信任的腳本。此外,該模組預設會阻止與渲染器建立通訊通道,以維護主要處理程序是應用程式中唯一受信任的處理程序的合約。

您可以在我們的文件中閱讀有關新 UtilityProcess API 的更多資訊

Windows 7/8/8.1 支援更新

資訊

2023/02/16:關於 Windows Server 2012 支援的更新

上個月,Google 宣布Chrome 109 將繼續接收 Windows Server 2012 和 Windows Server 2012 R2 的重要安全性修正,直到 2023 年 10 月 10 日。因此,Electron 22 (Chromium 108) 的計畫終止支援日期將從 2023 年 5 月 30 日延長至 2023 年 10 月 10 日。Electron 團隊將繼續將此計畫中包含的任何安全性修正反向移植到 Electron 22,直到 2023 年 10 月 10 日。

請注意,我們不會對 Windows 7/8/8.1 進行其他安全性修正。此外,如先前宣布,Electron 23 (Chromium 110) 將僅在 Windows 10 及更新版本上運作。

Electron 22 將是最後一個支援 Windows 7/8/8.1 的 Electron 主要版本。Electron 遵循計畫的 Chromium 棄用政策,該政策將棄用 Chromium 109 中對 Windows 7/8/8.1 的支援 (在此處閱讀更多資訊)

Electron 23 及更高版本的主要版本將不支援 Windows 7/8/8.1。

其他重點變更

  • 新增對 Linux 和 Windows 上 Web Bluetooth pin 配對的支援。#35416
  • 新增 LoadBrowserProcessSpecificV8Snapshot 作為一個新的熔斷器,它將允許主處理程序/瀏覽器處理程序從 browser_v8_context_snapshot.bin 的檔案載入其 v8 快照。任何其他處理程序將使用與今天相同的路徑。#35266
  • 新增 WebContents.opener 以存取視窗開啟器,以及 webContents.fromFrame(frame) 以取得對應於 WebFrameMain 執行個體的 WebContents。#35140
  • 透過新的 session 處理程序 ses.setDisplayMediaRequestHandler 新增對 navigator.mediaDevices.getDisplayMedia 的支援。#30702

重大 API 變更

以下是 Electron 22 中引入的重大變更。您可以在計劃的重大變更頁面上閱讀有關這些變更和未來變更的更多資訊。

已棄用:webContents.incrementCapturerCount(stayHidden, stayAwake)

webContents.incrementCapturerCount(stayHidden, stayAwake) 已棄用。現在,當頁面擷取完成時,它會由 webContents.capturePage 自動處理。

const w = new BrowserWindow({ show: false })

- w.webContents.incrementCapturerCount()
- w.capturePage().then(image => {
- console.log(image.toDataURL())
- w.webContents.decrementCapturerCount()
- })

+ w.capturePage().then(image => {
+ console.log(image.toDataURL())
+ })

已棄用:webContents.decrementCapturerCount(stayHidden, stayAwake)

webContents.decrementCapturerCount(stayHidden, stayAwake) 已棄用。現在,當頁面擷取完成時,它會由 webContents.capturePage 自動處理。

const w = new BrowserWindow({ show: false })

- w.webContents.incrementCapturerCount()
- w.capturePage().then(image => {
- console.log(image.toDataURL())
- w.webContents.decrementCapturerCount()
- })

+ w.capturePage().then(image => {
+ console.log(image.toDataURL())
+ })

已移除:WebContents new-window 事件

已移除 WebContents 的 new-window 事件。它由webContents.setWindowOpenHandler()取代。

- webContents.on('new-window', (event) => {
- event.preventDefault()
- })

+ webContents.setWindowOpenHandler((details) => {
+ return { action: 'deny' }
+ })

已棄用:BrowserWindow scroll-touch-* 事件

BrowserWindow 上的 scroll-touch-beginscroll-touch-endscroll-touch-edge 事件已棄用。請改用 WebContents 上新提供的input-event 事件

// Deprecated
- win.on('scroll-touch-begin', scrollTouchBegin)
- win.on('scroll-touch-edge', scrollTouchEdge)
- win.on('scroll-touch-end', scrollTouchEnd)

// Replace with
+ win.webContents.on('input-event', (_, event) => {
+ if (event.type === 'gestureScrollBegin') {
+ scrollTouchBegin()
+ } else if (event.type === 'gestureScrollUpdate') {
+ scrollTouchEdge()
+ } else if (event.type === 'gestureScrollEnd') {
+ scrollTouchEnd()
+ }
+ })

停止支援 19.x.y

根據專案的支援政策,Electron 19.x.y 版本已停止支援。建議開發者和應用程式升級至較新版本的 Electron。

E19 (22年5月)E20 (22年8月)E21 (22年9月)E22 (2022年11月)E23 (23年1月)
19.x.y20.x.y21.x.y22.x.y23.x.y
18.x.y19.x.y20.x.y21.x.y22.x.y
17.x.y18.x.y19.x.y20.x.y21.x.y

下一步

Electron 專案將於 2022 年 12 月暫停,並於 2023 年 1 月恢復。更多資訊請參閱12 月關閉的部落格文章

短期內,您可以預期團隊將繼續專注於跟上構成 Electron 的主要元件的開發,包括 Chromium、Node 和 V8。

您可以在這裡找到 Electron 的公開時間軸

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

Electron 21.0.0

·閱讀時間 3 分鐘

Electron 21.0.0 已發布!它包含 Chromium 106、V8 10.6 和 Node.js 16.16.0 的升級。請閱讀以下內容以了解更多詳細資訊!


Electron 團隊很高興宣布 Electron 21.0.0 的發布!您可以透過 npm 使用 npm install electron@latest 安裝,或從我們的發布網站下載。繼續閱讀以了解有關此版本的詳細資訊。

如果您有任何意見回饋,請在 Twitter 上與我們分享,或加入我們的社群Discord!錯誤和功能請求可以在 Electron 的問題追蹤器中回報。

重要變更

堆疊變更

新功能

  • 新增 webFrameMain.origin#35534
  • 新增 WebContents.ipcWebFrameMain.ipc API。#35231
  • 新增對面板式行為的支援。視窗可以浮動在全螢幕應用程式之上。#34388
  • 新增對 macOS 應用程式的 APNs 推播通知支援。#33574

重大變更和 API 變更

以下是 Electron 21 中引入的重大變更。

已啟用 V8 記憶體隔離區

Electron 21 啟用了V8 沙箱指標,繼 Chrome 在 Chrome 103 中做出相同決定之後。這對原生模組有一些影響。此功能具有效能和安全性優勢,但也對原生模組施加了一些新的限制,例如使用指向外部(「堆外」)記憶體的 ArrayBuffer。請參閱這篇部落格文章以了解更多資訊。#34724

重構 webContents.printToPDF

重構 webContents.printToPDF 以與 Chromium 的無頭實作對齊。有關更多資訊,請參閱#33654

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

18.x.y 版本停止支援

根據專案的支援政策,Electron 18.x.y 版本已停止支援。建議開發者和應用程式升級至較新版本的 Electron。

E18 (22年3月)E19 (22年5月)E20 (22年8月)E21 (22年9月)E22 (22年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

下一步

短期內,您可以預期團隊將繼續專注於跟上構成 Electron 的主要元件的開發,包括 Chromium、Node 和 V8。

您可以在這裡找到 Electron 的公開時間軸

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

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 (22年3月)E19 (22年5月)E20 (22年8月)E21 (22年9月)E22 (22年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 的公開時間軸

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

Electron 19.0.0

·閱讀時間 3 分鐘

Electron 19.0.0 已發布!它包含 Chromium 102、V8 10.2 和 Node.js 16.14.2 的升級。請閱讀以下內容以了解更多詳細資訊!


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

重要變更

Electron 發布頻率變更

專案正在恢復其先前的政策,即支援最新的三個主要版本。請參閱我們的版本控制文件,以了解有關 Electron 版本控制和支援的更詳細資訊。為了幫助使用者適應 Electron 15 中開始的新發布頻率,這暫時是四個主要版本。您可以閱讀此處的完整詳細資訊

堆疊變更

重大變更和 API 變更

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

Linux 上不支援:.skipTaskbar

不再支援 Linux 上的 BrowserWindow 建構函式選項 skipTaskbar。在 #33226 中變更

已移除 WebPreferences.preloadURL

已從 WebPreferences 中移除半記錄的 preloadURL 屬性。#33228。應改用 WebPreferences.preload

15.x.y 和 16.x.y 版本停止支援

Electron 14.x.y 和 15.x.y 版本均已停止支援。這使 Electron 回到其現有政策,即支援最新的三個主要版本。建議開發者和應用程式升級至較新版本的 Electron。

E15 (21年9月)E16 (21年11月)E17 (22年2月)E18 (22年3月)E19 (22年5月)
15.x.y16.x.y17.x.y18.x.y19.x.y
14.x.y15.x.y16.x.y17.x.y18.x.y
13.x.y14.x.y15.x.y16.x.y17.x.y
12.x.y13.x.y14.x.y15.x.y--

下一步

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

您可以在這裡找到 Electron 的公開時間軸

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

Electron 18.0.0

·閱讀時間 3 分鐘

Electron 18.0.0 已發布!它包含 Chromium 100、V8 10.0 和 Node.js 16.13.2 的升級。請閱讀以下內容以了解更多詳細資訊!


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

重要變更

Electron 發布頻率變更

從 Electron 15 開始,Electron 將每 8 週發布一個新的主要穩定版本。您可以閱讀此處的完整詳細資訊

此外,在 2022 年 5 月之前,Electron 已將支援的版本從最新的三個版本更改為最新的四個版本。請參閱我們的版本說明文件,以取得關於 Electron 版本控制的更詳細資訊。在 2022 年 5 月之後,我們將恢復支援最新的三個版本。

堆疊變更

重點功能

  • 新增了 ses.setCodeCachePath() API,用於設定程式碼快取目錄。#33286
  • 移除了舊的基於 BrowserWindowProxywindow.open 實作。這也從 webPreferences 中移除了 nativeWindowOpen 選項。#29405
  • WebContents 中新增了 'focus' 和 'blur' 事件。#25873
  • 在 macOS 上新增了替換選單角色:showSubstitutionstoggleSmartQuotestoggleSmartDashestoggleTextReplacement#32024
  • app.requestSingleInstanceLock() 流程中新增了 first-instance-ack 事件,允許使用者將資料從第一個執行個體無縫傳輸到第二個執行個體。#31460
  • 新增了在 setBackgroundColor 中支援更多顏色格式。#33364

請參閱 18.0.0 版本說明,以取得新功能和變更的完整清單。

重大變更和 API 變更

以下是 Electron 18 中引入的重大變更。關於這些變更和未來變更的更多資訊,請參閱計畫的重大變更頁面。

已移除:nativeWindowOpen

在 Electron 15 之前,window.open 預設會被 shim 設定為使用 BrowserWindowProxy。這表示 window.open('about:blank') 無法開啟可同步腳本化的子視窗,以及其他不相容的情況。自 Electron 15 以來,預設已啟用 nativeWindowOpen

如需更多詳細資訊,請參閱 Electron 中 window.open 的文件。已在 #29405 中移除

14.x.y 終止支援

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

自 Electron 15 起,我們已將支援的版本從最新的三個版本變更為最新的四個版本,直到 2022 年 5 月的 Electron 19 為止。在 Electron 19 之後,我們將恢復支援最新的三個版本。此版本支援變更是我們新的節奏變更的一部分。如需完整詳細資訊,請參閱我們的部落格文章

E15 (21年9月)E16 (21年11月)E17 (22年2月)E18 (22年3月)E19 (22年5月)
15.x.y16.x.y17.x.y18.x.y19.x.y
14.x.y15.x.y16.x.y17.x.y18.x.y
13.x.y14.x.y15.x.y16.x.y17.x.y
12.x.y13.x.y14.x.y15.x.y--

下一步

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

您可以在這裡找到 Electron 的公開時間軸

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

Electron 17.0.0

·閱讀時間 3 分鐘

Electron 17.0.0 已發布!其中包含 Chromium 98、V8 9.8 和 Node.js 16.13.0 的升級。請閱讀以下內容以了解更多詳細資訊!


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

重要變更

Electron 發布頻率變更

從 Electron 15 開始,Electron 將每 8 週發布一個新的主要穩定版本。您可以閱讀此處的完整詳細資訊

此外,在 2022 年 5 月之前,Electron 已將支援的版本從最新的三個版本更改為最新的四個版本。請參閱我們的版本說明文件,以取得關於 Electron 版本控制的更詳細資訊。在 2022 年 5 月之後,我們將恢復支援最新的三個版本。

堆疊變更

重點功能

  • 新增了 webContents.getMediaSourceId(),可用於 getUserMedia 以取得 WebContents 的串流。#31204
  • 已棄用 webContents.getPrinters() 並引入 webContents.getPrintersAsync()#31023
  • desktopCapturer.getSources 現在僅在主處理程序中可用。#30720

請參閱 17.0.0 版本說明,以取得新功能和變更的完整清單。

重大變更

以下是 Electron 17 中引入的重大變更。關於這些變更和未來變更的更多資訊,請參閱計畫的重大變更頁面。

渲染器中的 desktopCapturer.getSources

desktopCapturer.getSources API 現在僅在主處理程序中可用。變更此設定是為了提高 Electron 應用程式的預設安全性。

API 變更

Electron 17 中沒有任何 API 變更。

已移除/已棄用的變更

  • 已移除在渲染器中使用 desktopCapturer.getSources API。如需有關如何在您的應用程式中取代此 API 的詳細資訊,請參閱此處

13.x.y 終止支援

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

自 Electron 15 起,我們已將支援的版本從最新的三個版本變更為最新的四個版本,直到 2022 年 5 月的 Electron 19 為止。在 Electron 19 之後,我們將恢復支援最新的三個版本。此版本支援變更是我們新的節奏變更的一部分。如需完整詳細資訊,請參閱我們的部落格文章

E15 (21年9月)E16 (21年11月)E17 (22年2月)E18 (22年3月)E19 (22年5月)
15.x.y16.x.y17.x.y18.x.y19.x.y
14.x.y15.x.y16.x.y17.x.y18.x.y
13.x.y14.x.y15.x.y16.x.y17.x.y
12.x.y13.x.y14.x.y15.x.y--

下一步

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

您可以在這裡找到 Electron 的公開時間軸

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

Electron 16.0.0

·4 分鐘閱讀時間

Electron 16.0.0 已發布!其中包含 Chromium 96、V8 9.6 和 Node.js 16.9.1 的升級。請閱讀以下內容以了解更多詳細資訊!


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

重要變更

Electron 發布頻率變更

從 Electron 15 開始,Electron 將每 8 週發布一個新的主要穩定版本。您可以閱讀此處的完整詳細資訊

此外,在 2022 年 5 月之前,Electron 已將支援的版本從最新的三個版本更改為最新的四個版本。請參閱我們的版本說明文件,以取得關於 Electron 版本控制的更詳細資訊。在 2022 年 5 月之後,我們將恢復支援最新的三個版本。

堆疊變更

重點功能

  • 現在支援 WebHID API。#30213
  • 將資料參數新增至 app.requestSingleInstanceLock,以在執行個體之間共用資料。#30891
  • 將 securityOrigin 傳遞至媒體權限請求處理常式。#31357
  • 新增 commandLine.removeSwitch#30933

請參閱 16.0.0 版本說明,以取得新功能和變更的完整清單。

重大變更

以下是 Electron 16 中引入的重大變更。關於這些變更和未來變更的更多資訊,請參閱計畫的重大變更頁面。

建置原生模組

如果您的專案使用 node-gyp 來建置原生模組,您可能需要根據專案的設定和 Electron 版本使用 --force-process-config 來呼叫它。關於此變更的更多資訊,請參閱 #2497

行為已變更:crashReporter 實作已在 Linux 上切換至 Crashpad

Linux 上 crashReporter API 的底層實作已從 Breakpad 變更為 Crashpad,使其與 Windows 和 Mac 一致。因此,現在會自動監控子處理程序,並且不再需要在 Node 子處理程序中呼叫 process.crashReporter.start (而且不建議這樣做,因為它會啟動 Crashpad 報告器的第二個執行個體)。

在 Linux 上回報註解的方式也有一些細微的變更,包括長值不再會在附加 __1__2 等的註解之間分割,而是會在(新的、更長的)註解值限制處截斷。

API 變更

Electron 16 中沒有任何 API 變更。

已移除/已棄用的變更

  • 在渲染器中使用 desktopCapturer.getSources API 已被棄用,並將被移除。此變更可提高 Electron 應用程式的預設安全性。如需有關如何在您的應用程式中取代此 API 的詳細資訊,請參閱此處

12.x.y 終止支援

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

自 Electron 15 起,我們已將支援的版本從最新的三個版本變更為最新的四個版本,直到 2022 年 5 月的 Electron 19 為止。在 Electron 19 之後,我們將恢復支援最新的三個版本。此版本支援變更是我們新的節奏變更的一部分。如需完整詳細資訊,請參閱我們的部落格文章

E15 (21年9月)E16 (21年11月)E17 (22年2月)E18 (22年3月)E19 (22年5月)
15.x.y16.x.y17.x.y18.x.y19.x.y
14.x.y15.x.y16.x.y17.x.y18.x.y
13.x.y14.x.y15.x.y16.x.y17.x.y
12.x.y13.x.y14.x.y15.x.y--

下一步

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

您可以在這裡找到 Electron 的公開時間軸

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

Electron 15.0.0

·4 分鐘閱讀時間

Electron 15.0.0 已發布!其中包含 Chromium 94、V8 9.4 和 Node.js 16.5.0 的升級。我們新增了對 window.open 的 API 更新、錯誤修正和一般改進。請閱讀以下內容以了解更多詳細資訊!


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

重要變更

Electron 發布頻率變更

從 Electron 15 開始,Electron 將每 8 週發布一個新的主要穩定版本。您可以在此處閱讀完整詳細資訊。

此外,Electron 將把支援的版本從最新的三個版本變更為最新的四個版本,直到 2022 年 5 月。關於 Electron 中的版本控制的更多詳細資訊,請參閱我們的版本控制文件

堆疊變更

重點功能

  • nativeWindowOpen: true 不再是實驗性的,現在是預設值。
  • 新增 safeStorage 字串加密 API。#30430
  • 在頁面中建立框架時,新增了 WebContents 的 'frame-created' 事件。#30801
  • 新增調整大小的 edge 資訊至 BrowserWindowwill-resize 事件。#29199

如需完整的新功能和變更列表,請參閱 15.0.0 版本說明

重大變更

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

預設值已變更:nativeWindowOpen 預設為 true

在 Electron 15 之前,window.open 預設會被補上以使用 BrowserWindowProxy。這表示 window.open('about:blank') 無法同步開啟可編寫腳本的子視窗,以及其他不相容的問題。nativeWindowOpen: true 不再是實驗性的,現在是預設值。

有關更多詳細資訊,請參閱 Electron 中 window.open 的文件。

API 變更

  • 在頁面中建立框架時,新增了 WebContents 的 'frame-created' 事件。#30801
  • 新增 safeStorage 字串加密 API。#30430
  • 新增 signal 選項至 dialog.showMessageBox#26102
  • 新增一個 Electron 保險絲,用於在您的應用程式載入的 app.asar 檔案上強制執行程式碼簽章。需要最新的 asar 模組(v3.1.0 或更高版本)。#30900
  • 新增保險絲以停用封裝應用程式中的 NODE_OPTIONS--inspect 除錯引數。#30420
  • 新增新的 MenuItem.userAccelerator 屬性以讀取使用者指派的 macOS 加速器覆寫。#26682
  • 新增新的 app.runningUnderARM64Translation 屬性,以偵測在 Apple Silicon 上於 Rosetta 下執行,或在 Windows for ARM 上於 WOW 下執行。#29168
  • 新增新的 imageAnimationPolicy 網頁偏好設定,以控制影像的動畫顯示方式。#29095
  • 新增透過內容橋傳送 Blob 的支援。#29247

已移除/已棄用的變更

沒有任何 API 被移除或棄用。

支援的版本

從 Electron 15 開始,我們將把支援的版本從最新的三個版本變更為最新的四個版本,直到 2022 年 5 月的 Electron 19。在 Electron 19 之後,我們將恢復支援最新的三個版本。此版本支援變更是我們新節奏變更的一部分。有關完整詳細資訊,請參閱我們的部落格文章

我們鼓勵開發人員和應用程式升級到較新版本的 Electron。

E15 (21年9月)E16 (21年11月)E17 (22年2月)E18 (22年3月)E19 (22年5月)
15.x.y16.x.y17.x.y18.x.y19.x.y
14.x.y15.x.y16.x.y17.x.y18.x.y
13.x.y14.x.y15.x.y16.x.y17.x.y
12.x.y13.x.y14.x.y15.x.y--

下一步

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

您可以在這裡找到 Electron 的公開時間軸

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