Electron 9.0.0
Electron 9.0.0がリリースされました!Chromium 83、V8 8.3、Node.js 12.14へのアップグレードが含まれています。スペルチェッカー機能にいくつかの新しいAPI統合を追加し、PDFビューアを有効にするなど、多くの機能強化が施されています!
Electronチームは、Electron 9.0.0のリリースを発表できることを嬉しく思います!npm install electron@latestでnpmを使用してインストールするか、リリースウェブサイトからダウンロードできます。このリリースには、アップグレード、修正、新機能が満載です。皆様がそれらを使ってどのようなものを作るのか、とても楽しみにしています!詳細については読み進めてください。フィードバックがありましたら、ぜひ共有してください!
注目すべき変更点
スタックの変更
- Chromium
83.0.4103.64 - Node.js
12.14.1 - V8
8.3
ハイライト機能
新機能と変更点の完全なリストについては、9.0.0リリースノートを参照してください。
破壊的変更
enableRemoteModule: trueなしでremoteを使用する場合の非推奨警告。#21546- これは、
remoteモジュールの非推奨化とユーザーランドへの移動計画の最初のステップです。その理由の詳細と非推奨化の提案されたタイムラインについては、このissueを参照して追跡できます。
- これは、
- デフォルトで
app.enableRendererProcessReuseをtrueに設定。#22336 - IPCを介してJavaScript以外のオブジェクトを送信すると、例外がスローされるようになりました。#21560
- この動作はElectron 8.0で非推奨になりました。Electron 9.0では、古いシリアル化アルゴリズムが削除され、そのようなシリアル化できないオブジェクトを送信すると、「オブジェクトを複製できませんでした」というエラーがスローされるようになりました。
これらの変更と今後の変更に関する詳細は、計画された破壊的変更ページを参照してください。
APIの変更
shellAPIの変更shell.openItemAPIは、非同期shell.openPath APIに置き換えられました。提案
sessionAPIの変更appAPIの変更- macOSでアプリが強制的にフォーカスを取得できるように、
app.focus()に新しいforceパラメータを追加しました。#23447
- macOSでアプリが強制的にフォーカスを取得できるように、
BrowserWindowAPIの変更BrowserWindowの一部のgetter/setterペアへのプロパティアクセスをサポートしました。#23208
非推奨API
以下のAPIは非推奨または削除されました。
shell.openItemAPIは非推奨となり、非同期shell.openPath APIに置き換えられました。- Electron 8.0で非推奨になった
<webview>.getWebContentsは、削除されました。 - Electron 8.0で非推奨になった
webFrame.setLayoutZoomLevelLimitsは、削除されました。
6.x.yのサポート終了
プロジェクトのサポートポリシーに従って、Electron 6.x.yのサポートは終了しました。開発者とアプリケーションは、新しいバージョンのElectronにアップグレードすることをお勧めします。
今後の予定
短期的な展望としては、チームはElectronを構成する主要コンポーネント(Chromium、Node.js、V8など)の開発に追いつくことに引き続き重点を置く予定です。リリース日に関する約束は慎重に行っていますが、これらのコンポーネントの新しいバージョンを含むElectronの新しいメジャーバージョンを四半期ごとにリリースする予定です。暫定的なElectron 10.0.0のスケジュールには、Electron 10.0開発ライフサイクルの重要な日付が示されています。また、Electronのバージョニングに関するドキュメントで、Electronのバージョニングに関する詳細情報を確認できます。
今後のElectronバージョンの計画されている破壊的変更については、計画されている破壊的変更に関するドキュメントを参照してください。
contextIsolationのデフォルトをfalseからtrueに変更(Electron 10以降)
contextIsolationを有効にしない場合、レンダラープロセスで実行されているコードは、Electronの内部処理やアプリのプリロードスクリプトに非常に簡単にアクセスできます。そのコードは、Electronが制限したい特権的なアクションを実行する可能性があります。
このデフォルトを変更することで、Electronアプリのデフォルトのセキュリティが向上し、アプリは意図的に安全でない動作を選択する必要があります。Electron 10.0では、現在のcontextIsolationのデフォルト(false)は非推奨となり、Electron 12.0で新しいデフォルト(true)に変更されます。
contextIsolation、その簡単な有効化方法、およびセキュリティ上の利点の詳細については、専用のコンテキスト分離に関するドキュメントを参照してください。

