メインコンテンツへスキップ

Electron 20.0.0

·4 分で読めます

Electron 20.0.0 がリリースされました! Chromium 104、V8 10.4、Node.js 16.15.0 へのアップグレードが含まれています。詳細については以下をお読みください!


Electron チームは、Electron 20.0.0 のリリースを発表できることを嬉しく思います! npm install electron@latest で npm を使用してインストールするか、リリースウェブサイト からダウンロードできます。このリリースに関する詳細を引き続き読み、フィードバックを共有してください!

注目すべき変更点

新機能

  • Windows に没入型ダークモードを追加しました。#34549
  • パネルのような動作のサポートを追加しました。ウィンドウはフルスクリーンアプリの上に浮くことができます。#34665
  • Windows コントロールオーバーレイボタンを、Windows 11 でよりネイティブに見えるように更新しました。#34888
  • nodeIntegration: true または sandbox: false が指定されていない限り、レンダラーはデフォルトでサンドボックス化されるようになりました。#35125
  • nan でネイティブモジュールをビルドする際の安全対策を追加しました。#35160

スタックの変更

破壊的変更と API の変更

以下は、Electron 20 で導入された破壊的な変更です。これらの変更および今後の変更に関する詳細については、計画された破壊的変更 ページをご覧ください。

デフォルトの変更: nodeIntegration: true を指定しないレンダラーは、デフォルトでサンドボックス化されます

以前は、プリロードスクリプトを指定したレンダラーは、デフォルトでサンドボックス化されていませんでした。これは、デフォルトで、プリロードスクリプトが Node.js にアクセスできることを意味していました。Electron 20 では、このデフォルトが変更されました。Electron 20 以降、nodeIntegration: true または sandbox: false が指定されていない限り、レンダラーはデフォルトでサンドボックス化されます。

プリロードスクリプトが Node に依存しない場合は、何もする必要はありません。プリロードスクリプトが Node に依存する場合は、レンダラーから Node の使用を削除するようにリファクタリングするか、関連するレンダラーに sandbox: false を明示的に指定してください。

修正済み: nan ネイティブモジュールでの自発的なクラッシュ

Electron 20 では、ネイティブモジュールに関連する 2 つの項目を変更しました。

  1. V8 ヘッダーは、デフォルトで c++17 を使用するようになりました。このフラグは electron-rebuild に追加されました。
  2. nan に依存するネイティブモジュールで、インクルードが不足している場合に自発的なクラッシュが発生する問題を修正しました。

最大限の安定性のために、ネイティブモジュール、特に nan に依存するモジュールを再構築する場合は、node-gyp >=8.4.0 および electron-rebuild >=3.2.9 を使用することをお勧めします。詳細については、electron #35160 および node-gyp #2497 を参照してください。

削除済み: Linux の .skipTaskbar

X11 では、skipTaskbar_NET_WM_STATE_SKIP_TASKBAR メッセージを X11 ウィンドウマネージャーに送信します。Wayland には直接的な同等の機能がなく、既知の回避策には許容できないトレードオフ (例: GNOME の Window.is_skip_taskbar には安全でないモードが必要) があるため、Electron は Linux でこの機能をサポートできません。

17.x.y のサポート終了

Electron 17.x.y は、プロジェクトのサポートポリシーに従ってサポート終了となりました。開発者およびアプリケーションは、新しいバージョンの Electron にアップグレードすることをお勧めします。

E18 (22 年 3 月)E19 (22 年 5 月)E20 (22 年 8 月)E21 (22 年 9 月)E22 (22 年 12 月)
18.x.y19.x.y20.x.y21.x.y22.x.y
17.x.y18.x.y19.x.y20.x.y21.x.y
16.x.y17.x.y18.x.y19.x.y20.x.y
15.x.y--------

次のステップ

短期的には、Electronを構成する主要コンポーネントであるChromium、Node、V8の開発に追随することに、チームは引き続き注力すると予想されます。リリース日について確約はできませんが、計画では、これらのコンポーネントの新しいバージョンに合わせて、約2ヶ月ごとにElectronの新しいメジャーバージョンをリリースする予定です。

Electronの公開タイムラインはこちらで確認できます。

今後の変更に関する詳細は、計画された破壊的変更ページで確認できます。