Electron 32.0.0
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 トラッカー で報告できます。
注目すべき変更
ハイライト
- ドキュメントに新しく API バージョン履歴を追加しました。これは、Google Summer of Code の一環として @piotrpdev によって作成された機能です。 詳細については、こちらのブログ記事 をご覧ください。 #42982
- ウェブの File API から非標準の File.path 拡張を削除しました。 #42053
- ブロックされたパス内のファイルまたはディレクトリを開こうとしたときに、ウェブの ファイル システム API が失敗する流れを上流と整合させました。 #42993
webcontents.navigationHistory
に、次の既存のナビゲーション関連 API を追加しました:canGoBack
,goBack
,canGoForward
,goForward
,canGoToOffset
,goToOffset
,clear
。 以前のナビゲーション API は非推奨になりました。 #41752
累積的変更
- Chromium
128.0.6613.36
- Node
20.16.0
- V8
12.8
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 時間の累計秒数を返します。 #41819webContents.navigationHistory
に、次の既存のナビゲーション関連 API を追加しました:canGoBack
,goBack
,canGoForward
,goForward
,canGoToOffset
,goToOffset
,clear
。 #41752WebContentsView
を既存のwebContents
オブジェクトを受け入れるように拡張しました。 #42086nativeTheme
に新しいプロパティprefersReducedTransparency
を追加しました。これは、ユーザーがシステムのアクセシビリティ設定を介して OS レベルの透過度を下げることを選択したかどうかを示します。 #43137- ブロックされたパスでファイルまたはディレクトリを開こうとしたときに、ファイルシステムアクセス API が失敗する流れを上流と整合させました。 #42993
- Linux でウインドウコントロールオーバーレイ API を使えるようにしました。 #42681
- ネットワークリクエストで
zstd
圧縮を使えるようにしました。 #43300
破壊的変更
削除: File.path
ウェブの File
オブジェクトの非標準の path
プロパティは、レンダラー内ですべてを実行するのが一般的だった時代に、ネイティブのファイルを操作する便利な方法として Electron の初期バージョンで追加されました。 ただし、これは標準からの逸脱であり軽微なセキュリティリスクも伴うため、Electron 32.0 以降では webUtils.getPathForFile
メソッドに置き換えられました。
// 以前 (レンダラー)
const file = document.querySelector('input[type=file]');
alert(`Uploaded file path was: ${file.path}`);
// これから (レンダラー)
const file = document.querySelector('input[type=file]');
electron.showFilePath(file);
// これから (プリロード)
const { contextBridge, webUtils } = require('electron');
contextBridge.exposeInMainWorld('electron', {
showFilePath(file) {
// できればウェブコンテンツへの完全なファイルパスを
// 公開しないことを推奨します。
const path = webUtils.getPathForFile(file);
alert(`Uploaded file path was: ${path}`);
},
});
非推奨: WebContents
の clearHistory
, canGoBack
, goBack
, canGoForward
, goForward
, goToIndex
, canGoToOffset
, goToOffset
WebContents
インスタンスのナビゲーション関連の API が非推奨になりました。 これらの API は、ナビゲーション履歴を管理するための、より構造化された直感的なインターフェースを提供するために、WebContents
の navigationHistory
プロパティへ移動されました。
// 非推奨
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);
// こちらで置き換えてください
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.y | 33.x.y | 34.x.y |
31.x.y | 32.x.y | 33.x.y |
30.x.y | 31.x.y | 32.x.y |
次回予告
短期的には、Chromium、Node、V8 といった Electron を構成する主要コンポーネントの開発に遅れないでチームが注力し続けるでしょう。
Electron の公開タイムラインはこちらで ご覧いただけます。
今後の変更についての詳細は、予定されている破壊的変更 のページをご覧ください。