Electron 34.0.0
Electron 34.0.0 est disponible ! It includes upgrades to Chromium 132.0.6834.83, V8 13.2, and Node 20.18.1.
L’équipe Electron est heureuse d’annoncer la sortie d’Electron 34.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.
If you have any feedback, please share it with us on Bluesky or Mastodon, or join our community Discord! 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
HTTP Compression Shared Dictionary Management APIs
HTTP compression allows data to be compressed by a web server before being received by the browser. Modern versions of Chromium support Brotli and Zstandard, which are newer compression algorithms that perform better for text files than older schemes such as gzip.
Custom shared dictionaries further improve the efficiency of Brotli and Zstandard compression. See the Chrome for Developers blog on shared dictionaries for more information.
@felixrieseberg added the following APIs in #44950 to manage shared dictionaries at the Session level:
session.getSharedDictionaryUsageInfo()
session.getSharedDictionaryInfo(options)
session.clearSharedDictionaryCache()
session.clearSharedDictionaryCacheForIsolationKey(options)
Unresponsive Renderer JavaScript Call Stacks
Electron's unresponsive
event occurs whenever a renderer process hangs for an excessive period of time. The new WebFrameMain.collectJavaScriptCallStack()
API added by @samuelmaddock in #44204 allows you to collect the JavaScript call stack from the associated WebFrameMain
object (webContnets.mainFrame
).
This API can be useful to determine why the frame is unresponsive in cases where there's long-running JavaScript events causing the process to hang. For more information, see the proposed web standard Crash Reporting API.
const { app } = require('electron');
app.commandLine.appendSwitch(
'enable-features',
'DocumentPolicyIncludeJSCallStacksInCrashReports',
);
app.on('web-contents-created', (_, webContents) => {
webContents.on('unresponsive', async () => {
// Interrupt execution and collect call stack from unresponsive renderer
const callStack = await webContents.mainFrame.collectJavaScriptCallStack();
console.log('Renderer unresponsive\n', callStack);
});
});
This API requires the 'Document-Policy': 'include-js-call-stacks-in-crash-reports'
header to be enabled. See #45356 for more details.
Changements de la Stack
- Chromium
132.0.6834.83
- Node
20.18.1
- V8
13.2
Electron 34 upgrades Chromium from 130.0.6723.44
to 132.0.6834.83
, Node from 20.18.0
to 20.18.1
, and V8 from 13.0
to 13.2
.
Nouvelles fonctionnalités
- Added APIs to manage shared dictionaries for compression efficiency using Brotli or ZStandard. The new APIs are
session.getSharedDictionaryUsageInfo()
,session.getSharedDictionaryInfo(options)
,session.clearSharedDictionaryCache()
, andsession.clearSharedDictionaryCacheForIsolationKey(options)
. #44950 - Added
WebFrameMain.collectJavaScriptCallStack()
for accessing the JavaScript call stack of unresponsive renderers. #44938 - Added
WebFrameMain.detached
for frames in an unloading state.- Added
WebFrameMain.isDestroyed()
to determine if a frame has been destroyed. - Fixed
webFrameMain.fromId(processId, frameId)
returning aWebFrameMain
instance which doesn't match the given parameters when the frame is unloading. #43473
- Added
- Ajout d'un événement d'erreur dans le processus utilitaire pour supporter les rapports de diagnostic sur les erreurs fatales V8. #43774
- Feat: GPU accelerated shared texture offscreen rendering. #42953
Changements majeurs avec rupture de compatibilité
Behavior Changed: menu bar will be hidden during fullscreen on Windows
This brings the behavior to parity with Linux. Prior behavior: Menu bar is still visible during fullscreen on Windows. New behavior: Menu bar is hidden during fullscreen on Windows.
Correction: This was previously listed as a breaking change in Electron 33, but was first released in Electron 34.
Fin du support pour 31.x.y
Electron 31.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.
E34 (Jan'25) | E35 (Apr'25) | E36 (Jun'25) |
---|---|---|
34.x.y | 35.x.y | 36.x.y |
33.x.y | 34.x.y | 35.x.y |
32.x.y | 33.x.y | 34.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.