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
インスタンスのサブフレームにアクセスするため、新しくwebFrameMain
API を追加しました。 #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 の変更
webFrameMain
API の追加:webFrameMain
モジュールは、既存のWebContents
インスタンス間を横断したフレーム探索に利用できます。 これはメインプロセスにおける既存の webFrame API と等価なものです。 この新しい API の詳細については、こちら か ドキュメント を参照してください。app
API の変更:BrowserWindow
API の変更:BrowserWindow.isTabletMode()
API を追加しました。 #25209resized
(Windows/macOS) とmoved
(Windows) イベントをBrowserWindow
に追加しました。 #26216- システムコンテキストメニューの抑制とオーバーライドができる
system-context-menu
イベントを追加しました。 #25795 BrowserView
を手前に移動できるwin.setTopBrowserView()
を追加しました。 #27713webPreferences.preferredSizeMode
を追加しました。これにより document の最小サイズに応じてビューのサイズを変更できます。 #25874
contextBridge
API の変更:- ContextBridge の
exposeInMainWorld
メソッドが、非オブジェクトの API を公開できるようにしました。 #26834
- ContextBridge の
display
API の変更:Display
オブジェクトにdisplayFrequency
プロパティを追加し、Windows でのリフレッシュレートに関する情報を取得できるようにしました。 #26472
extensions
API の変更:- いくつかの
chrome.management
API のサポートを追加しました。 #25098
- いくつかの
MenuItem
API の変更:- macOS 共有メニュー表示のサポートを追加しました。 #25629
net
API の変更:powerMonitor
API の変更:session
API の変更:ses.loadExtension()
API にallowFileAccess
オプションを追加しました。 #27702session.setPermissionRequestHandler
のためにdisplay-capture
API を追加しました。 #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
shell
API の変更:- 同期 API の
shell.moveItemToTrash()
に代わり、新しく非同期のshell.trashItem()
API を追加しました。 #25114
- 同期 API の
webContents
API の変更:- レンダラーのクラッシュのデバッグに役立つよう、コンソールに小さなコンソールヒントを追加しました。 #25317
- webRequest ハンドラーの details オブ ジェクトに
frame
とwebContents
のプロパティを追加しました。 #27334 - ハングしたレンダラーの回復を支援するため、レンダラープロセスを強制的に終了させる
webContents.forcefullyCrashRenderer()
を追加しました。 #25580 - レンダラーが作成した子ウィンドウ用の
setWindowOpenHandler
API を追加し、new-window
イベントを非推奨にしました。 #24517
webFrame
API の変更:- レンダラーにスペルチェックの API を追加しました。 #25060
削除/非推奨となった変更
以下の API は削除されたか非推奨になりました。
remote
モジュールを非推奨にしました。 これは@electron/remote
に置き換えられます。 #25293- 非推奨だった
crashReporter
API を削除しました。 #26709 - パッケージアプリのデフォルトの 'ヘルプ' メニューにある Electron ウェブサイトへのリンクを削除しました。 #25831
9.x.y サポート終了
Electron 9.x.y はプロジェクトの サポートポリシー に則りサポート終了となりました。 開発者とアプリケーションは新しいバージョンの Electron にアップグレードすることを推奨します。
次回予告
短期的には、Chromium、Node、V8 といった Electron を構成する主要コンポーネントの開発に遅れないでチームが注力し続けるでしょう。 リリース日について約束しないように注意していますが、予定では約四半期ごとに新しいメジャーバージョンの Electron を、各コンポーネントの新しいバージョンに対してリリースします。 仮 13.0.0 スケジュール では、Electron 13.0 開発ライフサイクルの主要な日付を示してあります。 また、Electron のバージョン管理の詳細については バージョン管理の ドキュメントを参照 してください。
今後のバージョンの Electron で予定されている破壊的な変更の詳細については、予定されている破壊的な変更のドキュメントを参照してください。