Electron 28.0.0
Electron 28.0.0 がリリースされました! Chromium 120.0.6099.56、V8 12.0、Node.js 18.18.2 へのアップグレードが含まれています。
Electronチームは、Electron 28.0.0 のリリースを発表できることを嬉しく思います! npm install electron@latest を介して npm でインストールするか、リリースWebサイトからダウンロードできます。このリリースに関する詳細については、以下をお読みください。
フィードバックがある場合は、Twitter または Mastodon で共有するか、コミュニティDiscord に参加してください! バグや機能リクエストは、Electron のissue trackerで報告できます。
主な変更点
ハイライト
- ECMAScriptモジュールまたはESMのサポートを実装しました(ECMAScriptモジュールとは? 詳細はこちら)。これには、Electron自体でのESMのサポート、および
UtilityProcessAPIエントリポイントなどの領域でのサポートが含まれます。ESMドキュメントで詳細を参照してください。 - Electron自体でのESMサポートの有効化に加えて、Electron ForgeはESMを使用してElectronアプリケーションをパッケージ化、ビルド、開発することもサポートしています。このサポートは、Forge v7.0.0以降で確認できます。
スタックの変更
- Chromium
120.0.6099.56- Chrome 119 の新機能、および DevTools 119 の新機能
- Chrome 120 の新機能、および DevTools 120 の新機能
- Node
18.18.2 - V8
12.0
新機能
- ESMサポートを有効にしました。#37535
- 詳細については、ESMドキュメントを参照してください。
UtilityProcessAPIにESMエントリポイントを追加しました。#40047displayオブジェクトに、detected、maximumCursorSize、nativeOriginを含むいくつかのプロパティを追加しました。#40554- Linuxで
ELECTRON_OZONE_PLATFORM_HINT環境変数のサポートを追加しました。#39792
破壊的変更
動作変更: WebContents.backgroundThrottling を false に設定すると、ホスト BrowserWindow 内のすべての WebContents に影響します
WebContents.backgroundThrottling を false に設定すると、それが表示するすべての WebContents について、BrowserWindow 内でのフレームスロットリングが無効になります。
削除: BrowserWindow.setTrafficLightPosition(position)
BrowserWindow.setTrafficLightPosition(position) は削除されました。代わりに BrowserWindow.setWindowButtonPosition(position) API を使用する必要があります。このAPIは、位置をシステムのデフォルトにリセットするために { x: 0, y: 0 } の代わりに null を受け入れます。
// Removed in Electron 28
win.setTrafficLightPosition({ x: 10, y: 10 });
win.setTrafficLightPosition({ x: 0, y: 0 });
// Replace with
win.setWindowButtonPosition({ x: 10, y: 10 });
win.setWindowButtonPosition(null);
削除: BrowserWindow.getTrafficLightPosition()
BrowserWindow.getTrafficLightPosition() は削除されました。代わりに BrowserWindow.getWindowButtonPosition() API を使用する必要があります。このAPIは、カスタム位置がない場合に { x: 0, y: 0 } の代わりに null を返します。
// Removed in Electron 28
const pos = win.getTrafficLightPosition();
if (pos.x === 0 && pos.y === 0) {
// No custom position.
}
// Replace with
const ret = win.getWindowButtonPosition();
if (ret === null) {
// No custom position.
}
削除: ipcRenderer.sendTo()
ipcRenderer.sendTo() API は削除されました。レンダラー間でMessageChannelを設定することで置き換える必要があります。
IpcRendererEvent の senderId および senderIsMainFrame プロパティも削除されました。
削除: app.runningUnderRosettaTranslation
app.runningUnderRosettaTranslation プロパティは削除されました。代わりに app.runningUnderARM64Translation を使用してください。
// Removed
console.log(app.runningUnderRosettaTranslation);
// Replace with
console.log(app.runningUnderARM64Translation);
25.x.yのサポート終了
Electron 25.x.y は、プロジェクトのサポートポリシーに従い、サポートが終了しました。開発者およびアプリケーションは、新しいバージョンのElectronにアップグレードすることをお勧めします。
| E28 (2023年12月) | E29 (2024年2月) | E30 (2024年4月) |
|---|---|---|
| 28.x.y | 29.x.y | 30.x.y |
| 27.x.y | 28.x.y | 29.x.y |
| 26.x.y | 27.x.y | 28.x.y |
今後の予定
短期的には、チームは引き続き、Chromium、Node、V8など、Electronを構成する主要コンポーネントの開発に追従することに焦点を当てていくでしょう。
Electronの公開タイムラインはこちらをご覧ください。
将来の変更に関する詳細については、計画されている破壊的変更ページを参照してください。
