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 でインストールするか、リリースウェブサイト からダウンロードできます。 このリリースの詳細は続きをご覧ください。
何かフィードバックがあれば、Twitter や Mastodon で共有したり、コミュニティの Discord に参加してみましょう! バグや機能の要望は Electron の Issue トラッカー で報告できます。
注目すべき変更
ハイライト
- ECMAScript モジュール、略して ESM のサポートを実装しました (ECMAScript モジュールとは何かですって? こちらで詳しく学べます。 これは Electron での ESM サポートだけでなく、
UtilityProcess
API のエントリポイントなどの領域も含まれます。 詳細については 私たちの ESM の ドキュメント をご参照ください。 - 加えて Electron Forge は、Electron 自体での ESM サポートだけでなく Electron アプリケーションのパッケージ化、ビルド、開発においても ESM をサポートしています。 このサポートは Forge v7.0.0 以降となります。
累積的変更
- Chromium
120.0.6099.56
- Chrome 119 と デベロッパーツール 119 の新機能
- Chrome 120 と デベロッパーツール 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 にすると、ホストの WebContents
内のすべての BrowserWindow
に影響します
WebContents.backgroundThrottling
を false に設定すると、BrowserWindow
によって表示されるすべての WebContents
でのフレーム抑制が無効になります。
削除: BrowserWindow.setTrafficLightPosition(position)
BrowserWindow.setTrafficLightPosition(position)
は削除されたので、代わりに BrowserWindow.setWindowButtonPosition(position)
API を使用してください。こちらは、デフォルトの位置へリセットする際に { x: 0, y: 0 }
ではなく null
を受け取るようになっています。
// Electron 28 で非推奨
win.setTrafficLightPosition({ x: 10, y: 10 });
win.setTrafficLightPosition({ x: 0, y: 0 });
// こちらに置き換えてください
win.setWindowButtonPosition({ x: 10, y: 10 });
win.setWindowButtonPosition(null);
削除: BrowserWindow.getTrafficLightPosition()
BrowserWindow.getTrafficLightPosition()
は削除されたので、代わりに
BrowserWindow.getWindowButtonPosition()
API を使用してください。こちらは、カスタム位置が無ければ { x: 0, y: 0 }
ではなく null
を返すようになっています。
// Electron 28 で削除
const pos = win.getTrafficLightPosition();
if (pos.x === 0 && pos.y === 0) {
// カスタム位置が無い時。
}
// こちらに置き換えてください
const ret = win.getWindowButtonPosition();
if (ret === null) {
// カスタム位置が無い時。
}
削除: ipcRenderer.sendTo()
ipcRenderer.sendTo()
API は削除されました。 これはレンダラー間で MessageChannel
を設置するように置き換える必要があります。
IpcRendererEvent
の senderId
と senderIsMainFrame
のプロパティも削除されました。
削除: app.runningUnderRosettaTranslation
app.runningUnderRosettaTranslation
プロパティは削除されました。
代わりに app.runningUnderARM64Translation
を使用してください。
// 削除されました
console.log(app.runningUnderRosettaTranslation);
// こちらで置き換えてください
console.log(app.runningUnderARM64Translation);
25.x.y サポートの終了
プロジェクトの サポートポリシー に則り、Electron 25.x.y はサポート終了を迎えました。 開発者とアプリケーションは新しいバージョンの Electron にアップグレードすることを推奨します。
E28 (Dec'23) | E29 (Feb'24) | E30 (Apr'24) |
---|---|---|
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 の公開タイムラインはこちらで ご覧いただけます。
今後の変更についての詳細は、予定されている破壊的変更 のページをご覧ください。