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 install electron@latest から npm でインストールするか、リリースウェブサイト からダウンロードできます。 このリリースの詳細については下に続きます。是非ご意見をお聞かせください!
注目すべき変更
累積的変更
- 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 (Streaming SIMD Extensions 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()を追加しました。 #27713webPreferences.preferredSizeModeを追加しました。これにより document の最小サイズに応じてビューのサイズを変更できます。 #25874
contextBridgeAPI の変更:- ContextBridge の
exposeInMainWorldメソッドが、非オブジェクトの API を公開できるようにしました。 #26834
- ContextBridge の
displayAPI の変更:DisplayオブジェクトにdisplayFrequencyプロパティを追加し、Windows でのリフレッシュレートに関する情報を取得できるようにしました。 #26472
extensionsAPI の変更:- いくつかの
chrome.managementAPI のサポートを追加しました。 #25098
- いくつかの
MenuItemAPI の変更:- macOS 共有メニュー表示のサポートを追加しました。 #25629
netAPI の変更:powerMonitorAPI の変更:sessionAPI の変更:ses.loadExtension()API にallowFileAccessオプションを追加しました。 #27702session.setPermissionRequestHandlerのためにdisplay-captureAPI を追加しました。 #27696session.setSSLConfigにdisabledCipherSuitesオプションを追加しました。 #25818extension-loaded、extension-unloaded、extension-readyイベントをsessionに追加しました。 #25385- SSL の構成ができるように
session.setSSLConfig()を追加しました。 #25461 session.setProxy()のモードへdirect、auto_detect、systemのいずれかを明示的に指定するサポートを追加しました。 #24937- Serial API サポートを追加しました。 #25237
- スペルチェッカーを有効/無効にする API を追加しました。 #26276
shellAPI の変更:- 同期 API の
shell.moveItemToTrash()に代わり、新しく非同期のshell.trashItem()API を追加しました。 #25114
- 同期 API の
webContentsAPI の変更:- レンダラーのクラッシュのデバッグに役立つよう、コンソールに小さなコンソールヒントを追加しました。 #25317
- webRequest ハンドラーの details オブジェクトに
frameとwebContentsのプロパティを追加しました。 #27334 - ハングしたレンダラーの回復を支援するため、レンダラープロセスを強制的に終了させる
webContents.forcefullyCrashRenderer()を追加しました。 #25580 - レンダラーが作成した子ウィンドウ用の
setWindowOpenHandlerAPI を追加し、new-windowイベントを非推奨にしました。 #24517
webFrameAPI の変更:- レンダラーにスペルチェックの API を追加しました。 #25060
削除/非推奨となった変更
以下の API は削除されたか非推奨になりました。
remoteモジュールを非推奨にしました。 これは@electron/remoteに置き換えられます。 #25293- 非推奨だった
crashReporterAPI を削除しました。 #26709 - パッケージアプリのデフォルトの 'ヘルプ' メニューにある Electron ウェブサイトへのリンクを削除しました。 #25831
9.x.y サポート終了
Electron 9.x.y はプロジェクトの サポートポリシー に則りサポート終了となりました。 開発者とアプリケーションは新しいバージョンの Electron にアップグレードすることを推奨します。
次回予告
短期的には、Chromium、Node、V8 といった Electron を構成する主要コンポーネントの開発に遅れないでチームが注力し続けるでしょう。 リリース日について約束しないように注意していますが、予定では約四半期ごとに新しいメジャーバージョンの Electron を、各コンポーネントの新しいバージョンに対してリリースします。 仮 13.0.0 スケジュール では、Electron 13.0 開発ライフサイクルの主要な日付を示してあります。 また、Electron のバージョン管理の詳細については バージョン管理のドキュメントを参照 してください。
今後のバージョンの Electron で予定されている破壊的な変更の詳細については、予定されている破壊的な変更のドキュメントを参照してください。


