Aller au contenu principal

41 articles tagués avec "Release"

Blog posts about new Electron releases

Voir tous les tags

Electron 23.0.0

· 3 mins de lecture

Electron 23.0.0 est disponible ! Cette version inclut les mises à jour vers Chromium 110, V8 11.0, et Node.js 18.12.1. De plus, la prise en charge de Windows 7/8/8.1 a été abandonnée. Lisez la suite ci-dessous pour plus de détails !


L’équipe Electron est heureuse d’annoncer la sortie d’Electron 23.0.0 ! Vous pouvez l'installer via npm install electron@latest ou la télécharger depuis notre site officiel. Vous obtiendrez plus de détails sur cette version en lisant ce qui suit.

Pour tout commentaire, veuillez partager avec nous sur Twitter, ou rejoindre notre communauté Discord! Les bogues et les demandes de fonctionnalités peuvent être signalés dans le traqueur de tickets d'Electron.

Changements notables

Changements de la Stack

Nouvelles fonctionnalités

  • Ajout de la propriété label aux objets de type Display . #36933
  • Ajout de l'API app.getPreferredSystemLanguages() qui retourne les langues système de l'utilisateur. #36035
  • Ajout de la prise en charge de l'API WebUSB. #36289
  • Ajout de la prise en charge de SerialPort.forget() ainsi que le nouvel événement serial-port-revoked émis sur les objets Session lorsqu'une origine donnée est révoquée. #35310
  • Ajout de la nouvelle API win.setHiddenInMissionControl pour permettre aux développeurs de désactiver Mission Control sur macOS. #36092

Abandon du support pour Windows 7/8/8.1

Electron 23 ne prend plus en charge Windows 7/8/8.1. Electron suit la politique planifiée de dépréciation de Chromium, qui déprécie Windows 7/8/8. , ainsi que le support de Windows Server 2012 et 2012 R2 dans Chromium 109 (lire plus ici).

Modifications majeurs de l'API

Vous trouverez ci-dessous les changements majeurs introduits dans Electron 23. Vous pouvez en savoir plus sur ces changements et sur les futurs sur la page Planned Breaking Changes.

Supprimé: Évènements BrowserWindow scroll-touch-*

Les événements sscroll-touch-begin, scroll-touch-end and scroll-touch-edge qui étaient dépréciés sur BrowserWindow ont été supprimés. À la place, il faut désormais utiliser l'événement input-event nouvellement disponible sur WebContents.

// Supprimé dans Electron 23.0
-win.on('scroll-touch-begin', scrollTouchBegin)
-win.on('scroll-touch-edge', scrollTouchEdge)
-win.on('scroll-touch-end', scrollTouchEnd)

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

Fin du support pour 20.x.y

Electron 20.x.y a atteint la limite pour le support conformément à la politique d'assistance du projet. Nous encourageons les développeurs à mettre à jour vers une version plus récente d'Electron et de faire de même avec leurs applications.

E22 (Nov'22)E23 (Fév'23)E24 (Avr'23)E25 (Mai'23)E26 (Aout'23)
22.x.y23.x.y24.x.y25.x.y26.x.y
21.x.y22.x.y23.x.y24.x.y25.x.y
20.x.y21.x.y22.x.y23.x.y24.x.y

Et maintenant ?

À court terme, vous pouvez compter sur l’équipe pour continuer a se concentrer sur le développement des principaux composants qui composent Electron, notamment Chromium, Node et V8.

Vous pouvez trouver la chronologie publique d'Electron ici.

Vous trouverez plus d’informations sur les changements futurs sur la page changements de rupture prévus.

Electron 22.0.0

· 6 mins de lecture

Electron 22.0.0 est disponible ! Il inclut la nouvelle API utilityProcess , des mises à jour pour le support de Windows 7/8/8.1 et des mises à jour vers Chromium 108, V8 10.8et Node.js 16.17.1. Lisez la suite ci-dessous pour plus de détails !


L'équipe d'Electron est heureuse d'annoncer la sortie d'Electron 22.0.0 ! Vous pouvez l'installer via npm install electron@latest ou la télécharger depuis notre site officiel. Vous obtiendrez plus de détails sur cette version en lisant ce qui suit.

Pour tout commentaire, veuillez partager avec nous sur Twitter, ou rejoindre notre communauté Discord! Les bogues et les demandes de fonctionnalités peuvent être signalés dans le traqueur de tickets d'Electron.

Changements notables

Changements de la Stack

Nouveautés de cette version

API UtilityProcess #36089

Le nouveau module de processus principal UtilityProcess permet la création d'un processus léger fils de Chromium avec intégration Node tout en permettant la communication avec un moteur de rendu en bac à sable en utilisant MessageChannel. L’API a été conçue sur la base de child_process.fork de Node.js, avec comme différence principale que le point modulePath d’entrée doit être situé dans l'application empaquetée afin de n'autoriser que le chargement des scripts de confiance. De plus, le module empêche par défaut l'établissement de canaux de communication avec les moteurs de rendu , respectant ainsi le contrat stipulant que le processus principal est le seul processus de confiance de l'application.

Vous pourrez en savoir plus en suivant ce lien vers notre documentation: nouvelle API UtilityProcess .

Mise à jour de la prise en charge de Windows 7/8.1

info

16/02/2023: Mise au point à propos du support de Windows Server 2012

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. Conformément à ce qui est prévu, la date de fin de vie d’Electron 22 (Chrome 108) sera reportée du 30 mai 2023 au 10 octobre 2023. L’équipe Electron continuera à rétroporter sur Electron 22 tous les correctifs de sécurité qui font partie de ce programme jusqu’au 10 octobre 2023.

Notez que nous ne ferons pas de corrections de sécurité supplémentaires pour Windows 7/8/8.1. En outre, Electron 23 (Chrome 110) ne fonctionnera que sur Windows 10 et au-delà comme cela a été annoncé précédemment.

Electron 22 sera la dernière version majeure d'Electron à prendre en charge Windows 7/8/8.1. Electron suit la politique planifiée de dépréciation de Chromium, qui dépréciera le support de Windows 7/8/8.1 dans Chromium 109 (cliquez ici pour en savoir plus).

Windows 7/8/8.1 ne seront plus pris en charge dans les versions majeures d'Electron 23 et ultérieures.

Autres Modifications supplémentaires à signaler

  • Ajout de la prise en charge de l'appairage de code confidentiel Web Bluetooth sous Linux et Windows. #35416
  • Ajout de LoadBrowserProcessSpecificV8Snapshot en tant que nouveau fuse qui permettra au processus main/navigateur de charger son instantané v8 depuis un fichier vers browser_v8_context_snapshot.bin. Tout autre processus utilisera le même chemin que celui utilisé aujourd'hui. #35266
  • Ajout de WebContents.opener afin d'accéder à l'origine de l'ouverture de la fenêtre et de webContents.fromFrame(frame) pour obtenir le WebContents correspondant à une instance de WebFrameMain. #35140
  • Ajout du support pour navigator.mediaDevices.getDisplayMedia via un nouveau gestionnaire de session, ses.setDisplayMediaRequestHandler. #30702

Modifications majeurs de l'API

Vous trouverez ci-dessous les changements majeurs introduits dans Electron 22. Vous pouvez en savoir plus sur ces changements et sur les futurs sur la page Planned Breaking Changes.

Déprécié : webContents.incrementCapturerCount(stayHidden, stayAwake)

webContents.incrementCapturerCount(stayHidden, stayAwake) a été déprécié. La gestion est maintenant automatiquement réalisée par webContents.capturePage lorsqu'une capture de page est terminée.

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())
+ })

Déprécié : webContents.decrementCapturerCount(stayHidden, stayAwake)

webContents.decrementCapturerCount(stayHidden, stayAwake) a été déprécié. La gestion est maintenant automatiquement réalisée par webContents.capturePage lorsqu'une capture de page est terminée.

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())
+ })

Supprimé: événement WebContents new-window

L'événement new-window de WebContents a été supprimé. Remplacé par webContents.setWindowOpenHandler().

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

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

Déprécié: les événements scroll-touch-* de BrowserWindow

Les événements scroll-touch-begin, scroll-touch-end et scroll-touch-edge de BrowserWindow sont dépréciés. Instead, use the newly available input-event event on WebContents.

// Déprécié
- win.on('scroll-touch-begin', scrollTouchBegin)
- win.on('scroll-touch-edge', scrollTouchEdge)
- win.on('scroll-touch-end', scrollTouchEnd)

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

Fin du support pour 19.x.y

Electron 19.x.y a atteint la limite pour le support conformément à la politique d'assistance du projet. Nous encourageons les développeurs à mettre à jour vers une version plus récente d'Electron et de faire de même avec leurs applications.

E19 (Mai'22)E20 (Août'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

Et pour la suite

Le projet Electron fera une pause pour le mois de décembre 2022 et reviendra en janvier 2023. Plus d'informations peuvent être trouvées sur le blog A Quiet Place Part Ii (Dec'22).

À court terme, vous pouvez vous attendre à ce que l’équipe continue de se concentrer sur le développement des principaux composants qui composent Electron, y compris Chromium, Node et V8.

Vous pouvez trouver la chronologie publique d'Electron ici.

Vous trouverez plus d’informations sur les changements futurs sur la page changements de rupture prévus.

Electron 21.0.0

· 3 mins de lecture

Electron 21.0.0 est disponible ! Cette version inclut les mises à jour vers Chromium 106, V8 10.6, et Node.js 16.16.0. Lisez la suite ci-dessous pour plus de détails !


L'équipe d'Electron est heureuse d'annoncer la sortie d'Electron 21.0.0 ! Vous pouvez l'installer via npm install electron@latest ou la télécharger depuis notre site officiel. Vous obtiendrez plus de détails sur cette version en lisant ce qui suit.

Pour tout commentaire, veuillez partager avec nous sur Twitter, ou rejoindre notre communauté Discord! Les bogues et les demandes de fonctionnalités peuvent être signalés dans le traqueur de tickets d'Electron.

Changements notables

Changements de la Stack

Nouvelles fonctionnalités

  • Ajout de webFrameMain.origin. #35534
  • Ajout de nouvelles API WebContents.ipc et WebFrameMain.ipc. #35231
  • Ajout de la prise en charge des comportements de type panel. Une fenêtre peut flotter au dessus des applications plein écran. #34388
  • Ajout de la prise en charge du push de notifications des APN pour les applications macOS. #33574

Modifications & changements majeurs de l’API

Vous trouverez ci-dessous les changements majeurs introduits dans Electron 21.

Activation de la Cage mémoire de V8

Electron 21 permet les pointeurs V8 en bac à sable, suite à la décision de Chrome de faire de même dans Chrome 103. Cela a des implications pour les modules natifs. Cette fonctionnalité présente des avantages en termes de performances et de sécurité, mais impose également de nouvelles restrictions aux modules natifs, par exemple l’utilisation de ArrayBuffers qui pointent vers de la mémoire externe (« hors tas »). Veuillez consulter ce billet du blog pour plus d'informations. #34724

Restructuration de webContents.printToPDF

webContents.printToPDF a été revu pour s'aligner sur l'implémentation Chromium sans affichage. Voir #33654 pour plus d'informations.

Vous trouverez plus d’informations sur ces changements et les changements futurs sur la pagechangements de rupture prévus.

Fin du support pour 18.x.y

Electron 18.x.y a atteint la limite pour le support conformément à la politique d'assistance du projet. Nous encourageons les développeurs à mettre à jour vers une version plus récente d'Electron et de faire de même avec leurs applications.

E18 (Mar'22)E19 (Mai'22)E20 (Aoû'22)E21 (Sep'22)E22 (Dec'22)
18.x.y19.x.y20.x.y21.x.y22.x.y
17.x.y18.x.y19.x.y20.x.y21.x.y
16.x.y17.x.y18.x.y19.x.y20.x.y

Pour la suite

À court terme, vous pouvez compter sur l’équipe pour continuer a se concentrer sur le développement des principaux composants qui composent Electron, notamment Chromium, Node et V8.

Vous pouvez trouver la chronologie publique d'Electron ici.

Vous trouverez plus d’informations sur les changements futurs sur la page changements de rupture prévus.

Electron 20.0.0

· 4 mins de lecture

Electron 20.0.0 est disponible ! Cette version inclue les mises à jour vers Chromium 104, V8 10.4, et Node.js 16.15.0. Lisez la suite ci-dessous pour plus de détails !


L'équipe d'Electron est heureuse d'annoncer la sortie d'Electron 20.0.0 ! Vous pouvez l'installer via npm install electron@latest ou le télécharger depuis notre site officiel. Lisez la suite pour plus de détails sur cette version et veuillez partagez vos commentaires et remarques !

Changements notables

Nouvelles fonctionnalités

  • Ajout du mode sombre immersif sous Windows. #34549
  • Ajout de la prise en charge des comportements de type panel. Une fenêtre peut flotter au dessus des applications plein écran. #34665
  • Mise à jour des boutons Windows de controle en overlay pour un affichage plus proche du mode natif sur Windows 11. #34888
  • Les moteurs de rendu sont désormais mis en bac à sable (sandbox) par défaut, sauf si nodeIntegration: true ou sandbox: false est spécifié. #35125
  • Ajout de protections lors de la construction de modules natifs avec nan. #35160

Changements de la Stack

Modifications et changement majeurs de l’API

Vous trouverez ci-dessous les changements majeurs introduits dans Electron 20. Vous trouverez plus d’informations sur ces changements et les changements futurs sur la pagechangements de rupture prévus.

Modification de valeur par défaut : les renderers sans nodeIntegration: true sont mis par défaut en bac à sable

Auparavant, les moteurs de rendu (renderers) qui spécifiaient un script de préchargement n'étaient pas par défaut mis en bac à sable. Cela signifiait que par défaut, les scripts de préchargement avaient accès à Node.js. Dans Electron 20, cette valeur par défaut a changé. À partir d’Electron 20, les moteurs de rendu seront mis en bac à sable par défaut, sauf si nodeIntegration: true ou sandbox: false sont spécifiés.

Si vos scripts de préchargement ne dépendent pas de Node, aucune action n’est nécessaire. Par contre si vos scripts de préchargement dépendent de Node, refactorisez-les pour supprimer l’utilisation de Node du moteur de rendu ou spécifiez explicitement sandbox: false pour les moteurs de rendu appropriés.

Correction : plantage spontané dans les modules natifs nan

Dans Electron 20, nous avons modifié deux éléments liés aux modules natifs :

  1. Les en-têtes V8 utilisent désormais c++17 par défaut. Ce drapeau a été ajouté à electron-rebuild.
  2. Nous avons corrigé un problème où un include manquant provoquait un plantage spontané dans les modules natifs qui dépendaient de nan.

Pour plus de stabilité, nous vous recommandons d’utiliser node-gyp >= 8.4.0 et electron-rebuild >= 3.2.9 lors de la reconstruction de modules natifs, en particulier les modules qui dépendent de nan. Voir électronique #35160 et node-gyp #2497 pour plus d’informations.

Supprimé : .skipTaskbar sous Linux

Sur X11, skipTaskbar envoie un message de _NET_WM_STATE_SKIP_TASKBAR au gestionnaire de fenêtres X11. Il n'y a pas d'équivalent direct pour Wayland, et les contournements connus ont des compromis inacceptables (par ex. Window.is_skip_taskbar dans GNOME nécessite un mode dangereux), donc Electron n'est pas en mesure de supporter cette fonctionnalité sous Linux.

Fin du support pour 17.x.y

Electron 17.x.y a atteint la limite pour le support conformément à la politique d'assistance du projet. Nous encourageons les développeurs à mettre à jour vers une version plus récente d'Electron et de faire de même avec leurs applications.

E18 (Mar'22)E19 (Mai'22)E20 (Aout'22)E21 (Sep'22)E22 (Dec'22)
18.x.y19.x.y20.x.y21.x.y22.x.y
17.x.y18.x.y19.x.y20.x.y21.x.y
16.x.y17.x.y18.x.y19.x.y20.x.y
15.x.y--------

Pour la suite

À court terme, vous pouvez vous attendre à ce que l’équipe continue de se concentrer sur le développement des principaux composants qui composent Electron, y compris Chromium, Node et V8. Bien que nous veillions à ne pas trop faire de promesses concernant les dates de publication, notre plan est de publier de nouvelles versions majeures d'Electron avec de nouvelles versions de ces composants environ tous les 2 mois.

Vous pouvez trouver la chronologie publique d'Electron ici.

Vous trouverez plus d’informations sur les changements futurs sur la page changements de rupture prévus.

Electron 19.0.0

· 3 mins de lecture

Electron 19.0.0 est disponible ! Cette version inclue les mises à jour vers Chromium 102, V8 10.2, et Node.js 16.14.2. Lisez la suite ci-dessous pour plus de détails !


La team Electron est excitée d'annoncer la sortie de Electron 19.0.0 ! Vous pouvez l'installer via npm install electron@latest ou le télécharger depuis notre site officiel. Lisez la suite pour plus de détails sur cette version et veuillez partagez vos commentaires et remarques !

Changements notables

Changement de le cadence de publication d'Electron

The project is returning to its earlier policy of supporting the latest three major versions. See our versioning document for more detailed information about Electron versioning and support. This had temporarily been four major versions to help users adjust to the new release cadence that began in Electron 15. Vous pouvez lire les détails complets ici.

Changements de la Stack

Modifications & changements majeurs de l’API

Vous trouverez ci-dessous les changements de rupture introduits dans Electron 19. Vous trouverez plus d’informations sur ces changements et les changements futurs sur la pagechangements de rupture prévus.

Unsupported on Linux: .skipTaskbar

The BrowserWindow constructor option skipTaskbar is no longer supported on Linux. Changed in #33226

Removed WebPreferences.preloadURL

The semi-documented preloadURL property has been removed from WebPreferences. #33228. WebPreferences.preload should be used instead.

End of Support for 15.x.y and 16.x.y

Electron 14.x.y and 15.x.y have both reached end-of-support. This returns Electron to its existing policy of supporting the latest three major versions. Nous encourageons les développeurs à mettre à jour vers une version plus récente d'Electron et de faire de même avec leurs applications.

E15 (Sep'21)E16 (Nov'21)E17 (Fév'23)E18 (Mar'22)E19 (Mai'22)
15.x.y16.x.y17.x.y18.x.y19.x.y
14.x.y15.x.y16.x.y17.x.y18.x.y
13.x.y14.x.y15.x.y16.x.y17.x.y
12.x.y13.x.y14.x.y15.x.y--

Et maintenant ?

À court terme, vous pouvez compter sur l’équipe pour continuer a se concentrer sur le développement des principaux composants qui composent Electron, notamment Chromium, Node et V8. Bien que nous veillions à ne pas faire trop de promesses concernant les dates de publication, notre plan est de publier de nouvelles versions majeures d'Electron avec de nouvelles versions de ces composants environ tous les 2 mois.

Vous pouvez trouver la chronologie publique d'Electron ici.

Vous trouverez plus d’informations sur les changements futurs sur la page changements de rupture prévus.

Electron 18.0.0

· 4 mins de lecture

Electron 18.0.0 est disponible ! Cette version inclue les mises à jour vers Chromium 100, V8 10.0, et Node.js 16.13.2. Lisez la suite ci-dessous pour plus de détails !


La team Electron est excitée d'annoncer la sortie de Electron 18.0.0 ! Vous pouvez l'installer via npm install electron@latest ou le télécharger depuis notre site officiel. Lisez la suite pour plus de détails sur cette version et veuillez partagez vos commentaires et remarques !

Changements notables

Changement de le cadence de publication d'Electron

À partir d'Electron 15, Electron publiera une nouvelle version stable majeure toutes les 8 semaines. Vous pouvez lire les détails complets ici.

De plus Electron passera des trois dernières versions supportées aux quatre dernières versions jusqu'en mai 2022. Consultez notre document de gestion des versions pour plus d’informations sur le contrôle de version dans Electron. Après Electron 2022, nous reviendrons à supporter les trois dernières versions.

Changements de la Stack

Nouveautés de cette version

  • Added ses.setCodeCachePath() API for setting code cache directory. #33286
  • Removed the old BrowserWindowProxy-based implementation of window.open. This also removes the nativeWindowOpen option from webPreferences. #29405
  • Added 'focus' and 'blur' events to WebContents. #25873
  • Added Substitutions menu roles on macOS: showSubstitutions, toggleSmartQuotes, toggleSmartDashes, toggleTextReplacement. #32024
  • Ajout d'un événement first-instance-ack au flux app.requestSingleInstanceLock() , permettant aux utilisateurs de transmettre de façon transparente des données de la première instance à la seconde instance. #31460
  • Added support for more color formats in setBackgroundColor. #33364

Voir les notes de version 18.0.0 pour une liste complète des nouvelles fonctionnalités et des modifications.

Modifications & changements majeurs de l’API

Vous trouverez ci-dessous les changements de rupture introduits dans Electron 18. Vous trouverez plus d’informations sur ces changements et les changements futurs sur la pagechangements de rupture prévus.

Supprimé : nativeWindowOpen

Avant Electron 15, window.open utilisait par défaut BrowserWindowProxy. Cela signifiait, entre autres incompatibilités, que window.open('about:blank') ne fonctionnait pas pour ouvrir des fenêtres enfants scriptables de manière synchrone. Depuis Electron 15, nativeWindowOpen est activé par défaut.

See the documentation for window.open in Electron for more details. Removed in #29405

Fin du support pour 14.x.y

Electron 14.x.y a atteint la limite pour le support conformément à la politique d'assistance du projet. Nous encourageons les développeurs à mettre à jour vers une version plus récente d'Electron et de faire de même avec leurs applications.

À partir d'Electron 15, nous passeront de trois dernières versions supportées aux quatre dernières versions jusqu'en mai 2022 avec Electron 19. Après Electron 19, nous reviendrons à supporter les trois dernières versions. Cette version de support du changement fait partie de notre nouveau changement de cadence. Veuillez consulter notre article de blog pour plus de détails ici.

E15 (Sep'21)E16 (Nov'21)E17 (Fév'23)E18 (Mar'22)E19 (Mai'22)
15.x.y16.x.y17.x.y18.x.y19.x.y
14.x.y15.x.y16.x.y17.x.y18.x.y
13.x.y14.x.y15.x.y16.x.y17.x.y
12.x.y13.x.y14.x.y15.x.y--

Et maintenant ?

À court terme, vous pouvez compter sur l’équipe pour continuer a se concentrer sur le développement des principaux composants qui composent Electron, notamment Chromium, Node et V8. Bien que nous veillions à ne pas faire trop de promesses concernant les dates de publication, notre plan est de publier de nouvelles versions majeures d'Electron avec de nouvelles versions de ces composants environ tous les 2 mois.

Vous pouvez trouver la chronologie publique d'Electron ici.

Vous trouverez plus d’informations sur les changements futurs sur la page changements de rupture prévus.

Electron 17.0.0

· 4 mins de lecture

Electron 17.0.0 est disponible ! Cette version inclue les mises à jour vers Chromium 98, V8 9.8, et Node.js 16.13.0. Lisez la suite ci-dessous pour plus de détails !


La team Electron est excitée d'annoncer la sortie de Electron 17.0.0 ! Vous pouvez l'installer via npm install electron@latest ou le télécharger depuis notre site officiel. Lisez la suite pour plus de détails sur cette version et veuillez partagez vos commentaires et remarques !

Changements notables

Changement de le cadence de publication d'Electron

À partir d'Electron 15, Electron publiera une nouvelle version stable majeure toutes les 8 semaines. Vous pouvez lire les détails complets ici.

De plus Electron passera des trois dernières versions supportées aux quatre dernières versions jusqu'en mai 2022. Consultez notre document de gestion des versions pour plus d’informations sur le contrôle de version dans Electron. Après Electron 2022, nous reviendrons à supporter les trois dernières versions.

Changements de la Stack

Nouveautés de cette version

  • Ajout de webContents.getMediaSourceId(), peut être utilisé avec getUserMedia pour obtenir un flux pour un contenu Web. #31204
  • Déprécie webContents.getPrinters() et introduit webContents.getPrintersAsync(). #31023
  • Dorénavant desktopCapturer.getSources n’est plus disponible que dans le processus principal. #30720

Voir les notes de version 17.0.0 pour une liste complète des nouvelles fonctionnalités et des modifications.

Changements majeurs avec rupture de compatibilité

Vous trouverez ci-dessous les changements de rupture introduits dans Electron 17. Vous trouverez plus d’informations sur ces changements et les changements futurs sur la pagechangements de rupture prévus.

desktopCapturer.getSources dans le moteur de rendu

Dorénavant l’API desktopCapturer.getSources n’est plus disponible que dans le processus principal. Cela a été modifié afin d'améliorer la sécurité par défaut des applications Electron.

Changements d'API

Il n’y a pas de changement d’API dans Electron 17.

Modifications: éléments supprimés et dépréciés

  • L’utilisation de l’API desktopCapturer.getSources dans le moteur de rendu est supprimée. Consultez ceci pour plus d’informations sur comment remplacer cette API dans votre application.

Fin du support pour 13.x.y

Electron 13.x.y a atteint la limite pour le support conformément à la politique d'assistance du projet. Nous encourageons les développeurs à mettre à jour vers une version plus récente d'Electron et de faire de même avec leurs applications.

À partir d'Electron 15, nous passeront de trois dernières versions supportées aux quatre dernières versions jusqu'en mai 2022 avec Electron 19. Après Electron 19, nous reviendrons à supporter les trois dernières versions. Cette version de support du changement fait partie de notre nouveau changement de cadence. Veuillez consulter notre article de blog pour plus de détails ici.

E15 (Sep'21)E16 (Nov'21)E17 (Fév'23)E18 (Mar'22)E19 (Mai'22)
15.x.y16.x.y17.x.y18.x.y19.x.y
14.x.y15.x.y16.x.y17.x.y18.x.y
13.x.y14.x.y15.x.y16.x.y17.x.y
12.x.y13.x.y14.x.y15.x.y--

Et maintenant ?

À court terme, vous pouvez compter sur l’équipe pour continuer a se concentrer sur le développement des principaux composants qui composent Electron, notamment Chromium, Node et V8. Bien que nous veillions à ne pas faire trop de promesses concernant les dates de publication, notre plan est de publier de nouvelles versions majeures d'Electron avec de nouvelles versions de ces composants environ tous les 2 mois.

Vous pouvez trouver la chronologie publique d'Electron ici.

Vous trouverez plus d’informations sur les changements futurs sur la page changements de rupture prévus.

Electron 16.0.0

· 4 mins de lecture

Electron 16.0.0 est disponible ! Cette version inclue les mises à jour vers Chromium 96, V8 9.6, et Node.js 16.9.1. Lisez la suite ci-dessous pour plus de détails !


La team Electron est excitée d'annoncer la sortie de Electron 16.0.0 ! Vous pouvez l'installer via npm install electron@latest ou le télécharger depuis notre site officiel. Lisez la suite pour plus de détails sur cette version et veuillez partagez vos commentaires et remarques !

Changements notables

Changement de le cadence de publication d'Electron

À partir d'Electron 15, Electron publiera une nouvelle version stable majeure toutes les 8 semaines. Vous pouvez lire les détails complets ici.

De plus Electron passera des trois dernières versions supportées aux quatre dernières versions jusqu'en mai 2022. Consultez notre document de gestion des versions pour plus d’informations sur le contrôle de version dans Electron. Après Electron 2022, nous reviendrons à supporter les trois dernières versions.

Changements de la Stack

Nouveautés de cette version

  • Prise en charge de l’API WebHID. #30213
  • Ajout d'un paramètre de données à app.requestSingleInstanceLock pour le partage de données entre instances. #30891
  • Transmission de la securityOrigin dans un nouveau champ de la propriété details du gestionnaire de requêtes d'autorisations multimédia. #31357
  • Ajout de commandLine.removeSwitch. #30933

Voir les notes de version 16.0.0 pour une liste complète des nouvelles fonctionnalités et des modifications.

Changements majeurs avec rupture de compatibilité

Vous trouverez ci-dessous les changements majeurs introduits dans Electron 16. Vous trouverez plus d’informations sur ces changements et les changements futurs sur la pagechangements de rupture prévus.

Compilation de modules natifs

Si votre projet utilise node-gyp pour compiler les modules natifs, vous devrez peut-être l'appeler avec --force-process-config en fonction de la configuration de votre projet et de votre version d'Electron. Vous trouverez plus d’informations sur ce changement à l’adresse #2497.

Changement de comportement : l'implémentation de crashReporter utilise Crashpad sous Linux

L’implémentation sous-jacente de l’API crashReporter sur Linux est passée de Breakpad à Crashpad, l’alignant sur Windows et Mac. En conséquence, les processus enfants sont désormais automatiquement monitorés et l’appel de process.crashReporter.start dans les processus enfants de Node n’est plus nécessaire (ni conseillé d'ailleurs, car il démarrerait une deuxième instance du rapporteur Crashpad).

Il y a aussi quelques changements subtils dans la façon dont les annotations seront signalées sous Linux, notamment les valeurs longues ne seront plus présentées dans plusieurs annotations suffixées par __1, __2 etc., mais seront plutôt tronquées à la taille limite des annotations (nouvelle et plus longue).

Changements d'API

Il n’y a pas de changement d’API dans Electron 16.

Modifications: éléments supprimés et dépréciés

  • L’utilisation de l’API desktopCapturer.getSources dans le moteur de rendu est Obsolète et sera supprimée. Cette modification améliore la sécurité par défaut des applications Electron. Consultez ceci pour plus d’informations sur comment remplacer cette API dans votre application.

Fin du support pour 12.x.y

Electron 12.x.y a atteint la limite pour le support conformément à la politique d'assistance du projet. Nous encourageons les développeurs à mettre à jour vers une version plus récente d'Electron et de faire de même avec leurs applications.

À partir d'Electron 15, nous passeront de trois dernières versions supportées aux quatre dernières versions jusqu'en mai 2022 avec Electron 19. Après Electron 19, nous reviendrons à supporter les trois dernières versions. Cette version de support du changement fait partie de notre nouveau changement de cadence. Veuillez consulter notre article de blog pour plus de détails ici.

E15 (Sep'21)E16 (Nov'21)E17 (Fév'23)E18 (Mar'22)E19 (Mai'22)
15.x.y16.x.y17.x.y18.x.y19.x.y
14.x.y15.x.y16.x.y17.x.y18.x.y
13.x.y14.x.y15.x.y16.x.y17.x.y
12.x.y13.x.y14.x.y15.x.y--

Et maintenant ?

À court terme, vous pouvez compter sur l’équipe pour continuer a se concentrer sur le développement des principaux composants qui composent Electron, notamment Chromium, Node et V8. Bien que nous veillions à ne pas faire trop de promesses concernant les dates de publication, notre plan est de publier de nouvelles versions majeures d'Electron avec de nouvelles versions de ces composants environ tous les 2 mois.

Vous pouvez trouver la chronologie publique d'Electron ici.

Vous trouverez plus d’informations sur les changements futurs sur la page changements de rupture prévus.

Electron 15.0.0

· 4 mins de lecture

Electron 15.0.0 est disponible ! Cette version inclue les mises à jour vers Chromium 94, V8 9.4, et Node.js 16.5.0. Nous avons ajouté des mises à jour de l'API pour window.open, des corrections de bugs et des améliorations générales. Lisez la suite ci-dessous pour plus de détails !


L'équipe d'Electron est heureuse d'annoncer la sortie d'Electron 15.0.0 ! Vous pouvez l'installer via npm install electron@latest ou le télécharger depuis notre site officiel. Lisez la suite pour plus de détails sur cette version et veuillez partagez vos commentaires et remarques !

Changements notables

Changement de le cadence de publication d'Electron

À partir d'Electron 15, Electron sortira une nouvelle version stable majeure toutes les 8 semaines. Vous pouvez lire les détails complets ici.

De plus, Electron les versions supportées passeront des trois dernières aux quatre dernières versions jusqu'en mai 2022. Consultez notre document de versioning pour plus d'informations sur le versioning dans Electron.

Changements de la Stack

Nouveautés de cette version

  • nativeWindowOpen: true n'est plus expérimental, et est maintenant la valeur par défaut.
  • Ajout de safeStorage API de cryptage de chaînes. #30430
  • Ajout de l’événement ' frame-created' à WebContents qui l'emet lorsqu’une frame est créé dans la page. #30801
  • Ajout des informations de redimensionnement edge à l'événement BrowserWindowde will-resize. #29199

Voir les notes de version 15.0.0 pour une liste complète des nouvelles fonctionnalités et des modifications.

Changements majeurs avec rupture de compatibilité

Vous trouverez ci-dessous les changements de rupture introduits dans Electron 15. Vous trouverez plus d’informations sur ces changements et les changements futurs sur la pagechangements de rupture prévus.

Modification par défaut : nativeWindowOpen a la valeur par défaut true

Avant Electron 15, window.open utilisait par défaut BrowserWindowProxy. Cela signifiait, entre autres incompatibilités, que window.open('about:blank') ne fonctionnait pas pour ouvrir des fenêtres enfants scriptables de manière synchrone. nativeWindowOpen: true n'est plus expérimental, et est maintenant la valeur par défaut.

Consultez la documentation de window.open dans Electron pour plus de détails.

Changements d'API

  • Ajout de l’événement ' frame-created' à WebContents qui l'emet lorsqu’une frame est créé dans la page. #30801
  • Ajout de safeStorage API de cryptage de chaînes. #30430
  • Ajout d'une option signal à dialog.showMessageBox. #26102
  • Ajout d’un electron fuse pour appliquer les signatures de code sur le fichier app.asar chargé par votre application. Nécessite le dernier module asar (v3.1.0 ou supérieur). #30900
  • Ajout de fuses pour désactiver les NODE_OPTIONS et --inspect arguments de débogage dans les applications empaquetées. #30420
  • Ajout d’une nouvelle propriété MenuItem.userAccelerator pour lire les remplacements d’accélérateur macOS attribués par l’utilisateur. #26682
  • Ajout d’une nouvelle propriété app.runningUnderARM64Translation pour détecter l’exécution sous Rosetta sur Apple Silicon ou WOW sur Windows pour ARM. #29168
  • Ajout d’une nouvelle imageAnimationPolicy préférence Web pour contrôler la façon dont les images sont animées. #29095
  • Ajout de la prise en charge de l’envoi d’objets blob sur le context bridge. #29247

Modifications: éléments supprimés et dépréciés

Aucune API n'a été supprimée ou dépréciée.

Versions supportées

À partir d'Electron 15, nous passeront de trois dernières versions supportées aux quatre dernières versions jusqu'en mai 2022 avec Electron 19. Après Electron 19, nous reviendrons à supporter les trois dernières versions. Cette version de support du changement fait partie de notre nouveau changement de cadence. Veuillez consulter notre article de blog pour plus de détails ici.

Nous encourageons les développeurs à mettre à jour vers une version plus récente d'Electron et de faire de même avec leurs applications.

E15 (Sep'21)E16 (Nov'21)E17 (Fév'23)E18 (Mar'22)E19 (Mai'22)
15.x.y16.x.y17.x.y18.x.y19.x.y
14.x.y15.x.y16.x.y17.x.y18.x.y
13.x.y14.x.y15.x.y16.x.y17.x.y
12.x.y13.x.y14.x.y15.x.y--

Et maintenant ?

À court terme, vous pouvez compter sur l’équipe pour continuer a se concentrer sur le développement des principaux composants qui composent Electron, notamment Chromium, Node et V8. Bien que nous veillions à ne pas faire de promesses à propos des dates de publication, notre plan est la sortie de nouvelles versions majeures d'Electron avec de nouvelles versions de ces composants environ un trimestre.

Vous pouvez trouver la chronologie publique d'Electron ici.

Vous trouverez plus d’informations sur les changements futurs sur la page changements de rupture prévus.

Electron 14.0.0

· 7 mins de lecture

Electron 14.0.0 est disponible ! Cette version inclue les mises à jour pour Chromium 93, V8 9.3, et Node. js. Nous avons ajouté plusieurs mises à jour de l'API, des corrections de bugs et des améliorations générales. Lisez la suite ci-dessous pour plus de détails !


La team Electron est excitée d'annoncer la sortie de Electron 14.0.0 ! Vous pouvez l'installer via npm install electron@latest ou le télécharger depuis notre site officiel des versions. Lisez la suite pour plus de détails sur cette version et veuillez partagez vos commentaires et remarques !

Changements notables

Changement de le cadence de publication d'Electron

Beginning in September 2021 with Electron 15, Electron will release a new major stable version every 8 weeks. Vous pouvez lire les détails complets ici. Electron 15 will begin beta on September 1, 2021 and stable release will be on September 21, 2021. Vous pouvez trouver la chronologie publique d'Electron ici. Additionally, Electron will be changing supported versions from latest three versions to latest four versions until May 2022. See see our versioning document for more detailed information about versioning in Electron.

Changements de la Stack

Nouveautés de cette version

  • Default Changed: nativeWindowOpen now defaults to true. (voir la documentation)
  • Child windows no longer inherit BrowserWindow construction options from their parents. #28550
  • Ajout de la nouvelle API session.storagePath pour obtenir le chemin des données spécifiques à la session sur le disque. #28665
  • Ajout de process.contextId utilisé par @electron/remote. #28007
  • Added experimental cookie encryption support behind an Electron Fuse. #29492

Voir les notes de version 14.0.0 pour une liste complète des nouvelles fonctionnalités et des modifications.

Changements majeurs avec rupture de compatibilité

Vous trouverez ci-dessous les changements majeurs introduits dans Electron 14. More information about these and future changes can be found on the Planned Breaking Changes page.

Supprimé : app.allowRendererProcessReuse

The app.allowRendererProcessReuse property has been removed as part of our plan to more closely align with Chromium's process model for security, performance and maintainability.

Pour des informations plus détaillées, voir #18397.

Suppression : Browser Window Affinity

The affinity option when constructing a new BrowserWindow has been removed as part of our plan to more closely align with Chromium's process model for security, performance and maintainability.

Pour des informations plus détaillées, voir #18397.

API modifiée : window.open()

The optional parameter frameName no longer sets the title of the window. This behavior now follows the specification described by the native documentation for the windowName parameter.

If you were using this parameter to set the title of a window, you can instead use the win.setTitle(title) method.

Supprimé : worldSafeExecuteJavaScript

worldSafeExecuteJavaScript has been removed with no alternative. Please ensure your code works with this property enabled. It has been enabled by default since Electron 12.

Vous serez affecté par ce changement si vous utilisez webFrame.executeJavaScript ou webFrame.executeJavaScriptInIsolatedWorld. Vous devrez vous assurer que les valeurs renvoyées par l’une ou l’autre de ces méthodes sont prises en charge par l’API Context Bridge car ces méthodes utilisent la même sémantique de transmission de valeur.

Valeur par défaut modifié : nativeWindowOpenest par défaut à true

Avant Electron 14, window.open utilisait par défaut BrowserWindowProxy. Cela signifiait, entre autres incompatibilités, que window.open('about:blank') ne fonctionnait pas pour ouvrir des fenêtres enfants scriptables de manière synchrone. nativeWindowOpen n'est plus expérimental, et est maintenant la valeur par défaut.

Consultez la documentation de window.open dans Electron pour plus de détails.

Supprimé: BrowserWindowConstructorOptions héritées des fenêtres parentes

Avant d'Electron 14, les fenêtres ouvertes avec window.open héritaient des options du constructeur BrowserWindow telles que transparent et resizable de leur fenêtre parente. Beginning with Electron 14, this behavior has been removed and windows will not inherit any BrowserWindow constructor options from their parents.

À la place, vous devez définir explicitement les options de la nouvelle fenêtre avec setWindowOpenHandler:

webContents.setWindowOpenHandler((details) => {
return {
action: 'allow',
overrideBrowserWindowOptions: {
// ...
},
};
});

Supprimé : additionalFeatures

La propriété additionalFeatures de new-window et l'événement did-create-window de WebContents qui étaient dépréciés ont été supprimés. Comme new-window utilise des arguments de positions, l'argument est toujours présent mais sera toujours un tablea vide []. (Note: the new-window event itself is already deprecated and has been replaced by setWindowOpenHandler.) Les clés sans valeur dans les features d'une window seront désormais représentées par des clés avec la valeur true dans l'objet options.

// Supprimé avec Electron 14
// Triggered by window.open('...', '', 'my-key')
webContents.on('did-create-window', (window, details) => {
if (details.additionalFeatures.includes('my-key')) {
// ...
}
});

// Replace with
webContents.on('did-create-window', (window, details) => {
if (details.options['my-key']) {
// ...
}
});

Supprimé: module remote

Deprecated in Electron 12, the remote module has now been removed from Electron itself and extracted into a separate package, @electron/remote. The @electron/remote module bridges JavaScript objects from the main process to the renderer process. This lets you access main-process-only objects as if they were available in the renderer process. This is a direct replacement for the remote module. See the module's readme for migration instructions and reference.

Changements d'API

  • Added BrowserWindow.isFocusable() method to determine whether a window is focusable. #28642
  • Ajout de la propriété d'instance WebFrameMain.visibilityState. #28706
  • Added disposition, referrer and postBody to the details object passed to the window open handler registered with setWindowOpenHandler. #28518
  • Ajout de process.contextId utilisé par @electron/remote. #28007
  • Added experimental cookie encryption support behind an Electron Fuse. #29492
  • Added missing resourceType conversions for webRequest listener details: font, ping, cspReport, media, webSocket. #30050
  • Ajout de la nouvelle API session.storagePath pour obtenir le chemin des données spécifiques à la session sur le disque. #28665
  • Added support for Windows Control Overlay on macOS. #29986
  • Added support for directing Chromium logging to a file with --log-file=.../path/to/file.log. Also, it's now possible to enable logging from JavaScript by appending command-line switches during the first JS tick. #29963
  • Added support for the des-ede3 cipher in node crypto. #27897
  • Added a ContextBridgeMutability feature that allows context bridge objects to be mutated. #27348

Modifications: éléments supprimés et dépréciés

Les API suivantes ont été supprimées ou sont désormais dépréciées :

  • The remote module has been removed after being deprecated in Electron 12. #25734
  • Child windows no longer inherit BrowserWindow construction options from their parents. #28550
  • Removed deprecated additionalFeatures property from new-window and did-create-window WebContents events. #28548
  • Removed the deprecated app.allowRendererProcessReuse and BrowserWindow affinity options. #26874
  • The submitURL option for crashReporter.start is no longer a required argument when uploadToServer is false. #28105

Fin du support pour 11.x.y

Electron 11.x.y a atteint la limite pour le support conformément à la politique d'assistance du projet. Nous encourageons les développeurs à mettre à jour vers une version plus récente d'Electron et de faire de même avec leurs applications.

Et maintenant ?

À court terme, vous pouvez compter sur l’équipe pour continuer a se concentrer sur le développement des principaux composants qui composent Electron, notamment Chromium, Node et V8. Bien que nous veillions à ne pas faire de promesses à propos des dates de publication, notre plan est la sortie de nouvelles versions majeures d'Electron avec de nouvelles versions de ces composants environ un trimestre.

For information on planned breaking changes in upcoming versions of Electron, see our Planned Breaking Changes.