メインコンテンツへ飛ぶ

Electron 38.0.0

· 読むのにかかる時間 1 分

Electron 38.0.0 がリリースされました! これには Chromium 140.0.7339.41、V8 14.0、Node 22.16.0 へのアップグレードが含まれています。


Electron チームは、Electron 38.0.0 のリリース発表にワクワクしています! You can install it with npm via npm install electron@latest or download it from our releases website. このリリースの詳細は続きをご覧ください。

何かフィードバックがあれば、BlueskyMastodon で共有したり、コミュニティの Discord に参加してみましょう! バグや機能の要望は Electron の Issue トラッカー で報告できます。

累積的変更

Electron 38 では、Chromium は 138.0.7204.35 から 140.0.7339.41 へ、Node は 22.16.0 から 22.18.0 へ、V8 は 13.8 から 14.0 へとアップグレードしています。

New Features and Improvements

  • システムアクセントカラーのカスタマイズと、アクティブなウィンドウの枠線の強調表示をサポートしました。 #47285 (及び 37)
  • macOS の process.getSystemMemoryInfo()fileBackedpurgeable フィールドを追加しました。 #48146 (及び 37)
  • macOS 上で起動時に Tray アイコンが位置を維持できるように、 guid コンストラクタオプションをサポートしました。 #48077 (及び 37)
  • frameToken から WebFrameMain を取得できるように、 WebFrameMain.fromFrameToken(processId, frameToken) を追加しました。 #47942
  • Windows と macOS に app.getRecentDocuments() のサポートを追加しました。 #47924 (及び 37)
  • アセットやリソースの場所を特定するために、内部的に DIR_ASSETS ではなく DIR_MODULE/DIR_EXE を使用するように変更し、app.getPath で要求できる名前として「assets」を追加しました。 #47950 (及び 37)
  • dialog.showMessageDialog が親ウィンドウを渡したときに、モニターの中心に誤ってウィンドウが表示される問題を修正しました。 #48215
  • macOS で loadURL を介して読み込まれた Web ページをユーザが操作できなかった問題を修正しました。 #47575

破壊的変更

Removed: macOS 11 support

macOS 11 (Big Sur) は Chromium でサポートされなくなりました。

Older versions of Electron will continue to run on Big Sur, but macOS 12 (Monterey) or later will be required to run Electron v38.0.0 and higher.

削除: ELECTRON_OZONE_PLATFORM_HINT 環境変数

--ozone-plaftform フラグのデフォルト値 が autoに変更されました。

Linux の Wayland セッションで起動すると、Electron はデフォルトでネイティブの Wayland アプリとして実行されるようになりました。 一部の機能と API は Wayland と X11 では動作が異なる場合があります。 --ozone-platform=x11 フラグを追加することで、古いバージョンのように、X11 互換モード(Xwayland)で Electron を強制的に実行することができます。

削除: plugin-crashed イベント

webContents から plugin-crashed イベントが削除されました。

非推奨: webFrame.routingId プロパティ

routingId プロパティは将来的に webFrame オブジェクトから削除されます。

代わりに webFrame.frameToken を使用してください。

非推奨: webFrame.findFrameByRoutingId(routingId)

webFrame.findFrameByRoutingId(routingId) 関数は将来的に削除されます。

代わりに webFrame.findFrameByToken(frameToken) を使用してください。

Google Summer of Code 閉幕

私たちの 2 人の Google Summer of Code コントリビューターが夏のプロジェクトを完了しました!

  • @nilayarya は Electron コアで新しい ウィンドウ状態の保存/復元 API を作成しました。 The new APIs will provide a built-in, standardized way to handle window state persistence. electron/rfcs#16 で Nilay のオリジナルの RFC を参照してください。
  • @hitarth-gg は Chrome Manifest V3 API を使用して、長期休止状態の Devtron 拡張機能の近代化に多大な労力を費やしました。 このプロジェクトは、開発者が IPC 通信のデバッグ、イベントリスナーの追跡、および Electron アプリケーション内のモジュールの依存関係を視覚化するためのツールを提供します。

彼らのプロジェクトと成果について、より詳しいブログ記事を近日公開予定。

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

プロジェクトの サポートポリシー に則り、Electron 35.x.y はサポート終了を迎えました。 開発者とアプリケーションは新しいバージョンの Electron にアップグレードすることを推奨します。

E38 (2025 年 9 月)E39 (2025 年 10 月)E40 (2026 年 1 月)
38.x.y39.x.y40.x.y
37.x.y38.x.y39.x.y
36.x.y37.x.y38.x.y

次回予告

短期的には、Chromium、Node、V8 といった Electron を構成する主要コンポーネントの開発に遅れないでチームが注力し続けるでしょう。

Electron の公開タイムラインはこちらで ご覧いただけます。

今後の変更についての詳細は、予定されている破壊的変更 のページをご覧ください。