Aller au contenu principal

· 3 mins à lire

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

Breaking & API Changes

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. Developers and applications are encouraged to upgrade to a newer version of Electron.

E15 (Sep'21)E16 (Nov'21)E17 (Feb'22)E18 (Mar'22)E19 (May'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--

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. 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.

· 2 mins à lire

Electron is changing its primary S3 bucket, you may need to update your build scripts


What is happening?

A significant amount of Electron's build artifacts are uploaded to an S3 bucket called gh-contractor-zcbenz. As part of ongoing infrastructure/ownership migrations that started way back in 2020, we will be changing everything that used gh-contractor-zcbenz from its old home in S3 to a new storage system hosted at https://artifacts.electronjs.org. The path prefix that most of our assets use is changing slightly as well. Examples are included below:

Before: https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist/v17.0.0/node.lib
After: https://artifacts.electronjs.org/headers/dist/v17.0.0/node.lib

The important things here are the Hostname changed and the /atom-shell prefix changed. Another example, this time for debug symbols:

Before: https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/symbols/path/to/symbol.pdb
After: https://artifacts.electronjs.org/symbols/path/to/symbol.pdb

Again, the hostname changed and the /atom-shell prefix was changed.

How might this impact you?

Anyone using standard build tooling such as electron-rebuild, electron-packager or @electron/get won't have to do anything. This should be the majority of people.

For anyone directly referencing the S3 bucket, you must update your reference to point at the hostname and update the path as well.

What about existing data?

Most data that existed on the gh-contractor-zcbenz bucket has been cloned into the new storage system. This means all debug symbols and all headers have been copied. If you relied on some data in that bucket that hasn't been copied over please raise an issue in electron/electron and let us know.

The current gh-contractor-zcbenz S3 bucket will not be actively deleted. However, we can't guarantee how long that bucket will be left alive. We strongly recommend updating to target the new bucket as soon as possible.

· 4 mins à lire

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
  • Added first-instance-ack event to the app.requestSingleInstanceLock() flow, so that users can pass some data back from the second instance to the first 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.

Breaking & API Changes

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. Since Electron 15, nativeWindowOpen has been enabled by default.

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. Developers and applications are encouraged to upgrade to a newer version of Electron.

À 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 (Feb'22)E18 (Mar'22)E19 (May'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--

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. 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.

· 2 mins à lire

L'équipe d'Electron est excitée de vous annoncer que nous allons participer au Google Summer of Code pour la première fois cette année!


Qu'est ce que le Google Summer of Code?

Le Google Summer of Code (GSoC) est un programme de mentorat annuel qui rassemble plusieurs projets de logiciel open source avec des contributeurs potentiels. Récemment ouvert seulement pour les étudiants, n'importe qui ayant 18 ans et plus peut désormais s'inscrire pour le GSoC.

Pour plus d'informations, rendez-vous sur la page d'accueil du Summer of Code.

Comment s'inscrire ?

Êtes-vous intéressé à collaborer avec Electron? Si vous êtes nouveau ou débutant dans la contribution de l'open source, nous vous invitons à postuler !

Dans le but d'être sélectionné comme contributeur Electron pour le Google Summer of Code, vous allez devoir soumettre une candidature. Les candidatures ouvriront le 4 avril 2002 et s'arrêterons le 19 avril 2022. Vous pouvez suivre les actualités et directives pour les candidatures du Google Summer of Code ici.

Envie de postuler ? Premièrement, regardez les cinq idées brouillons de projets que nous avons préparé. Toutes les idées listées sont actuellement ouvertes aux propositions. Nous acceptons également de nouvelles idées que nous n'avons pas proposées dans la liste des projets.

Votre candidature devra inclure :

  • Votre proposition, avec un document écrit qui décrit en détail votre plan de ce que vous comptez achever au cours de cet été.
  • Votre expérience en tant que développeur. Si vous avez un C.V, merci de l'inclure une copie, par ailleurs, parlez-nous de vos expériences passées en mettant l'accent sur vos expériences techniques pertinentes.

Un guide détaillé de ce qu'il faut soumettre dans le cadre de votre candidature Electron est ici.

Vous pouvez également lire le guide officiel pour les étudiants et contributeurs du GSoC afin d'obtenir de précieux conseils sur la préparation de votre candidature.

Si vous souhaitez discuter de proposition de projet ou si vous avez des questions, visitez notre canal Discord #gsoc-general !

Références

· 3 mins à lire

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

  • Added webContents.getMediaSourceId(), can be used with getUserMedia to get a stream for a WebContents. #31204
  • Deprecates webContents.getPrinters() and introduces webContents.getPrintersAsync(). #31023
  • desktopCapturer.getSources is now only available in the main process. #30720

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

Changements de rupture

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 in the renderer

The desktopCapturer.getSources API is now only available in the main process. Cela a été modifié afin d'améliorer la sécurité par défaut des applications Electron.

API Changes

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

Removed/Deprecated Changes

  • Usage of the desktopCapturer.getSources API in the renderer has been removed. 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. Developers and applications are encouraged to upgrade to a newer version of Electron.

À 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 (Feb'22)E18 (Mar'22)E19 (May'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--

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. 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.

· 2 mins à lire

Spectron sera déprécié le 1er février 2022.


À partir de février 2022, Spectron sera officiellement déclaré obsolète par l'équipe d'Electron.

Pourquoi déprécier Spectron ?

Bien que Spectron ait constamment publié de nouvelles versions pour chaque nouvelle version d’Electron, le projet a eu très peu de maintenance et d’améliorations depuis plus d’un an et n’a actuellement aucun mainteneur à temps plein. En plus avec la sortie du module remote du noyau Electron pour être mis dans un module externe avec Electron 14, Spectron devra subir une réécriture majeure pour continuer à fonctionner de manière fiable.

Après avoir examiné plusieurs options disponibles pour maintenir la maintenance de Spectron, l'équipe d'Electron a décidé de déprécier Spectron en 2022.

Chronologie de dépréciation

Ce qui suit est notre calendrier de dépréciation prévu :

  • De Novembre 2021 à Janvier 2022: L'équipe d'Electron continuera à accepter les pull requests de la communauté.
  • janvier 2022: Une version finale de l’avertissement de la dépréciation de Spectron sera publiée.
  • 1er février 2022: Le dépôt de Spectron sera marqué comme "archivé". Plus aucune demande de pull request ne sera acceptée.

Après le 1er février 2022, Electron conservera le dépôt Spectron indéfiniment, afin que d'autres puissent toujours effectuer des fork ou utiliser le code existant dans leurs projets. Nous espérons que cela permettra d' assurer une période de transition plus longue à tous les projets pouvant encore dépendre de Spectron.

Alternatives à Spectron

Si vous utilisez actuellement Spectron dans votre projet et que vous souhaitez migrer vers une solution de test alternative, vous pouvez lire notre guide pour les tests automatisés ici.

Nous pouvons actuellement recommaner plusieurs autres alternatives à Spectron, notamment Playwright et WebDriverIO. Des tutoriels officiels pour chaque option peuvent être trouvés dans notre documentation de test automatisé.

What's Next

L'équipe d'Electron vous remercie d'utiliser Spectron et Electron. Nous comprenons que beaucoup d'entre vous dépendent de Spectron pour tester leurs applications et voulons vous rendre cette transition la plus simple possible. Merci d'avoir choisi Electron !

· 4 mins à lire

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 de rupture

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).

API Changes

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

Removed/Deprecated Changes

  • 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. Developers and applications are encouraged to upgrade to a newer version of Electron.

À 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 (Feb'22)E18 (Mar'22)E19 (May'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--

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. 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.

· 2 mins à lire

The Electron project will pause for the month of December 2021, then return to full speed in January 2022.

via GIPHY


What will be the same in December

  1. Zero-day and other major security-related releases will be published as necessary. Security incidents should be reported via SECURITY.md.
  2. Code of Conduct reports and moderation will continue.

What will be different in December

  1. No new Beta or Stable releases in December. No Nightly releases for the last two weeks of December.
  2. With few exceptions, no pull request reviews or merges.
  3. No issue tracker updates on any repositories.
  4. No Discord debugging help from maintainers.
  5. No social media content updates.

Why is this happening?

In short, while maintainers are happy and engaged with the project, THE WORLD IS TIRED. December is a quiet month for most companies, so we want to give our maintainers a chance to recharge. We encourage other projects to consider similar measures.

Should I be worried about the future of Electron?

Non. We are able to take this step because the project is in good shape. Everyone is looking forward to 2022, and we expect good things to come!

· 4 mins à lire

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

Highlight Features

  • 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 de rupture

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.

API Changes

  • 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

Removed/Deprecated Changes

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.

Developers and applications are encouraged to upgrade to a newer version of Electron.

E15 (Sep'21)E16 (Nov'21)E17 (Feb'22)E18 (Mar'22)E19 (May'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--

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. Although we are careful not to make promises about release dates, our plan is release new major versions of Electron with new versions of those components approximately quarterly.

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.

· 6 mins à lire

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. You can find Electron's public timeline here.

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

Highlight Features

  • Default Changed: nativeWindowOpen now defaults to true. (voir la documentation)
  • Child windows no longer inherit BrowserWindow construction options from their parents. #28550
  • Added new session.storagePath API to get the path on disk for session-specific data. #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 de rupture

Below are breaking changes introduced in 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. You will need to ensure that values returned by either of those methods are supported by the Context Bridge API as these methods use the same value passing semantics.

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

Prior to Electron 14, window.open was by default shimmed to use BrowserWindowProxy. This meant that window.open('about:blank') did not work to open synchronously scriptable child windows, among other incompatibilities. nativeWindowOpen is no longer experimental, and is now the default.

See the documentation for window.open in Electron for more details.

Removed: BrowserWindowConstructorOptions inheriting from parent windows

Prior to Electron 14, windows opened with window.open would inherit BrowserWindow constructor options such as transparent and resizable from their parent window. Beginning with Electron 14, this behavior has been removed and windows will not inherit any BrowserWindow constructor options from their parents.

Instead, explicitly set options for the new window with setWindowOpenHandler:

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

Supprimé : additionalFeatures

The deprecated additionalFeatures property in the new-window and did-create-window events of WebContents has been removed. Since new-window uses positional arguments, the argument is still present, but will always be the empty array []. (Note: the new-window event itself is already deprecated and has been replaced by setWindowOpenHandler.) Bare keys in window features will now present as keys with the value true in the options object.

// Removed in 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']) {
// ...
}
})

Removed: remote module

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.

API Changes

  • 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
  • Added new session.storagePath API to get the path on disk for session-specific data. #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

Removed/Deprecated Changes

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 sa limite pour le support conformément à la politique d'assistance du projetpolitique d'assistance. Developers and applications are encouraged to upgrade to a newer version of Electron.

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. Although we are careful not to make promises about release dates, our plan is release new major versions of Electron with new versions of those components approximately quarterly.

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