本文へスキップ

Electron 32.0.0

·4分間の読書

Electron 32.0.0がリリースされました!Chromium `128.0.6613.36`、V8 `12.8`、Node `20.16.0`へのアップグレードが含まれています。


Electronチームは、Electron 32.0.0のリリースを発表できることを嬉しく思います!`npm install electron@latest`でnpmを使用してインストールするか、リリースウェブサイトからダウンロードできます。このリリースの詳細については、読み進めてください。

フィードバックがありましたら、TwitterまたはMastodonでお知らせいただくか、コミュニティのDiscordに参加してください!バグや機能のリクエストは、Electronのissue trackerで報告できます。

注目すべき変更点

ハイライト

  • ドキュメントに新しいAPIバージョン履歴を追加しました。これは、Google Summer of Codeの一環として@piotrpdevによって作成された機能です。このブログ投稿で詳細を確認できます。#42982
  • Web File APIから非標準のFile.path拡張機能を削除しました。#42053
  • ブロックされたパスでファイルまたはディレクトリを開こうとした場合の、Web File System APIにおけるアップストリームとのエラー処理を統一しました。#42993
  • 次の既存のナビゲーション関連APIを`webcontents.navigationHistory`に追加しました:`canGoBack`、`goBack`、`canGoForward`、`goForward`、`canGoToOffset`、`goToOffset`、`clear`。以前のナビゲーションAPIは非推奨となりました。#41752

スタックの変更

Electron 32は、Chromiumを`126.0.6478.36`から`128.0.6613.36`へ、Nodeを`20.14.0`から`20.16.0`へ、V8を`12.6`から`12.8`へアップグレードします。

新機能

  • ユーティリティプロセスから開始された認証リクエストに、`app`モジュールの`'login'`イベントを介して応答するサポートを追加しました。#43317
  • `CPUUsage`構造体に`cumulativeCPUUsage`プロパティを追加しました。これは、プロセス起動以降に使用されたCPU時間の合計秒数を返します。#41819
  • 次の既存のナビゲーション関連APIを`webContents.navigationHistory`に追加しました:`canGoBack`、`goBack`、`canGoForward`、`goForward`、`canGoToOffset`、`goToOffset`、`clear`。#41752
  • 既存の`webContents`オブジェクトを受け入れるように`WebContentsView`を拡張しました。#42086
  • `nativeTheme`に新しいプロパティ`prefersReducedTransparency`を追加しました。これは、ユーザーがシステムアクセシビリティ設定を介してOSレベルの透過性を低減することを選択したかどうかを示します。#43137
  • ブロックされたパスでファイルまたはディレクトリを開こうとした場合の、ファイルシステムアクセスAPIにおけるアップストリームとのエラー処理を統一しました。#42993
  • LinuxでWindowsコントロールオーバーレイAPIを有効にしました。#42681
  • ネットワークリクエストで`zstd`圧縮を有効にしました。#43300

破壊的変更

削除:`File.path`

Web `File`オブジェクトの非標準`path`プロパティは、Electronの初期バージョンで、レンダラーですべてを実行することが一般的だったときに、ネイティブファイルの処理を容易にするための便宜的な方法として追加されました。しかし、これは標準からの逸脱を表しており、マイナーなセキュリティリスクも伴うため、Electron 32.0以降、`webUtils.getPathForFile`メソッドに置き換えられました。

// Before (renderer)
const file = document.querySelector('input[type=file]');
alert(`Uploaded file path was: ${file.path}`);
// After (renderer)
const file = document.querySelector('input[type=file]');
electron.showFilePath(file);

// After (preload)
const { contextBridge, webUtils } = require('electron');

contextBridge.exposeInMainWorld('electron', {
showFilePath(file) {
// It's best not to expose the full file path to the web content if
// possible.
const path = webUtils.getPathForFile(file);
alert(`Uploaded file path was: ${path}`);
},
});

非推奨:`clearHistory`、`canGoBack`、`goBack`、`canGoForward`、`goForward`、`goToIndex`、`canGoToOffset`、`goToOffset` on `WebContents`

WebContentsインスタンス上のナビゲーション関連APIは非推奨になりました。これらのAPIは、ナビゲーション履歴の管理のためのより構造化され直感的なインターフェースを提供するために、WebContentsnavigationHistoryプロパティに移行されました。

// Deprecated
win.webContents.clearHistory();
win.webContents.canGoBack();
win.webContents.goBack();
win.webContents.canGoForward();
win.webContents.goForward();
win.webContents.goToIndex(index);
win.webContents.canGoToOffset();
win.webContents.goToOffset(index);

// Replace with
win.webContents.navigationHistory.clear();
win.webContents.navigationHistory.canGoBack();
win.webContents.navigationHistory.goBack();
win.webContents.navigationHistory.canGoForward();
win.webContents.navigationHistory.goForward();
win.webContents.navigationHistory.canGoToOffset();
win.webContents.navigationHistory.goToOffset(index);

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

Electron 29.x.yは、プロジェクトのサポートポリシーに従ってサポート終了となりました。開発者とアプリケーションは、新しいバージョンのElectronへのアップグレードを推奨します。

E32 (2024年8月)E33 (2024年10月)E34 (2025年1月)
32.x.y33.x.y34.x.y
31.x.y32.x.y33.x.y
30.x.y31.x.y32.x.y

今後の予定

短期的に、チームはChromium、Node、V8を含むElectronを構成する主要コンポーネントの開発を継続することに重点を置く予定です。

Electronのパブリックタイムラインはこちらで確認できます。

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