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のサポート、および
UtilityProcess
APIエントリポイントなどの領域でのサポートが含まれます。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ドキュメントを参照してください。
UtilityProcess
APIに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の公開タイムラインはこちらをご覧ください。
将来の変更に関する詳細については、計画されている破壊的変更ページを参照してください。