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
インスタンスのサブフレームにアクセスするための新しい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 (ストリーミング SIMD 拡張機能 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()
を追加しました。#27713- ドキュメントの最小サイズに応じてビューのサイズを変更できるように、
webPreferences.preferredSizeMode
が追加されました。#25874
contextBridge
API の変更- ContextBridge の
exposeInMainWorld
メソッドで、オブジェクトではない API を公開できるようになりました。#26834
- ContextBridge の
display
API の変更- Windows でリフレッシュレートに関する情報を取得できるように、
Display
オブジェクトにdisplayFrequency
プロパティが追加されました。#26472
- Windows でリフレッシュレートに関する情報を取得できるように、
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
オプションが追加されました。#25818session
にextension-loaded
,extension-unloaded
,extension-ready
イベントが追加されました。#25385- SSL を設定できるように、
session.setSSLConfig()
が追加されました。#25461 session.setProxy()
でdirect
,auto_detect
,system
モードを明示的に指定できるようになりました。#24937- Serial API のサポートが追加されました。#25237
- スペルチェッカーを有効/無効にする API が追加されました。#26276
shell
API の変更- 同期的な
shell.moveItemToTrash()
に代わる、新しい非同期のshell.trashItem()
API が追加されました。#25114
- 同期的な
webContents
API の変更webFrame
API の変更- レンダラーにスペルチェック API が追加されました。#25060
削除/非推奨となった変更
以下の API は削除されたか、非推奨となりました。
remote
モジュールを非推奨にしました。これは@electron/remote
に置き換えられます。#25293- 非推奨の
crashReporter
API が削除されました。#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 で計画されている破壊的変更については、計画されている破壊的変更に関するドキュメントを参照してください。