Electron 8.0.0
Electron 8.0.0 est disponible ! Cette version inclue les mises à jour vers Chromium 80
, V8 8.0
, et Node.js 12.13.0
. We've added Chrome's built-in spellchecker, and much more!
La team Electron est excitée d'annoncer la sortie de Electron 8.0.0 ! Vous pouvez l'installer via npm install electron@latest
ou le télécharger depuis notre site officiel. Cette version inclue des mises à jour, des correctifs et de nouvelles fonctionnalités. On a hâte de voir vos prochaines créations avec cette version ! Continuez de lire pour plus de détails sur cette version, et s'il vous plaît, partagez vos commentaires et remarques !
Changements notables
Changements de la Stack
- Chromium
80.0.3987.86
- Node.js
12.13.0
- V8
8.0
Nouveautés de cette version
- Implemented usage of Chrome's built-in spellchecker feature. See more details in #20692 and #21266.
- IPC communication now uses v8's Structured Clone Algorithm. This is faster, more featureful, and less surprising than the existing logic, and brings about a 2x performance boost for large buffers and complex objects. Latency for small messages is not significantly affected. See more details in #20214.
Voir les notes de version 8.0.0 pour une liste complète des nouvelles fonctionnalités et des modifications.
Changements majeurs avec rupture de compatibilité
- Show module name in deprecation warning for context-aware modules. #21952
- This is continued work for a future requirement that native Node modules loaded in the renderer process be either N-API or Context Aware. Full info and proposed timeline is detailed in this issue.
- Values sent over IPC are now serialized with Structured Clone Algorithm. #20214
- Offscreen Rendering is currently disabled due to lack of a maintainer to work on this feature. It broke during the Chromium upgrade and was subsequently disabled. #20772
Vous trouverez plus d’informations sur ces changements et les changements futurs sur la pagechangements de rupture prévus.
Changements d'API
app
API changes:BrowserWindow
API changes:- Updated docs to note that BrowserWindow options
hasShadow
is available on all platforms #20038 - Added
trafficLightPosition
option to BrowserWindow options to allow custom positioning for traffic light buttons. #21781 - Added
accessibleTitle
option to BrowserWindow for setting the accessible window title #19698 BrowserWindow.fromWebContents()
can now return null #19983- Added
BrowserWindow.getMediaSourceId()
andBrowserWindow.moveAbove(mediaSourceId)
. #18926 - Added support for
will-move
event on macOS. #19641
- Updated docs to note that BrowserWindow options
- Documenté précédemment non documenté
crashReporter.getCrashesDirectory()
. #20417 dialog
API changes:Notification
API changes:session
API changes:- Updated documentation on
session.setProxy(config)
andsession.setCertificateVerifyProc(proc)
to note optional options. #19604 - Added
session.downloadURL(url)
to allow to triggering downloads without a BrowserWindow. #19889 - Added support for HTTP preconnect resource hints via
session.preconnect(options)
and thepreconnect
event. #18671 - Added
session.addWordToSpellCheckerDictionary
to allow custom words in the dictionary #21297
- Updated documentation on
- Added option to
shell.moveItemToTrash(fullPath[, deleteOnFail])
on macOS to specify what happens when moveItemToTrash fails. #19700 systemPreferences
API changes:- Added
nativeTheme.themeSource
to allow apps to override Chromium and the OS's theme choice. #19960 - TouchBar API changes:
tray
API changes:webContents
API changes:- Added
contents.executeJavaScriptInIsolatedWorld(worldId, scripts[, userGesture])
to expose executeJavaScriptInIsolatedWorld on the webContents API. #21190 - Added methods to capture a hidden webContents. #21679
- Added options to
webContents.print([options], [callback])
to enable customization of print page headers and footers. #19688 - Added ability to inspect specific shared workers via
webContents.getAllSharedWorkers()
andwebContents.inspectSharedWorkerById(workerId)
. #20389 - Added the support of
fitToPageEnabled
andscaleFactor
options in WebContents.printToPDF(). #20436
- Added
- Updated
webview.printToPDF
documentation to indicate return type is now Uint8Array. #20505
Deprecated APIs
The following APIs are now deprecated:
- Deprecated the nonfunctional
visibleOnFullScreen
option withinBrowserWindow.setVisibleOnAllWorkspaces
prior to its removal in the next major release version. #21732 - Deprecated
alternate-selected-control-text
onsystemPreferences.getColor(color)
for macOS. #20611 - Deprecated
setLayoutZoomLevelLimits
onwebContents
,webFrame
, and<webview> Tag
because Chromium removed this capability. #21296 - The default value of
false
forapp.allowRendererProcessReuse
is now deprecated. #21287 - Deprecated
<webview>.getWebContents()
as it depends on the remote module. #20726
Fin du support pour 5.x.y
Electron 5.x.y a atteint la fin du support conformément au projet politique 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.
Programme de feedback
Nous continuons à utiliser notre Programme de Feedback de l'application pour les tests. Les projets qui participent à ce programme testent les bétas d'Electron sur leurs applications ; et en retour, les nouveaux bogues qu'ils trouvent sont priorisés pour la version stable. Si vous souhaitez participer ou en savoir plus, consultez notre blog sur le programme.
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 9.0.0 planning défini les dates clés du cycle de vie de développement d'Electron 9. 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.
Deprecation of remote
Module (Starting in Electron 9)
Due to serious security liabilities, we are beginning plans to deprecate the remote
module starting in Electron 9. You can read and follow this issue that details our reasons for this and includes a proposed timeline for deprecation.