Electron 12.0.0
Electron 12.0.0 est disponible ! Cette version inclut les mises à jour vers Chromium 89, V8 8.9, et Node.js 14.16. Nous avons changé le module distant, ajouté des nouvelles valeurs par défaut pour contextIsolation, ajouté une nouvelle API webFrameMain, et effectué 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 12.0.0 ! Vous pouvez l'installer avec npm via npm install electron@latest ou le télécharger depuis notre site web des versions. Continuez de lire pour plus de détails sur cette version, et s'il vous plaît, partagez vos commentaires et remarques !
Changements de la Stack
- Chromium
89 - Node.js
14.16 - V8
8.9
Changements notables
- La méthode
exposeInMainWorldde ContextBridge peut maintenant exposer des APIs non-objets. #26834 - Mise à niveau de Node 12 à Node 14. #23249
- Ajout d'une nouvelle API
webFrameMainpour accéder aux sous-fenêtres d'une instanceWebContentsdepuis le processus principal. #25464 - Les valeurs par défaut de
contextIsolationet deworldSafeExecuteJavaScriptsont maintenanttrue. #27949 #27502
Voir les notes de version 12.0.0 pour une liste complète des nouvelles fonctionnalités et des modifications.
Changements majeurs avec rupture de compatibilité
- Déprécié le module
remote. Il est remplacé par@electron/remote. #25293- Si you utilisez actuellement the module
remote, nous avons écrit un guide pour migrer vers@electron/remoteici.
- Si you utilisez actuellement the module
- La valeur par défaut de
contextIsolationa été changée entrue. #27949 - La valeur par défaut de
worldSafeExecuteJavaScripta été changée entrue. #27502 - La valeur par défaut de
crashReporter.start({ compress })a été changé defalseàtrue. #25288 - Flash n'est plus pris en charge : Chromium a supprimé la prise en charge de Flash, qui a aussi été supprimée dans Electron 12. Voir la Roadmap Flash de Chromium pour plus de détails.
- SSE3 requis pour Chrome sur x86: Chromium a supprimé la prise en charge pour les processeurs x86 anciens qui ne répondent pas à une prise en charge minimum de SSE3 (Streaming SIMD Extensions 3). Cette prise en charge a aussi été retirée dans Electron 12.
Vous trouverez plus d’informations sur ces changements et les changements futurs sur la pagechangements de rupture prévus.
Changements d'API
- Ajout de l'API
webFrameMain: Le modulewebFrameMainpeut être utilisé pour voir les fenêtres existantes à travers les instancesWebContents. C'est l'équivalent de l'API webFrame existante pour le processus principal. Plus d'informations à propos de cette nouvelle API peuvent être trouvées ici, et dans notre documentation. appAPI changes:BrowserWindowAPI changes:- Ajout de l'API
BrowserWindow.isTabletMode(). #25209 - Added
resized(Windows/macOS) andmoved(Windows) events toBrowserWindow. #26216 - Added new
system-context-menuevent to allow preventing and overriding the system context menu. #25795 - Added
win.setTopBrowserView()so thatBrowserViews can be raised. #27713 - Added
webPreferences.preferredSizeModeto allow sizing views according to their document's minimum size. #25874
- Ajout de l'API
contextBridgeAPI changes:- Allowed ContextBridge
exposeInMainWorldmethod to expose non-object APIs. #26834
- Allowed ContextBridge
displayAPI changes:- Added
displayFrequencyproperty to theDisplayobject to allow getting information about the refresh rate on Windows. #26472
- Added
extensionsAPI changes:- Added support for some
chrome.managementAPIs. #25098
- Added support for some
MenuItemAPI changes:- Ajout de la prise en charge de l'affichage du menu de partage macOS. #25629
netAPI changes:powerMonitorAPI changes:sessionAPI changes:- Ajout de l'option
allowFileAccessà l'APIses.loadExtension(). #27702 - Added
display-captureAPI forsession.setPermissionRequestHandler. #27696 - Ajout d'une option
disabledCipherSuitesàsession.setSSLConfig. #25818 - Added
extension-loaded,extension-unloaded, andextension-readyevents tosession. #25385 - Added
session.setSSLConfig()to allow configuring SSL. #25461 - Added support for explicitly specifying
direct,auto_detectorsystemmodes insession.setProxy(). #24937 - Added Serial API support. #25237
- Added APIs to enable/disable spell checker. #26276
- Ajout de l'option
shellAPI changes:- Added a new asynchronous
shell.trashItem()API, replacing the synchronousshell.moveItemToTrash(). #25114
- Added a new asynchronous
webContentsAPI changes:- Added a small console hint to console to help debug renderer crashes. #25317
- Added
frameandwebContentsproperties to the details object in webRequest handlers. #27334 - Added
webContents.forcefullyCrashRenderer()to forcefully terminate a renderer process to assist with recovering a hung renderer. #25580 - Added
setWindowOpenHandlerAPI for renderer-created child windows, and deprecatenew-windowevent. #24517
webFrameAPI changes:- Added spellcheck API to renderer. #25060
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 :
- Déprécié le module
remote. Il est remplacé par@electron/remote. #25293 - Suppression des API
crashReporterdépréciées. #26709 - Suppression des liens vers le site Web Electron du menu "Aide" par défaut dans les applications packagées. #25831
Fin du support pour 9.x.y
Electron 9.x.y a atteint sa limite pour le support conformément à la politique d'assistance du projetpolitique d'assistance. 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. Le planning escompté de la version 13.0.0 planning défini les dates clés du cycle de vie de développement d'Electron 13.0. Aussi, regardez notre document de versioning pour plus d'informations sur le versioning dans Electron.
Pour des informations sur les changements de rupture prévus dans les versions à venir d'Electron, regardez notre documentation sur les changements de rupture planifiés.


