Electron 43

Erenay091 pts0 comments

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...

added electron notification macos support node

Related Articles