Zum Hauptteil springen

Electron 22.0.0

· Die Lesezeit beträgt 5 min

Electron 22.0.0 wurde veröffentlicht! Es enthält eine neue Utility-Prozess-API, Updates für Windows 7/8/8.1 Support und Upgrades auf Chromium 108, V8 10.8 und Node.js 16.17.1. Lesen Sie unten für weitere Details!


Das Electron-Team freut sich die Veröffentlichung von Electron 22.0.0 bekannt zu geben! Sie können es mit npm über npm install electron@latest installieren oder von unserer Release-Website herunterladen. Lesen Sie weiter für Details zu dieser Version.

Wenn du ein Feedback hast, teile es bitte mit uns auf Twitter, oder trete unserer Community Discord bei! Bugs und Feature-Requests können in Electrons Issue-Tracker gemeldet werden.

Bemerkenswerte Änderungen

Stack-Änderungen

Hervorgehobene Funktionen

UtilityProcess API #36089

Das neue UtilityProcess Hauptprozessmodul ermöglicht die Erstellung eines leichten Chrom-Kindprozesses mit nur Node.js Integration, während auch die Kommunikation mit einem Sandbox-Renderer mit MessageChannel erlaubt. The API was designed based on Node.js child_process.fork to allow for easier transition, with one primary difference being that the entry point modulePath must be from within the packaged application to allow only for trusted scripts to be loaded. Additionally the module prevents establishing communication channels with renderers by default, upholding the contract in which the main process is the only trusted process in the application.

Lesen Sie mehr über die neue UtilityProcess API in unserer Dokumentation hier.

Windows 7/8/8.1 Support Update

info

2023/02/16: Ein Update auf Windows Server 2012 Unterstützung

Last month, Google announced that Chrome 109 would continue to receive critical security fixes for Windows Server 2012 and Windows Server 2012 R2 until October 10, 2023. In accordance, Electron 22's (Chromium 108) planned end of life date will be extended from May 30, 2023 to October 10, 2023. The Electron team will continue to backport any security fixes that are part of this program to Electron 22 until October 10, 2023.

Beachten Sie, dass wir keine zusätzlichen Sicherheitskorrekturen für Windows 7/8/8.1 vornehmen werden. Außerdem wird Electron 23 (Chromium 110) nur unter Windows 10 und höher funktionieren, wie zuvor schon angekündigt.

Electron 22 wird die letzte Electron-Hauptversion sein, die Windows 7/8/8.1 unterstützt. Electron follows the planned Chromium deprecation policy, which will deprecate Windows 7/8/8.1 support in Chromium 109 (read more here).

Windows 7/8/8.1 will not be supported in Electron 23 and later major releases.

Weitere hervorgehobene Änderungen

  • Unterstützung für Web-Bluetooth-Pairing unter Linux und Windows. #35416
  • Added LoadBrowserProcessSpecificV8Snapshot as a new fuse that will let the main/browser process load its v8 snapshot from a file at browser_v8_context_snapshot.bin. Jeder andere Prozess verwendet den gleichen Pfad, den er heute verwendet. #35266
  • WebContents.opener wurde hinzugefügt, um auf den Fensteröffner und webContents.fromFrame(frame) zuzugreifen, um den WebInhalt einer WebFrameMain-Instanz zu erhalten. #35140
  • Unterstützung für navigator.mediaDevices.getDisplayMedia über einen neuen Session-Handler ses.setDisplayMediaRequestHandler hinzugefügt. #30702

Breaking API Veränderungen

Im Folgenden finden Sie die in Electron 22 eingeführten Änderungen. Lesen Sie mehr über diese Änderungen und zukünftige Änderungen auf der geplante Änderungen-Seite.

Veraltet: webContents.incrementCapturerCount(stayHidden, stayAwake)

webContents.incrementCapturerCount(stayHidden, stayAwake) ist veraltet. Es wird nun automatisch von webContents.capturePage bearbeitet, wenn eine Seitenerfassung abgeschlossen ist.

const w = new BrowserWindow({ show: false })

- w.webContents.incrementCapturerCount()
- w.capturePage().then(image => {
- console.log(image.toDataURL())
- w.webContents.decrementCapturerCount()
- })

+ w.capturePage().then(image => {
+ console.log(image.toDataURL())
+ })

Veraltet: webContents.decrementCapturerCount(stayHidden, stayAwake)

webContents.decrementCapturerCount(stayHidden, stayAwake) ist veraltet. Es wird nun automatisch von webContents.capturePage bearbeitet, wenn eine Seitenerfassung abgeschlossen ist.

const w = new BrowserWindow({ show: false })

- w.webContents.incrementCapturerCount()
- w.capturePage().then(image => {
- console.log(image.toDataURL())
- w.webContents.decrementCapturerCount()
- })

+ w.capturePage().then(image => {
+ console.log(image.toDataURL())
+ })

Removed: WebContents new-window event

The new-window event of WebContents has been removed. Es wird durch webContents.setWindowOpenHandler() ersetzt.

- webContents.on('new-window', (event) => {
- event.preventDefault()
- })

+ webContents.setWindowOpenHandler((details) => {
+ return { action: 'deny' }
+ })

Deprecated: BrowserWindow scroll-touch-* events

The scroll-touch-begin, scroll-touch-end and scroll-touch-edge events on BrowserWindow are deprecated. Verwenden Sie stattdessen das neu verfügbare input-event Event auf WebContents.

// Veraltet
- win.on('scroll-touch-begin', scrollTouchBegin)
- win.on('scroll-touch-edge', scrollTouchEdge)
- win.on('scroll-touch-end', scrollTouchEnd)

// Ersetzt mit
+ win.webContents.on('input-event', (_, event) => {
+ if (event.type === 'gestureScrollBegin') {
+ scrollTouchBegin()
+ } else if (event.type === 'gestureScrollUpdate') {
+ scrollTouchEdge()
+ } else if (event.type === 'gestureScrollEnd') {
+ scrollTouchEnd()
+ }
+ })

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

Electron 19.x.y hat das Ende der Unterstützung gemäß der -Unterstützungsrichtlinie des Projekts erreicht. Developers and applications are encouraged to upgrade to a newer version of Electron.

E19 (Mai'22)E20 (Aug'22)E21 (Sep'22)E22 (Nov'22)E23 (Jan'23)
19.x.y20.x.y21.x.y22.x.y23.x.y
18.x.y19.x.y20.x.y21.x.y22.x.y
17.x.y18.x.y19.x.y20.x.y21.x.y

What's Next

Das Electron-Projekt wird für den Monat Dezember 2022 pausieren und im Januar 2023 zurückkehren. Weitere Informationen finden Sie im Dezember Shutdown Blog-Beitrag.

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 finden die öffentliche Timeline von Electron hier.

Weitere Informationen über zukünftige Änderungen finden Sie auf der geplante Änderungen Seite.