跳到主要內容

Electron 2.0.0

·5 分鐘閱讀

經過四個多月的開發、八個 Beta 版本發行,以及來自許多應用程式分階段發布的全球測試後,Electron 2.0.0 版本現已可從electronjs.org 下載。


發行流程

從 2.0.0 開始,Electron 的發行版本將遵循語意化版本控制。這表示主要版本將更頻繁地更新,並且通常會是 Chromium 的主要更新。修補程式版本應該更穩定,因為它們將僅包含高優先順序的錯誤修正。

Electron 2.0.0 也代表在主要版本發行之前,Electron 穩定化方式的改進。幾個大規模的 Electron 應用程式已在其分階段發布中包含 2.0.0 Beta 版本,為 Beta 系列提供了 Electron 有史以來最佳的回饋迴圈。

變更 / 新功能

  • Electron 工具鏈中幾個重要部分的重大更新,包括 Chrome 61、Node 8.9.3、V8 6.1.534.41、Linux 上的 GTK+ 3、更新的拼字檢查器和 Squirrel。
  • 應用程式內購買現在在 macOS 上受到支援。#11292
  • 用於載入檔案的新 API。#11565
  • 用於啟用/停用視窗的新 API。#11832
  • 新的 API app.setLocale()。#11469
  • 新的 IPC 訊息記錄支援。#11880
  • 新的選單事件。#11754
  • 為 powerMonitor 新增 shutdown 事件。#11417
  • 新增 affinity 選項,用於將多個 BrowserWindow 收集到單一程序中。#11501
  • 為 saveDialog 新增列出可用副檔名的功能。#11873
  • 支援其他通知動作#11647
  • 設定 macOS 通知關閉按鈕標題的功能。#11654
  • 為 menu.popup(window, callback) 新增條件
  • 觸控列項目中的記憶體改進。#12527
  • 改進的安全性建議檢查清單。
  • 新增應用程式範圍的安全性範圍書籤。#11711
  • 新增在渲染器程序中設定任意引數的功能。#11850
  • 為格式選擇器新增輔助視圖。#11873
  • 修正網路委派競爭條件。#12053
  • 在 Linux 上移除對 mips64el 架構的支援。Electron 需要 C++14 工具鏈,在發行時該架構無法使用。我們希望將來重新新增支援。

破壞性 API 變更

  • 移除已棄用的 API,包括
    • 變更 menu.popup 簽章。#11968
    • 移除已棄用的 crashReporter.setExtraParameter #11972
    • 移除已棄用的 webContents.setZoomLevelLimitswebFrame.setZoomLevelLimits#11974
    • 移除已棄用的 clipboard 方法。#11973
    • 移除對 tray.setHighlightMode 布林參數的支援。#11981

錯誤修正

  • 變更為確保 webContents.isOffscreen() 始終可用。#12531
  • 修正當 DevTools 取消停靠並處於焦點時,BrowserWindow.getFocusedWindow() 的問題。#12554
  • 修正如果預先載入路徑包含特殊字元,則預先載入無法在沙箱渲染器中載入的問題。#12643
  • 根據文件修正 allowRunningInsecureContent 的預設值。#12629
  • 修正 nativeImage 的透明度問題。#12683
  • 修正 Menu.buildFromTemplate 的問題。#12703
  • 確認 menu.popup 選項是物件。#12330
  • 移除新程序建立和內容發布之間的競爭條件。#12361
  • 在變更 BrowserView 時更新可拖曳區域。#12370
  • 修正 menubar 切換 Alt 鍵焦點偵測。#12235
  • 修正 webview 中的不正確警告。#12236
  • 修正從父視窗繼承 'show' 選項的問題。#122444
  • 確保 getLastCrashReport() 實際上是最後一個損毀報告。#12255
  • 修正網路共用路徑上的 require。#12287
  • 修正關聯選單點擊回呼。#12170
  • 修正彈出式選單位置。#12181
  • 改進 libuv 迴圈清除。#11465
  • 修正透明顏色的 hexColorDWORDToRGBA#11557
  • 修正 getWebPreferences API 的空指標取消引用。#12245
  • 修正選單委派中的循環參考。#11967
  • 修正 net.request 的協定篩選。#11657
  • WebFrame.setVisualZoomLevelLimits 現在設定 user-agent 縮放比例限制#12510
  • 為 webview 選項設定適當的預設值。#12292
  • 改進的鮮豔度支援。#12157 #12171 #11886
  • 修正單例 fixture 中的計時問題。
  • 修正 NotifierSupportsActions() 中損壞的生產快取
  • 使 MenuItem 角色與 camelCase 相容。#11532
  • 改進觸控列更新。#11812#11761
  • 移除額外的選單分隔符號。#11827
  • 修正藍牙選擇器錯誤。關閉 #11399
  • 修正 macOS 全螢幕切換選單項目標籤。#11633
  • 改進當視窗停用時的工具提示隱藏。#11644
  • 遷移已棄用的 web-view 方法。#11798
  • 修正關閉從 browserview 開啟的視窗。#11799
  • 修正藍牙選擇器錯誤。#11492
  • 更新為對 app.getFileIcon API 使用工作排程器。#11595
  • 變更為即使在螢幕外渲染時也觸發 console-message 事件。#11921
  • 修正使用 WebContents.downloadURL 從自訂協定下載的問題。#11804
  • 修正當 devtools 分離時,透明視窗失去透明度的問題。#11956
  • 修正 Electron 應用程式取消重新啟動或關機的問題。#11625

macOS

  • 修正重複使用觸控列項目時的事件洩漏。#12624
  • 修正深色模式中的 tray 反白顯示。#12398
  • 修正封鎖非同步對話方塊的主程序。#12407
  • 修正 setTitle tray 損毀。#12356
  • 修正設定 dock 選單時的損毀。#12087

Linux

  • 更好的 Linux 桌面通知。#12229 #12216 #11965 #11980
  • 更好的 GTK+ 主題支援選單。#12331
  • 在 Linux 上正常結束。#12139
  • 使用應用程式的名稱作為 tray 圖示的預設工具提示。#12393

Windows

  • 新增 Visual Studio 2017 支援。#11656
  • 修正將例外狀況傳遞至系統損毀處理常式的問題。#12259
  • 修正從最小化視窗隱藏工具提示的問題。#11644
  • 修正 desktopCapturer 以擷取正確的螢幕。#11664
  • 修正具有透明度的 disableHardwareAcceleration#11704

接下來是什麼

Electron 團隊正努力支援較新版本的 Chromium、Node 和 v8。敬請期待 3.0.0-beta.1 即將推出!