Electron 22.0.0
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.8
et 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
- Chromium
108
- Node.js
16.17.1
- V8
10.8
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
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 versbrowser_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 dewebContents.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.y | 20.x.y | 21.x.y | 22.x.y | 23.x.y |
18.x.y | 19.x.y | 20.x.y | 21.x.y | 22.x.y |
17.x.y | 18.x.y | 19.x.y | 20.x.y | 21.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.