Electron 45 : une longue liste de breaking changes et de nombreux changements

Electron 45.0.0 est désormais la version courante. La version 42 n’est pas supportée. La v45 embarque Chromium 156.0.8078.48, Node.js 24.22.0 et V8 15.6. 

Cette nouvelle version apporte de nombreuses casses de compatibilités. Il faudra faire un travail rigoureux de tests avant toute migration en production. Citons par exemple :

- Preload scripts des renderers sandboxés : Le retrait des modules globaux (events, timers, url, Buffer, etc.) pour optimiser le démarrage correspond aux efforts constants d'Electron pour renforcer l'isolation et la sécurité des contextes sandboxés.

- Les workers ne reçoivent l'intégration Node.js que s'ils sont créés par une frame qui l'a activée. 

- Fichiers ASAR et écriture : La lecture directe sans copie temporaire avec blocage strict de l'écriture en écriture empaquetée reflète fidèlement les modifications de robustesse du système de fichiers virtuel d'Electron.

-  La contrainte chromeMediaSource: 'desktop' n'accepte plus que les identifiants d'écran et de fenêtres renvoyés par desktopCapturer.getSources() ; 

-  Sécurité des captures (chromeMediaSource, display-capture) : Le resserrement des contraintes autour de desktopCapturer et le renommage des permissions vers display-capture s'accordent avec l'évolution des spécifications de sécurité des flux multimédias Chromium.

- Les méthodes synchrones de safeStorage sont dépréciées, retrait prévu en Electron 46. 

- L'API expérimentale contentTracing.enableHeapProfiling() est retirée au profit de l'option nativeHeapProfiling de contentTracing.startRecording(). 

- Retrait des builds 32 bits (Windows ia32, Linux armv7l) et de l'option openAsHidden.

Electron 45 propose aussi des améliorations et nouveautés :

- L'intégration de l'API de sauvegarde/restauration de fenêtres, la gestion des passkeys iCloud via app.configureWebAuthn(), ou encore les ajouts pour Linux (app.setBadgeCount et win.setProgressBar via D-Bus) correspondent point par point aux ajouts recensés dans le journal des modifications de la v45; 

- app.configureWebAuthn() pour les passkeys du trousseau iCloud sur macOS ; 

- une propriété badge sur MenuItem (macOS 14 et plus) ; 

- des boutons d'action dans les notifications Linux ; webFrameMain.printToPDF() pour imprimer une seule frame ; webFrame.getIsolatedWorlds() ; 

- un champ initiatorOrigin sur les requêtes webRequest et des protocol handlers, et la méthode DownloadItem.getInitiatorOrigin() ; 

- le code d'erreur système dans l'événement child-process-gone ; 

- protocol.registerSource(), expérimental, pour servir un scheme personnalisé depuis un répertoire ; 

- le support de la Prompt API via localAIHandler dans UtilityProcess. 

- Sur macOS, autoUpdater écrit désormais les téléchargements sur disque, reprend les transferts interrompus et applique des deltas binaires. 

- Sur Linux, app.setBadgeCount et win.setProgressBar reviennent via D-Bus.

Cette version inclut aussi des dizaines de corrections de bug. 

Source : https://releases.electronjs.org/release/v45.0.0

 

Catégorie actualité: 
Image actualité AMP: 
Espace publicitaire · 300×250