Electron 39.0.0 Released with Stable ASAR Integrity and Core Upgrades
Electron 39.0.0 is released, featuring upgrades to Chromium 142, Node 22.20, and V8 14.2. ASAR integrity is now stable, enhancing app security, plus new features and breaking changes.
The Electron team is thrilled to announce the release of Electron 39.0.0! This significant update brings crucial upgrades to its core components: Chromium 142.0.7444.52, V8 14.2, and Node 22.20.0.
Developers can install the latest version via npm:
npm install electron@latest
Alternatively, you can download it directly from our releases website.
We encourage you to share your feedback with us on Bluesky or Mastodon, or join our vibrant community on Discord. For reporting bugs and submitting feature requests, please use Electron's issue tracker.
Notable Changes
ASAR Integrity Graduates to Stable
A significant feature, ASAR integrity, has now moved from "experimental" to "stable" in Electron 39. This enhancement provides runtime validation for your packaged app.asar against a build-time hash, effectively detecting any tampering. If a hash is missing or a mismatch occurs, the application will forcefully terminate, bolstering the security of your Electron apps.
For comprehensive details on how ASAR integrity works, its implementation in your application, and its use with Electron Forge and Electron Packager, please refer to the ASAR integrity documentation. In related news, Electron Packager v19 now enables ASAR by default. (#1841)
Stack Upgrades
Electron 39 includes the following major component upgrades:
- Chromium: Upgraded from 140.0.7339.41 to 142.0.7444.52. (New in 142, New in 141)
- Node.js: Upgraded from 22.18.0 to 22.20.0. (v22.20.0 Announcement, v22.19.0 Announcement)
- V8: Upgraded from 14.0 to 14.2. (V8 roll increment)
New Features and Improvements
- Added
app.isHardwareAccelerationEnabled(). (#48680) - Introduced
RGBAF16output format with scRGB HDR color space support for Offscreen Rendering. (#48504) - Provided methods for more granular accessibility support management. (#48625)
- Added support for
USBDevice.configurations. (#47459) - Enabled retrieval of the system accent color on Linux using
systemPreferences.getAccentColor. (#48628) - Allowed for persisting File System API grant status within a given session. (#48326) (Also in 37, 38)
- Added support for dynamic ESM imports in non-context isolated preloads. (#48488) (Also in 37, 38)
- The ASAR integrity feature has been marked as stable, graduating from its previous experimental status. (#48434)
Breaking Changes
Deprecated: --host-rules Command Line Switch
Chromium is deprecating the --host-rules command-line switch. Developers should now use --host-resolver-rules instead.
Behavior Changed: window.open Popups Are Always Resizable
In adherence to the current WHATWG spec, the window.open API will now consistently create resizable popup windows. To revert to the previous behavior where resizable=yes was required to make popups resizable, you can implement the following webContents.setWindowOpenHandler:
webContents.setWindowOpenHandler((details) => {
return {
action: 'allow',
overrideBrowserWindowOptions: {
resizable: details.features.includes('resizable=yes'),
},
};
});
Behavior Changed: Shared Texture OSR paint Event Data Structure
When utilizing the shared texture offscreen rendering feature, the paint event now emits a more structured object. This change consolidates the sharedTextureHandle, planes, and modifier properties into a unified handle property. For further details, please consult the OffscreenSharedTexture documentation.
End of Support for Electron 36.x.y
As per the project's support policy, Electron 36.x.y has officially reached its end-of-support. We strongly recommend that developers and applications upgrade to a newer, actively supported version of Electron to ensure continued security and access to the latest features.
What's Next
The Electron team will continue to prioritize the ongoing development and synchronization with major underlying components such as Chromium, Node.js, and V8. You can review Electron's public timeline here for upcoming releases and future plans. More information on anticipated changes can be found on the Planned Breaking Changes page.