



























Electron 39.0.0 has been released! It includes upgrades to Chromium 142.0.7444.52, V8 14.2, and Node 22.20.0.
The Electron team is excited to announce the release of Electron 39.0.0! You can install it with npm via npm install electron@latest or download it from our releases website. Continue reading for details about this release.
If you have any feedback, please share it with us on Bluesky or Mastodon, or join our community Discord! Bugs and feature requests can be reported in Electron's issue tracker.
A long-standing "experimental" feature -- ASAR integrity -- is now stable in Electron 39. When you enable this feature, it validates your packaged app.asar at runtime against a build-time hash to detect any tampering. If no hash is present or if there is a mismatch in the hashes, the app will forcefully terminate.
See the ASAR integrity documentation for full information on how on the feature works, on how to use it in your application, and how to use it in Electron Forge and Electron Packager.
In related news, Electron Packager v19 now enables ASAR by default. #1841
142.0.7444.52
22.20.0
14.2
Electron 39 upgrades Chromium from 140.0.7339.41 to 142.0.7444.52, Node.js from 22.18.0 to v22.20.0, and V8 from 14.0 to 14.2.
app.isHardwareAccelerationEnabled(). #48680RGBAF16 output format with scRGB HDR color space support to Offscreen Rendering. #48504USBDevice.configurations. #47459systemPreferences.getAccentColor. #48628--host-rules command line switchChromium is deprecating the --host-rules switch.
You should use --host-resolver-rules instead.
Per current WHATWG spec, the window.open API will now always create a resizable popup window.
To restore previous behavior:
webContents.setWindowOpenHandler((details) => {
return {
action: 'allow',
overrideBrowserWindowOptions: {
resizable: details.features.includes('resizable=yes'),
},
};
});
NSAudioCaptureUsageDescription should be included in your app's Info.plist file to use desktopCapturer (🍏 macOS ≥14.2)Due to a Chromium update which enables Apple's newer CoreAudio Tap API by default, you now must have NSAudioCaptureUsageDescription defined in your Info.plist to use desktopCapturer.
Electron's desktopCapturer will create a dead audio stream if the new permission is absent. However, no errors or warnings will occur. This is partially a side-effect of Chromium not falling back to the older Screen & System Audio Recording permissions system if the new system fails.
To restore previous behavior:
//main.js (right beneath your require/import statments)
app.commandLine.appendSwitch(
'disable-features',
'MacCatapLoopbackAudioForScreenShare',
);
paint event data structureWhen using the shared texture offscreen rendering feature, the paint event now emits a more structured object.
It moves the sharedTextureHandle, planes, modifier into a unified handle property.
See the OffscreenSharedTexture documentation for more details.
Electron 36.x.y has reached end-of-support as per the project's support policy. Developers and applications are encouraged to upgrade to a newer version of Electron.
| E39 (Oct'25) | E40 (Jan'26) | E41 (Feb'26) |
|---|---|---|
| 39.x.y | 40.x.y | 41.x.y |
| 38.x.y | 39.x.y | 40.x.y |
| 37.x.y | 38.x.y | 39.x.y |
In the short term, you can expect the team to continue to focus on keeping up with the development of the major components that make up Electron, including Chromium, Node, and V8.
You can find Electron's public timeline here.
More information about future changes can be found on the Planned Breaking Changes page.
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。