Electron 20.0.0
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 11 でよりネイティブに見えるように Windows コントロールオーバーレイボタンを更新しました。 #34888
nodeIntegration: true
やsandbox: false
が指定されない限り、デフォルトでレンダラーがサンドボックス化されるようになりました。 #35125- nan でネイティブモジュールをビルドする際のセーフガードを追加しました。 #35160
累積的変更
- Chromium
104
- Node.js
16.15.0
- V8
10.4
破壊的な API の変更
以下は、Electron 20 での破壊的変更点です。 これらの変更と将来の変更の詳細については、予定されている破壊的変更 のページを参照してください。
省略値の変更: nodeIntegration: true
指定が無いレンダラーはデフォルトでサンドボックス化されます。
これまで、プリロードスクリプトを指定したレンダラーはデフォルトでサンドボックス化されていませんでした。 つまり、プリロードスクリプトはデフォルトで Node.js へのアクセス権を持っていたということです。 Electron 20 では、この省略値が変更されました。 Electron 20 以降、レンダラーに nodeIntegration: true
または sandbox: false
が指定されていない限り、デフォルトでサンドボックス化されます。
プリロードスクリプトが Node に依存していない場合、対応は不要です。 プリロードスクリプトが Node に依存している場合は、リファクタしてレンダラーから Node の使用部分を削除するか、そういったレンダラーでは sandbox: false
を明示的に指定してください。
修正: nan ネイティブモジュールでの自発的クラッシュ
Electron 20 では、ネイティブモジュールに関する 2 つの項目を変更しました。
- V8 ヘッダはデフォルトで
c++17
を使用するようになりました。 このフラグは electron-rebuild で付与されます。 - 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 (Mar'22) | E19 (May'22) | E20 (Aug'22) | E21 (Sep'22) | E22 (Dec'22) |
---|---|---|---|---|
18.x.y | 19.x.y | 20.x.y | 21.x.y | 22.x.y |
17.x.y | 18.x.y | 19.x.y | 20.x.y | 21.x.y |
16.x.y | 17.x.y | 18.x.y | 19.x.y | 20.x.y |
15.x.y | -- | -- | -- | -- |
次回予告
短期的には、Chromium、Node、V8 といった Electron を構成する主要コンポーネントの開発に遅れないでチームが注力し続けるで しょう。 リリース日について約束しないように注意していますが、予定では 2 か月ごとに新しいメジャーバージョンの Electron を、各コンポーネントの新しいバージョンに対してリリースします。
Electron の公開タイムラインはこちら になります。
将来の変更の詳細については、予定されている破壊的変更 のページをご参照ください。