Electron 34.0.0
Electron 34.0.0 がリリースされました! これには Chromium 132.0.6834.83
、V8 13.2
、Node 20.18.1
へのアップグレードが含まれています。
Electron チームは、Electron 34.0.0 のリリース発表にワクワクしています! npm install electron@latest
から npm でインストールするか、リリースウェブサイト からダウンロードできます。 このリリースの詳細は続きをご覧ください。
何かフィードバックがあれば、Bluesky や Mastodon で共有したり、コミュニティの Discord に参加してみましょう! バグや機能の要望は Electron の Issue トラッカー で報告できます。
注目すべき変更
HTTP 圧縮における共有辞書管理 API
HTTP 圧縮は、ブラウザがデータを受信する前に、Web サーバーによってデータを圧縮することを可能にします。 最新バージョンの Chromium は Brotli や Zstandard などの新しい圧縮アルゴリウムをサポートしており、テキストファイルに対して gzip などの従来方式よりも優れた性能を発揮します。
カスタム圧縮辞書は Brotli や Zstandard の圧縮効率をさらに向上させます。 詳細は共有辞書についてのChrome for Developers ブログをご覧ください。
@felixrieseberg は #44950 に以下の API を追加し、セッションレベルで共有辞書を管理できるようになりました。
session.getSharedDictionaryUsageInfo()
session.getSharedDictionaryInfo(options)
session.clearSharedDictionaryCache()
session.clearSharedDictionaryCacheForIsolationKey(options)
応答しないレンダラーのJavaScriptコールスタック
レンダラープロセスが規定の時間以上ハングした場合、Electron の unresponsive
イベントが発生します。 @samuelmaddock が #44204 で追加した新しい webFrameMain.collectJavaScriptCallStack()
API は、関連する WebFrameMain
オブジェクト(webContnets.mainFrame
)から JavaScript のコールスタックを収集できるようにします。
この API は、JavaScript イベントが長時間実行され、プロセスがハングした場合にフレームが応答しなくなる原因を特定するのに役立ちます。 詳細はクラッシュレポート API の Web 標準への提唱をご覧ください。
const { app } = require('electron');
app.commandLine.appendSwitch(
'enable-features',
'DocumentPolicyIncludeJSCallStacksInCrashReports',
);
app.on('web-contents-created', (_, webContents) => {
webContents.on('unresponsive', async () => {
// 応答しないレンダラーの実行を中断し、コールスタックを収集する
const callStack = await webContents.mainFrame.collectJavaScriptCallStack();
console.log('Renderer unresponsive\n', callStack);
});
});
[! 注意] このAPIはヘッダーに
'Document-Policy': 'include-js-call-stacks-in-crash-reports'
を追加して、有効化する必要があります。 詳しい情報は #45356 を参照してください。
累積的変更
- Chromium
132.0.6834.83
- Node
20.18.1
- V8
13.2
Electron 34 では、130.0.6723.44
から 132.0.6834.83
へ、Node は 20.18.2
から 20.18.1
へ、V8 は 13.0
から 13.2
へとアップグレードしています。
新機能
- Brotli または ZStandard を使用して圧縮効率を向上するための、共有辞書を管理する API を追加しました。 新しい
session.getSharedDictionaryUsageInfo()
、session.getSharedDictionaryInfo(options)
、session.clearSharedDictionaryCache()
、session.clearSharedDictionaryCacheForIsolationKey(options)
APIを追加しました。 #44950 WebFrameMain.collectJavaScriptCallStack()
を追加し、応答しないレンダラーの JavaScript コールスタックにアクセスすることができるようになりました。 #44938- フレームのアンロード状態に
WebFrameMain.detached
を追加しました。- フレームが破棄されたかどうかを判断するために
WebFrameMain.isDestroyed()
が追加されました。 - フレームのアンロード中に、
WebFrameMain.fromId(processId, frameId)
が与えられたパラメータと一致しないインスタンスを返すのを修正しました。 #43473
- フレームが破棄されたかどうかを判断するために
- Added error event in utility process to support diagnostic reports on V8 fatal errors. #43774
- 機能:GPUアクセラレーションによる共有テクスチャのオフスクリーンレンダリングを追加。 #42953
破壊的変更
動作変更: Windows では、全画面表示中にメニューバーが非表示になります。
これにより、Linux と同等の動作になります。 以前までは、Windows では全画面表示中にメニューバーが表示されていました。 これからは、Windows では全画面表示中にメニューバーが隠れます。
訂正: これは以前、Electron 33 で破壊的変更として記載されていましたが、Electron 34 で最初にリリースされました。
31.x.y サポートの終了
プロジェクトの サポートポリシー に則り、Electron 31.x.y はサポート終了を迎えました。 開発者とアプリケーションは新しいバージョンの Electron にアップグレードすることを推奨します。
E34 (2025 年 1 月) | E35 (2025 年 4 月) | E36 (2025 年 6 月) |
---|---|---|
34.x.y | 35.x.y | 36.x.y |
33.x.y | 34.x.y | 35.x.y |
32.x.y | 33.x.y | 34.x.y |
次回予告
短期的には、Chromium、Node、V8 といった Electron を構成する主要コンポーネントの開発に遅れないでチームが注力し続けるでしょう。
Electron の公開タイムラインはこちらで ご覧いただけます。
今後の変更についての詳細は、予定されている破壊的変更 のページをご覧ください。