メインコンテンツへ飛ぶ

Electron 41

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

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


Electron チームは、Electron 41 のリリース発表にワクワクしています! npm install electron@latest から npm でインストールするか、リリースウェブサイト からダウンロードできます。 このリリースの詳細は続きをご覧ください。

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

info

最初の 41.0.0 パッケージを公開した後、いくつかの優先度の高いバグをフォローアップパッチリリースに統合しました。 Electron 41 へのアップグレード時に 41.0.2 をインストールすることをお勧めします。

注目すべき変更

セキュリティ強化のための ASAR 整合性ダイジェスト

Electron 41 以降、macOS Electron アプリは、ASAR 整合性 情報のダイジェストを埋め込むことができるようになりました。 これにより、ASAR 整合性を使用するアプリに対して、アプリ起動時に整合性情報そのものを検証することで、改ざん検知機能がさらに強化されます。

アプリケーションで機能を有効にするには、@electron/asar v4.1.0 以降で下記のコマンドを実行してください。

asar integrity-digest on /path/to/YourApp.app

その後、アプリを必ず再署名する必要があります。 詳細は、@electron/asar CLI ドキュメント を参照してください。

Electron Forge におけるこの機能のサポートは、近い将来に予定されています。(electron/forge#4159

Wayland サポートの改善

Wayland (Linux) では、フレームレスウィンドウにドロップシャドウと拡張サイズの境界線が追加されました。 装飾のない完全なフレームレスウィンドウを作成するには、ウィンドウコンストラクタに hasShadow: false に設定してください。 #49885

Mitchell Cohen は、Linux における Electron の Wayland およびクライアントサイドデコレーションのサポートを改善するための最近の取り組みについて、ブログ記事を執筆しています。 お見逃しなく!

MSIX 自動更新のサポートを追加

Electron チームは最近、RFC #21 に基づき、MSIX 自動更新機能のサポートを追加しました。 アップデートサーバーでは、基本的に同じ JSON レスポンス形式で、MSIX と Squirrel.Mac の両方を配信できるようになりました。 詳細については autoUpdater ドキュメント を参照してください。

これは #49586 で Electron 41 に追加され、Electron 39.5.0 (#49585) と Electron 40.2.0 (#49587) にバックポートされました。

累積的変更

Electron 41 では、Chromium は 144.0.7559.60 から 146.0.7680.65 へ、Node は v24.11.1 から v24.14.0 へ、V8 は 14.4 から 14.6 へとアップグレードしています。

新機能と改善点

  • macOS アプリケーションに位置情報サービスを無効にするための --disable-geolocation コマンドラインフラグを追加しました。 #45934
  • 共有テクスチャのインポートのための NV12 サポートを追加しました。 #48922 (及び 40)
  • utilityProcess API に TCC の責任放棄のための disclaim オプションを追加しました。 #49693 (及び 39, 40)
  • Windows における Notification'closed' イベントに reason プロパティを追加し、開発者に通知が閉じられた理由を知ることができるようにしました。 #50029 (及び 40)
  • webContents.print()usePrinterDefaultPageSize オプションを追加し、プリンタのデフォルトページサイズを使用できるようにしました。 #49812
  • webContentslogin イベントを介した、WebSocket 認証のサポートを追加しました。 #48512 (及び 39, 40)
  • Node.js の --experimental-transform-types フラグへのサポートを追加しました。 #49882 (及び 39, 40)
  • long-animation-frame スクリプト属性のサポートを追加しました(--enable-features=AlwaysLogLOAFURL 経由)。 #49773 (及び 39, 40)
  • webPreferences.focusOnNavigation を使用したナビゲーションに WebContents の自動フォーカスを無効にする機能を追加しました。 #49511 (及び 40)
  • Chromium の DevTools フロントエンドからの無関係なエラーが、メインプロセスで出てこないようになりました。 #49292 (及び 40)
  • WasmTrapHandlers fuse を通じた、WASM 用の V8 トラップハンドラーが有効になりました。 #49839
  • Windows の通知に対するアクションの対応範囲が拡大され、ボタン、ドロップダウンメニュー、返信機能が追加されました。 #49787 (及び 40)

破壊的変更

Behavior Changed: PDFs no longer create a separate WebContents

これまでは、PDF 資源はレンダリングのために独立したゲストの WebContents を作成していました。 これからは、PDF は同じ WebContents 内でレンダリングされます。 PDF 資源を検出するコードがある場合は、 WebContents の代わりに フレームツリー を使用してください。

内部的には、Chromium が 有効化した 機能により、PDF の処理において MimeHandlerViewGuest 拡張機能の代わりに、プロセス外 iframe(OOPIF)が使用されるようになりました。

Cookie の 'changed' イベント で使用される Cookie 変更理由を更新しました。 新しいクッキーが設定されると、変更理由は inserted になります。 クッキーが削除されたときは、変更理由は explicit のままです。 設定されるクッキーが既存のクッキーと完全に一致する場合(名前、ドメイン、パス、値がすべて同じで、実際の変更がない場合)、変更理由は inserted-no-change-overwrite となります。 設定される Cookie の値は変更されないものの、有効期限などの属性の一部が更新された場合、変更理由は inserted-no-value-change-overwrite となります。

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

プロジェクトの サポートポリシー に則り、Electron 38.x.y はサポート終了を迎えました。 開発者とアプリケーションは新しいバージョンの Electron にアップグレードすることを推奨します。 サポートされているバージョンの Electron のタイムラインについては、https://releases.electronjs.org/schedule を参照してください。

次回予告

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

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

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