Publications
Electron 43 est disponible
4 juillet 20265 min

Electron 43 est disponible

Electron 43 embarque Chromium 150, Node.js 24.17 et V8 15.0, avec des améliorations notables sur le démarrage des apps, les fenêtres sans cadre sur Linux et la gestion des notifications macOS.

ElectronNode.jsChromiumDesktop

Electron 43 est disponible

Publié le 2 juillet 2026, Electron 43 embarque Chromium 150.0.7871.46, Node.js v24.17.0 et V8 15.0.

npm install electron@latest

Mises à jour des composants

| Composant | Ancienne version | Nouvelle version | | --------- | ---------------- | ----------------- | | Chromium | 148.0.7778.96 | 150.0.7871.46 | | Node.js | v24.15.0 | v24.17.0 | | V8 | 14.8 | 15.0 |


Changements notables

Amélioration des performances de démarrage

Electron 43 embarque plusieurs améliorations du temps de démarrage des applications :

  • Le processus principal démarre désormais depuis un snapshot Node.js embarqué.
  • Les bundles du framework et les scripts preload sont mis en cache sous forme de bytecode V8 compilé.
  • Les données de démarrage des renderers sandboxés sont envoyées en avance, avant la navigation, plutôt que récupérées via un appel IPC bloquant.

En bonus : les stack traces des scripts preload affichent désormais le bon chemin de fichier et le bon numéro de ligne.

Coins arrondis par défaut sur Linux pour les fenêtres sans cadre

Sur Linux, les fenêtres frameless ont désormais des coins arrondis par défaut, comme c'est déjà le cas sur macOS et Windows. Il est possible de désactiver ce comportement sur toutes les plateformes :

new BrowserWindow({
  frame: false,
  roundedCorners: false,
});

Les téléchargements s'ouvrent dans le dossier Téléchargements par défaut

Les fichiers téléchargés s'ouvrent désormais par défaut dans le dossier Downloads de l'utilisateur (ou dans le répertoire Home si ce dossier n'existe pas).

Nouvelles API de gestion des notifications sur macOS

Electron 43 ajoute les méthodes statiques Notification.remove(), Notification.removeAll() et Notification.removeGroup() sur macOS, offrant un contrôle plus fin sur les notifications délivrées. Combinées à l'API Notification.getHistory() existante, il est désormais possible de gérer le cycle de vie complet des notifications dans le Centre de notifications.


Nouvelles fonctionnalités et améliorations

  • Ajout d'une méthode clone() sur WebContents.
  • Ajout de la stack trace JS dans les rapports de crash lors d'un OOM renderer.
  • Support Linux pour app.getApplicationInfoForProtocol().
  • Ajout des options id et groupId dans le constructeur Notification sur macOS — id permet d'assigner un identifiant personnalisé, groupId regroupe visuellement les notifications dans le Centre de notifications.
  • Support des options id, groupId et groupTitle dans les notifications Windows.
  • Ajout de accessibilityLabel dans les options du constructeur MenuItem pour définir des labels adaptés aux lecteurs d'écran.
  • Ajout du privilège allowExtensions dans protocol.registerSchemesAsPrivileged() pour activer les extensions Chrome sur des protocoles personnalisés.
  • Ajout de app.configureWebAuthn() pour activer l'authentificateur Touch ID pour WebAuthn sur macOS, avec un événement select-webauthn-account pour choisir entre plusieurs credentials.
  • Ajout de globalShortcut.setSuspended() et globalShortcut.isSuspended() pour suspendre et reprendre temporairement la gestion des raccourcis globaux.
  • Ajout de nativeTheme.shouldDifferentiateWithoutColor sur macOS.
  • Ajout du format pixel nv12 pour l'OSR (Offscreen Rendering).
  • Ajout de view.setBackgroundBlur().
  • Ajout de webContents.copyVideoFrameAt(x, y) et webContents.saveVideoFrameAs(x, y).
  • Support de session pour les requêtes du module net depuis l'utility process.
  • Ajout du profiling du tas mémoire via contentTracing.enableHeapProfiling().
  • Support de l'option urgency dans les notifications Windows.
  • ThinLTO activé sur les builds macOS, Linux et Windows pour le binaire principal d'Electron.
  • Optimisation guidée par profil activée pour les builtins V8 en release, améliorant les performances des opérations courantes (Array, String, RegExp, etc.).

Changements de comportement à surveiller

Les téléchargements s'ouvrent dans le dossier Téléchargements

⚠️ Si votre app gérait manuellement la destination des fichiers téléchargés, vérifiez que votre logique existante n'est pas impactée par ce nouveau comportement par défaut.

Normalisation SRGB des pixels nativeImage

Si une nativeImage est créée à partir d'une image avec un profil colorimétrique, ses valeurs de pixels sont désormais normalisées en SRGB. Deux images visuellement identiques après application de l'espace colorimétrique auront maintenant des valeurs de pixels cohérentes. Si vous faites des comparaisons de pixels dans vos tests, attendez-vous à des différences.

WCO respecte la disposition native de la barre de titre sur Linux

Les fenêtres frameless avec Window Controls Overlay (WCO) adoptent désormais la disposition native de la barre de titre et les préférences utilisateur sur Linux. Selon l'environnement de bureau, les boutons peuvent apparaître à gauche ou à droite. Pour garantir une mise en page correcte, utilisez les variables CSS :

.titlebar-content {
  left: env(titlebar-area-x, 0px);
  width: env(titlebar-area-width, 100%);
}

chrome.scripting : injection CSS dans les frames fallback

Les extensions utilisant chrome.scripting.insertCSS() ou removeCSS() suivent désormais le comportement de Chrome pour les frames dont l'URL ne peut pas être matchée directement (comme about:blank ou les frames data:). Si l'extension a accès à la page parente, le CSS peut désormais être injecté dans ces frames. Les apps ou extensions qui comptaient sur le fait qu'Electron ignorait ces frames doivent affiner leurs cibles d'injection, leurs IDs de frame ou leurs match patterns.

Suppression de showHiddenFiles dans l'API dialog sur Linux

Le support de showHiddenFiles a été retiré de l'API dialog sur Linux.


Fin de support

  • Electron 40.x.y a atteint sa fin de vie. Il est recommandé de migrer vers une version plus récente.
  • Electron 43.x.y sera la dernière version à fournir des binaires précompilés pour les plateformes 32 bits : Windows x86 (win32-ia32) et Linux ARM (linux-armv7l). Ces plateformes ne seront plus supportées une fois la série v43 arrivée en fin de vie en janvier 2027.

Source : Blog officiel Electron, 2 juillet 2026.