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,包括
錯誤修正
- 變更為確保
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 即將推出!