Zum Hauptteil springen

Electron 28.0.0

· Die Lesezeit beträgt 3 min

Electron 28.0.0 wurde veröffentlicht! Es enthält Upgrades auf Chromium 120.0.6099.56, V8 12.0, und Node.js 18.18.2.


Das Electron-Team freut sich, die Veröffentlichung von Electron 28.0.0 ankündigen zu können! Sie können es mit npm über npm electron@latest installieren oder von unserer Releases-Website herunterladen. Lesen Sie weiter für Details zu dieser Version.

Wenn Sie Feedback haben, teilen Sie es uns bitte auf Twitter oder Mastodon mit oder treten Sie unserem Community-Discord bei! Bugs und Feature-Anfragen können im Issue-Tracker von Electron gemeldet werden.

Bemerkenswerte Änderungen

Highlights

  • Unterstützung für ECMAScript Module oder ESM Implementiert (Was sind ECMAScript Module? hier mehr erfahren). Dies beinhaltet die Unterstützung für ESM in Electron selbst sowie Bereiche wie die "UtilityProcess"-API-Einstiegspunkte. Siehe unsere ESM-Dokumentation für weitere Details.
  • Neben ESM-Unterstützung in Electron selbst unterstützt Electron Forge auch die Verwendung von ESM zum Paketieren, Erstellen und Entwickeln von Electron-Anwendungen. Sie können diese Unterstützung in Forge v7.0.0 oder höher finden.

Stack-Änderungen

Neue Funktionen

  • ESM-Unterstützung aktiviert. #37535
  • ESM Einstiegspunkte zur "UtilityProcess" API hinzugefügt. #40047
  • Mehrere Eigenschaften dem display Objekt hinzugefügt, einschließlich detected, maximumCursorSize und nativeOrigin. #40554
  • Unterstützung für die Umgebungsvariable ELECTRON_OZONE_PLATFORM_HINT unter Linux hinzugefügt. #39792

Breaking Changes

Geändertes Verhalten: WebContents.backgroundThrottling auf false gesetzt wirkt sich auf alle WebContents im Host BrowserWindow aus

"WebContents.backgroundThrottling" auf "false" gesetzt deaktiviert Frame Throttling im "BrowserWindow" für alle von diesem angezeigten "WebContents".

Entfernt: BrowserWindow.setTrafficLightPosition(position)

BrowserWindow.setTrafficLightPosition(position) wurde entfernt, die BrowserWindow.setWindowButtonPosition(position) API sollte stattdessen verwendet werden, welche null anstelle von { x: 0, y: 0 } akzeptiert um die Position auf Systemstandard zurückzusetzen.

// Entfernt in Electron 25
win.setTrafficLightPosition({ x: 10, y: 10 });
win.setTrafficLightPosition({ x: 0, y: 0 });

// Ersetzen mit
win.setWindowButtonPosition({ x: 10, y: 10 });
win.setWindowButtonPosition(null);

Entfernt: BrowserWindow.getTrafficLightPosition()

BrowserWindow.getTrafficLightPosition() wurde entfernt, die BrowserWindow.getWindowButtonPosition() API sollte stattdessen verwendet werden, welche null anstelle von { x: 0, y: 0 } zurückgibt, wenn keine benutzerdefinierte Position vorhanden ist.

// Entfernt in Electron 28
const pos = win.getTrafficLightPosition();
if (pos. === 0 && pos.y === 0) {
// Keine benutzerdefinierte Position.
}

// Ersetzen mit
const ret = win. etWindowButtonPosition();
if (ret === null) {
// Keine benutzerdefinierte Position.
}

Entfernt: ipcRenderer.sendTo()

Die API ipcRenderer.sendTo() wurde entfernt. Sie sollte durch das Einrichten eines MessageChannel zwischen den Renderern ersetzt werden.

Die senderId und senderIsMainFrame Eigenschaften von IpcRendererEvent wurden ebenfalls entfernt.

Entfernt: app.runningUnderRosettaTranslation

Die Eigenschaft app.runningUnderRosettaTranslation wurde entfernt. Verwende stattdessen app.runningUnderARM64Translation.

// Entfernt
console.log(app.runningUnderRosettaTranslation)
// Ersetzen durch
console.log(app.runningUnderARM64Translation);

Ende der Unterstützung für 25.x.y

Electron 25.x.y hat das Ende des Supports gemäß der Support-Richtlinie des Projekts erreicht. Developers and applications are encouraged to upgrade to a newer version of Electron.

E28 (Dec'23)E29 (Feb'24)E30 (Apr'24)
28.x.y29.x.y30.x.y
27.x.y28.x.y29.x.y
26.x.y27.x.y28.x.y

What's Next

In the short term, you can expect the team to continue to focus on keeping up with the development of the major components that make up Electron, including Chromium, Node, and V8.

Sie können die öffentliche Zeitleiste von Electron hier finden.

Weitere Informationen über zukünftige Änderungen können auf der Geplante Breaking Changes Seite gefunden werden.