Electron 12.0.0
Electron 12.0.0 がリリースされました!Chromium 89、V8 8.9、Node.js 14.16 へのアップグレードが含まれています。remote モジュールへの変更、contextIsolation の新しいデフォルト、新しい webFrameMain API、および一般的な改善を追加しました。詳細については、以下をお読みください!
Electron チームは、Electron 12.0.0 のリリースを発表できることを嬉しく思います!npm を使用して npm install electron@latest でインストールするか、リリースウェブサイトからダウンロードできます。このリリースに関する詳細については、引き続きお読みください。また、フィードバックがあれば共有してください!
注目すべき変更点
スタックの変更
- Chromium
89 - Node.js
14.16 - V8
8.9
注目の機能
- ContextBridge
exposeInMainWorldメソッドで、オブジェクト以外の API を公開できるようになりました。#26834 - Node 12 から Node 14 にアップグレードしました。#23249
- メインプロセスから
WebContentsインスタンスのサブフレームにアクセスするための新しいwebFrameMainAPI を追加しました。#25464 contextIsolationとworldSafeExecuteJavaScriptのデフォルト値がtrueになりました。#27949 #27502
新機能と変更の完全なリストについては、12.0.0 のリリースノートをご覧ください。
破壊的な変更
remoteモジュールを非推奨にしました。これは@electron/remoteに置き換えられます。#25293- 現在
remoteモジュールを使用している場合は、@electron/remoteへの移行ガイドはこちらにあります。
- 現在
contextIsolationのデフォルト値をtrueに変更しました。#27949worldSafeExecuteJavaScriptのデフォルト値をtrueに変更しました。#27502crashReporter.start({ compress })のデフォルト値をfalseからtrueに変更しました。#25288- Flash サポートを削除しました。Chromium は Flash のサポートを削除しており、Electron 12 でも削除されました。詳細については、Chromium の Flash ロードマップをご覧ください。
- x86 での Chrome に SSE3 が必須になりました。Chromium は、SSE3 (ストリーミング SIMD 拡張機能 3) の最小限のサポートを満たしていない古い x86 CPU のサポートを削除しました。このサポートは Electron 12 でも削除されました。
これらの変更および将来の変更に関する詳細については、計画された破壊的な変更ページをご覧ください。
API の変更
webFrameMainAPI の追加:webFrameMainモジュールを使用して、既存のWebContentsインスタンス全体でフレームを検索できます。これは、既存の webFrame API のメインプロセス相当です。この新しい API の詳細については、こちら、およびドキュメントをご覧ください。appAPI の変更BrowserWindowAPI の変更BrowserWindow.isTabletMode()API を追加しました。#25209resized(Windows/macOS) およびmoved(Windows) イベントをBrowserWindowに追加しました。#26216- システムのコンテキストメニューを防止およびオーバーライドできるようにするための新しい
system-context-menuイベントを追加しました。#25795 BrowserViewを上げることができるように、win.setTopBrowserView()を追加しました。#27713- ドキュメントの最小サイズに応じてビューのサイズを変更できるように、
webPreferences.preferredSizeModeが追加されました。#25874
contextBridgeAPI の変更- ContextBridge の
exposeInMainWorldメソッドで、オブジェクトではない API を公開できるようになりました。#26834
- ContextBridge の
displayAPI の変更- Windows でリフレッシュレートに関する情報を取得できるように、
DisplayオブジェクトにdisplayFrequencyプロパティが追加されました。#26472
- Windows でリフレッシュレートに関する情報を取得できるように、
extensionsAPI の変更- 一部の
chrome.managementAPI のサポートが追加されました。#25098
- 一部の
MenuItemAPI の変更- macOS の共有メニューの表示がサポートされました。#25629
netAPI の変更powerMonitorAPI の変更sessionAPI の変更ses.loadExtension()API にallowFileAccessオプションが追加されました。#27702session.setPermissionRequestHandlerにdisplay-captureAPI が追加されました。#27696session.setSSLConfigにdisabledCipherSuitesオプションが追加されました。#25818sessionにextension-loaded,extension-unloaded,extension-readyイベントが追加されました。#25385- SSL を設定できるように、
session.setSSLConfig()が追加されました。#25461 session.setProxy()でdirect,auto_detect,systemモードを明示的に指定できるようになりました。#24937- Serial API のサポートが追加されました。#25237
- スペルチェッカーを有効/無効にする API が追加されました。#26276
shellAPI の変更- 同期的な
shell.moveItemToTrash()に代わる、新しい非同期のshell.trashItem()API が追加されました。#25114
- 同期的な
webContentsAPI の変更webFrameAPI の変更- レンダラーにスペルチェック API が追加されました。#25060
削除/非推奨となった変更
以下の API は削除されたか、非推奨となりました。
remoteモジュールを非推奨にしました。これは@electron/remoteに置き換えられます。#25293- 非推奨の
crashReporterAPI が削除されました。#26709 - パッケージ化されたアプリのデフォルトの「ヘルプ」メニューから、Electron の Web サイトへのリンクが削除されました。#25831
9.x.y のサポート終了
Electron 9.x.y は、プロジェクトのサポートポリシーに従い、サポート終了となりました。開発者およびアプリケーションは、新しいバージョンの Electron にアップグレードすることを推奨します。
今後の予定
短期的な目標としては、Chromium、Node、V8 を含む Electron を構成する主要コンポーネントの開発に遅れないようにすることに引き続き注力していきます。リリース日に関する約束は控えていますが、Electron の新しいメジャーバージョンを、これらのコンポーネントの新しいバージョンとともに、四半期ごとにリリースする予定です。暫定的な 13.0.0 のスケジュールでは、Electron 13.0 の開発ライフサイクルにおける主要な日付が示されています。また、Electron のバージョン管理に関する詳細については、バージョン管理に関するドキュメントを参照してください。
今後のバージョンの Electron で計画されている破壊的変更については、計画されている破壊的変更に関するドキュメントを参照してください。


