Electron 30.0.0
Electron 30.0.0 est disponible ! It includes upgrades to Chromium 124.0.6367.49
, V8 12.4
, and Node.js 20.11.1
.
L’équipe Electron est heureuse d’annoncer la sortie d’Electron 30.0.0 ! Vous pouvez l'installer avec npm via npm install electron@latest
ou le télécharger sur notre site web de téléchargement de version. Vous obtiendrez plus de détails sur cette version en lisant ce qui suit.
Si vous avez des commentaires, veuillez les partager avec nous sur [Twitter] (https://twitter.com/electronjs) ou Mastodon, ou joignez-vous à notre communauté [Discord] (https://discord.com/invite/electronjs)! Les bogues et les demandes de fonctionnalités peuvent être signalés dans l'[outil de suivi des problèmes] d’Electron (https://github.com/electron/electron/issues).
Changements notables
Points clés
- ASAR Integrity fuse now supported on Windows (#40504)
- Existing apps with ASAR Integrity enabled may not work on Windows if not configured correctly. Apps using Electron packaging tools should upgrade to
@electron/packager@18.3.1
or@electron/forge@7.4.0
. - Take a look at our ASAR Integrity tutorial for more information.
- Existing apps with ASAR Integrity enabled may not work on Windows if not configured correctly. Apps using Electron packaging tools should upgrade to
- Added
WebContentsView
andBaseWindow
main process modules, deprecating & replacingBrowserView
(#35658). Learn more about how to migrate fromBrowserView
toWebContentsView
in this blog post.BrowserView
is now a shim overWebContentsView
and the old implementation has been removed.- See our Web Embeds documentation for a comparison of the new
WebContentsView
API to other similar APIs.
- Implemented support for the File System API (#41827)
Changements de la Stack
- Chromium
124.0.6367.49
- Nouveau dans Chrome 124 et dans DevTools 124
- Nouveau dans Chrome 123 et dans DevTools 123
- Node
20.11.1
- V8
12.4
Electron 30 upgrades Chromium from 122.0.6261.39
to 124.0.6367.49
, Node from 20.9.0
to 20.11.1
, and V8 from 12.2
to 12.4
.
Nouvelles fonctionnalités
- Added a
transparent
webpreference to webviews. (#40301) - Added a new instance property
navigationHistory
on webContents API withnavigationHistory.getEntryAtIndex
method, enabling applications to retrieve the URL and title of any navigation entry within the browsing history. (#41662) - Added new
BrowserWindow.isOccluded()
method to allow apps to check occlusion status. (#38982) - Added proxy configuring support for requests made with the
net
module from the utility process. (#41417) - Added support for Bluetooth ports being requested by service class ID in
navigator.serial
. (#41734) - Added support for the Node.js
NODE_EXTRA_CA_CERTS
CLI flag. (#41822)
Changements majeurs avec rupture de compatibilité
Behavior Changed: cross-origin iframes now use Permission Policy to access features
Cross-origin iframes must now specify features available to a given iframe
via the allow
attribute in order to access them.
See documentation for more information.
Removed: The --disable-color-correct-rendering
command line switch
This switch was never formally documented but its removal is being noted here regardless. Chromium itself now has better support for color spaces so this flag should not be needed.
Behavior Changed: BrowserView.setAutoResize
behavior on macOS
In Electron 30, BrowserView is now a wrapper around the new WebContentsView API.
Previously, the setAutoResize
function of the BrowserView
API was backed by autoresizing on macOS, and by a custom algorithm on Windows and Linux.
For simple use cases such as making a BrowserView fill the entire window, the behavior of these two approaches was identical.
However, in more advanced cases, BrowserViews would be autoresized differently on macOS than they would be on other platforms, as the custom resizing algorithm for Windows and Linux did not perfectly match the behavior of macOS's autoresizing API.
The autoresizing behavior is now standardized across all platforms.
If your app uses BrowserView.setAutoResize
to do anything more complex than making a BrowserView fill the entire window, it's likely you already had custom logic in place to handle this difference in behavior on macOS.
If so, that logic will no longer be needed in Electron 30 as autoresizing behavior is consistent.
Removed: params.inputFormType
property on context-menu
on WebContents
The inputFormType
property of the params object in the context-menu
event from WebContents
has been removed. Use the new formControlType
property instead.
Supprimé : process.getIOCounters()
Chromium has removed access to this information.
Fin du support pour 27.x.y
Electron 27.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.
E24 (Avr'24) | E31 (Jun'24) | E32 (Aug'24) |
---|---|---|
30.x.y | 31.x.y | 32.x.y |
29.x.y | 30.x.y | 31.x.y |
28.x.y | 29.x.y | 30.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.
You can find Electron's public timeline here.
More information about future changes can be found on the Planned Breaking Changes page.