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 のリリース発表にワクワクしています! You can install it with npm via npm install electron@latest or download it from our releases website. このリリースの詳細については下に続きます。是非ご意見をお聞かせください!
累積的変更
- 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 の変更
- Added
webFrameMainAPI: ThewebFrameMainmodule can be used to look up frames across existingWebContentsinstances. これはメインプロセスにおける既存の 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 で予定されている破壊的な変更の詳細については、予定されている破壊的な変更のドキュメントを参照してください。


