Electron 43 | Electron
Skip to main content<br>Electron 43 has been released! It includes upgrades to Chromium 150.0.7871.46, V8 15.0, and Node v24.17.0.
The Electron team is excited to announce the release of Electron 43! 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.
Notable Changes
Improved app startup performance
Electron 43 ships several improvements to app startup performance. The main process now boots from an embedded Node.js startup snapshot, framework bundles and preload scripts are cached as compiled V8 bytecode, and sandboxed renderer startup data is pushed ahead of navigation instead of fetched via blocking IPC. As a bonus, preload stack traces now show the correct file path and line number. #51792
Frameless windows on Linux now have rounded corners by default
On Linux, frameless windows now have rounded corners by default, matching the behavior on macOS and Windows. Rounded corners can be disabled on all platforms by setting roundedCorners: false on the window. #52111
File downloads now open in the Downloads folder by default
File downloads will now open by default in the user's Downloads folder (or the Home directory if Downloads doesn't exist). #49868
New macOS Notification management APIs
Electron 43 adds Notification.remove(), Notification.removeAll(), and Notification.removeGroup() static methods on macOS, giving developers finer control over delivered notifications. Combined with the existing Notification.getHistory() API, you can now fully manage the lifecycle of notifications in Notification Center. #51690
Stack Changes
Chromium 150.0.7871.46
New in 150
New in 149
Node v24.17.0
Node 24.17.0 blog post
V8 15.0
Electron 43 upgrades Chromium from 148.0.7778.96 to 150.0.7871.46, Node.js from v24.15.0 to v24.17.0, and V8 from 14.8 to 15.0.
New Features and Improvements
Added Clone method to WebContents. #49959
Added JS stack trace to crash reports on renderer OOM. #50043
Added Linux support for app.getApplicationInfoForProtocol(). #51297
Added Notification.remove(), Notification.removeAll(), and Notification.removeGroup() static methods for macOS. #51690
Added Notification.getHistory() for macOS, allowing developers to restore all delivered notifications still present in Notification Center. #50325
Added accessibilityLabel property to MenuItem constructor options and properties for defining screen-reader-friendly labels. #50240
Added allowExtensions privilege to protocol.registerSchemesAsPrivileged() to enable Chrome extensions on custom protocols. #49951
Added app.configureWebAuthn() to enable the Touch ID platform authenticator for WebAuthn on macOS, and a select-webauthn-account session event for choosing between multiple discoverable credentials. #51255
Added globalShortcut.setSuspended() and globalShortcut.isSuspended() methods to temporarily suspend and resume global shortcut handling. #50425
Added id and groupId options to the Notification constructor on macOS. id allows custom identifiers for notifications, and groupId visually groups notifications together in Notification Center. #50097
Added id, groupId, and groupTitle support for Windows notifications. #50328
Added nativeTheme.shouldDifferentiateWithoutColor on macOS. #49912
Added nv12 OSR pixel format support for professional use. #49799
Added view.setBackgroundBlur(). #51076
Added webContents.copyVideoFrameAt(x, y) and webContents.saveVideoFrameAs(x, y) methods. #48149
Added session support to net module requests from the utility process. #51279
Added support for heap profiling via contentTracing.enableHeapProfiling(). #50826
Added support for importing shared textures using the nv16 pixel format. #50728
Added support for the urgency option in Notifications on Windows. #50225
Added support for using a proxy during yarn install. #50322
Allowed the --experimental-inspector-network-resource Node.js flag to be passed through Electron. #49689
Enabled ThinLTO on macOS builds. #51819
Enabled profile-guided optimization for V8 builtins in release builds, improving JavaScript builtin performance (Array, String, RegExp, etc.). #50416
Improved app startup performance — the main process now boots from an embedded Node.js startup snapshot, framework bundles and preload scripts are cached as compiled V8 bytecode, and sandboxed renderer startup data is pushed ahead of navigation instead of fetched via blocking IPC. #51792
Improved performance of Linux and Windows release builds by enabling ThinLTO link-time optimization for the main Electron binary. #51820
Improved performance of app.getApplicationNameForProtocol() on Linux. #51251
Improved performance of app.isDefaultProtocolClient() and...