Electron 2.0.0
·5 分鐘閱讀
經過四個多月的開發、八個 Beta 版本以及來自許多應用程式分階段推出的全球測試後,現在可以從 electronjs.org 取得 Electron 2.0.0 的版本。
發佈流程
從 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
- 將
shutdown
事件新增至 powerMonitor。#11417 - 新增
affinity
選項,用於將多個 BrowserWindow 收集到單一進程中。#11501 - 新增了讓 saveDialog 列出可用擴充功能的能力。#11873
- 支援其他通知動作#11647
- 能夠設定 macOS 通知關閉按鈕標題。#11654
- 新增選單的條件判斷。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
- 修正了聚焦時選單列切換 Alt 鍵偵測。#12235
- 修正了網頁檢視中的不正確警告。#12236
- 修正了從父視窗繼承「顯示」選項的問題。#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
- 改進 vibrancy 支援。#12157 #12171 #11886
- 修正單例測試中的時序問題。
- 修正 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
- 修正深色模式下的系統匣反白顯示。#12398
- 修正非同步對話方塊阻擋主程序的問題。#12407
- 修正
setTitle
系統匣崩潰的問題。#12356 - 修正設定 dock 選單時發生的崩潰。#12087
Linux
- 更好的 Linux 桌面通知。#12229 #12216 #11965 #11980
- 更好的 GTK+ 選單主題支援。#12331
- 在 Linux 上正常結束。#12139
- 使用應用程式名稱作為系統匣圖示的預設工具提示。#12393
Windows
- 新增 Visual Studio 2017 支援。#11656
- 修正將例外狀況傳遞給系統崩潰處理常式的問題。#12259
- 修正從最小化視窗隱藏工具提示的問題。#11644
- 修正
desktopCapturer
以擷取正確的螢幕。#11664 - 修正具有透明度的
disableHardwareAcceleration
。#11704
下一步
Electron 團隊正努力支援更新版本的 Chromium、Node 和 v8。預計 3.0.0-beta.1 即將推出!