Skip to content

Releases: electron/electron

electron v42.1.0

15 May 01:59
9604c46

Choose a tag to compare

Release Notes for v42.1.0

Fixes

  • Fixed a crash in the macOS Touch ID WebAuthn prompt caused by a missing string resource, and added touchID.promptReason to app.configureWebAuthn() to customize the prompt text. #51594 (Also in 41, 43)
  • TBA. #51605 (Also in 43)

Other Changes

  • Improved performance of webRequest header conversions and several other gin converter hot paths. #51607 (Also in 43)
  • Improved performance of native event emission, IPC dispatch, and option-dictionary parsing. #51614 (Also in 41)

electron v41.6.1

14 May 19:09
5dadb47

Choose a tag to compare

Release Notes for v41.6.1

Other Changes

  • Improved performance of native event emission, IPC dispatch, and option-dictionary parsing. #51613 (Also in 42)
  • Security: backported 20 High-severity fixes from Chrome 148 stable release. #51612

electron v43.0.0-alpha.2

13 May 22:52
2d41f41

Choose a tag to compare

Pre-release

Note: This is an alpha release. Please file new issues for any bugs you find in it.

This release is published to npm under the alpha tag and can be installed via npm install electron@alpha, or npm install electron@43.0.0-alpha.2.

Release Notes for v43.0.0-alpha.2

Features

  • Added Clone method to WebContents. #49959
  • Added JS stack trace to crash reports on renderer OOM. #50043 (Also in 42)
  • Added Linux support for app.getApplicationInfoForProtocol(). #51297
  • Added Notification.getHistory() for macOS, allowing developers to restore all delivered notifications still present in Notification Center. #50325 (Also in 42)
  • 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 (Also in 40, 41, 42)
  • 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 (Also in 41, 42)
  • Added globalShortcut.setSuspended() and globalShortcut.isSuspended() methods to temporarily suspend and resume global shortcut handling. #50425 (Also in 42)
  • 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 (Also in 42)
  • 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 id, groupId, and groupTitle support for Windows notifications. #50328 (Also in 42)
  • Added nativeTheme.shouldDifferentiateWithoutColor on macOS. #49912 (Also in 41, 42)
  • Added session support to net module requests from utility process. #51279
  • Added support for heap profiling via contentTracing.enableHeapProfiling(). #50826 (Also in 41, 42)
  • Added support for importing shared textures using the nv16 pixel format. #50728 (Also in 42)
  • Allowed the --experimental-inspector-network-resource Node.js flag to be passed through Electron. #49689
  • Feat: SF Symbol customisation. #48911
  • File downloads will open by default in the user's Downloads folder (or Home directory if Downloads doesn't exist). #49868
  • Fixed contentTracing module to capture Node.js trace categories. #50591
  • Notes: Added support for the urgency option in Notifications on Windows. #50225 (Also in 41, 42)

Fixes

  • Added additional ASAR support to additional fs copy methods. #50226 (Also in 39, 40, 41, 42)
  • Added crash keys to diagnose power monitor shutdown crash on arm64 windows. #51198 (Also in 42)
  • Added missing metadata fields to contentTracing traces. #50892 (Also in 41, 42)
  • BrowserWindow now enforces min/max size constraints on window creation, even if they conflict with the requested width and height. #49906 (Also in 41, 42)
  • Changed the kResizeThreshold to trigger the resize on corners. #50637 (Also in 41, 42)
  • Ensured cross-origin fetch() and XHR are blocked for custom protocols registered with supportFetchAPI: true unless corsEnabled: true is also set; cross-origin mode: 'no-cors' requests now receive an opaque response. #51152 (Also in 39, 40, 41, 42)
  • Fix: If a nativeImage was passed an image with a color profile, its pixel values will now be normalized to SRGB. This ensures that two visually identical images after color space application will receive similar pixel values when converted to a nativeImage. #51565
  • Fixed DesktopCapturer crash on macOS. #50960 (Also in 42)
  • Fixed Electron child process titles on Linux so they show their types (render, gpu, etc.) and complete command-line arguments and flags in ps aux. #50509 (Also in 42)
  • Fixed ELECTRON_INSTALL_PLATFORM being ignored when resolving the Electron executable path during postinstall, which caused path.txt to be written for the host platform instead of the requested target and made isInstalled() always re-download on subsequent installs. #51029 (Also in 42)
  • Fixed app.getLoginItemSettings() returning undefined for executableWillLaunchAtLogin on macOS; the property is now always a boolean. #51416 (Also in 40, 41, 42)
  • Fixed desktopCapturer.getSources() hanging on macOS. #51128
  • Fixed fs.stat on files inside asar archives returning undefined for blksize and blocks instead of numeric values. #50825 (Also in 40, 41, 42)
  • Fixed webContents.printToPDF rejecting on all subsequent calls after a prior call was rejected with an invalid pageRanges value. #51174 (Also in 40, 41, 42)
  • Fixed a crash when providing invalid HTTP header names or values in the webRequest.onBeforeSendHeaders() callback. #51340 (Also in 40, 41, 42)
  • Fixed a bug where Windows notification icons could fail to save because their temporary filenames contained invalid characters. #50454 (Also in 40, 41, 42)
  • Fixed a bug where errors would occur when using the Chrome DevTools Fetch API. [#50744](https://github...
Read more

electron v41.6.0

14 May 00:45
5e590ee

Choose a tag to compare

Release Notes for v41.6.0

Fixes

  • Fixed a crash in the macOS Touch ID WebAuthn prompt caused by a missing string resource, and added touchID.promptReason to app.configureWebAuthn() to customize the prompt text. #51604 (Also in 42, 43)

electron v41.5.2

12 May 19:57
c6800ea

Choose a tag to compare

Release Notes for v41.5.2

Fixes

  • Improved external resize band positioning and scaling for frameless windows on Windows. #51560 (Also in 43)

electron v42.0.1

08 May 20:52
b133532

Choose a tag to compare

Release Notes for v42.0.1

Fixes

  • Fixed DesktopCapturer crash on macOS. #51506
  • Fixed ELECTRON_INSTALL_PLATFORM being ignored when resolving the Electron executable path during postinstall, which caused path.txt to be written for the host platform instead of the requested target and made isInstalled() always re-download on subsequent installs. #51370
  • Fixed app.getLoginItemSettings() returning undefined for executableWillLaunchAtLogin on macOS; the property is now always a boolean. #51507 (Also in 40, 41)
  • Fixed a potential race condition crash when closing DevTools. #51473 (Also in 41)

Other Changes

  • Updated Chromium to 148.0.7778.97. #51517

electron v41.5.1

08 May 18:51
19a80ed

Choose a tag to compare

Release Notes for v41.5.1

Fixes

  • Fixed app.getLoginItemSettings() returning undefined for executableWillLaunchAtLogin on macOS; the property is now always a boolean. #51508 (Also in 40, 42)
  • Fixed a potential race condition crash when closing DevTools. #51474 (Also in 42)
  • Fixed cross-origin isolation failing for non-file origins. #51403 (Also in 42)
  • Improved the way Electron determines the default XDG App ID and WM_CLASS on Linux for better platform compatibility if desktopName is not provided in package.json. #51480 (Also in 42)

electron v40.10.0

08 May 18:47
08f4bb8

Choose a tag to compare

Release Notes for v40.10.0

Fixes

  • Fixed app.getLoginItemSettings() returning undefined for executableWillLaunchAtLogin on macOS; the property is now always a boolean. #51509 (Also in 41, 42)

Other Changes

  • Updated Node.js to v24.15.0. #51087

electron v43.0.0-alpha.1

06 May 19:18
3edf11d

Choose a tag to compare

Pre-release

Note: This is an alpha release. Please file new issues for any bugs you find in it.

This release is published to npm under the alpha tag and can be installed via npm install electron@alpha, or npm install electron@43.0.0-alpha.1.

Release Notes for v43.0.0-alpha.1

Features

  • Added Clone method to WebContents. #49959
  • Added JS stack trace to crash reports on renderer OOM. #50043 (Also in 42)
  • Added Linux support for app.getApplicationInfoForProtocol(). #51297
  • Added Notification.getHistory() for macOS, allowing developers to restore all delivered notifications still present in Notification Center. #50325 (Also in 42)
  • 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 (Also in 40, 41, 42)
  • 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 (Also in 41, 42)
  • Added globalShortcut.setSuspended() and globalShortcut.isSuspended() methods to temporarily suspend and resume global shortcut handling. #50425 (Also in 42)
  • 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 (Also in 42)
  • 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 id, groupId, and groupTitle support for Windows notifications. #50328 (Also in 42)
  • Added nativeTheme.shouldDifferentiateWithoutColor on macOS. #49912 (Also in 41, 42)
  • Added session support to net module requests from utility process. #51279
  • Added support for heap profiling via contentTracing.enableHeapProfiling(). #50826 (Also in 41, 42)
  • Added support for importing shared textures using the nv16 pixel format. #50728 (Also in 42)
  • Allowed the --experimental-inspector-network-resource Node.js flag to be passed through Electron. #49689
  • Feat: SF Symbol customisation. #48911
  • File downloads will open by default in the user's Downloads folder (or Home directory if Downloads doesn't exist). #49868
  • Fixed contentTracing module to capture Node.js trace categories. #50591
  • Notes: Added support for the urgency option in Notifications on Windows. #50225 (Also in 41, 42)

Fixes

  • Added additional ASAR support to additional fs copy methods. #50226 (Also in 39, 40, 41, 42)
  • Added crash keys to diagnose power monitor shutdown crash on arm64 windows. #51198 (Also in 42)
  • Added missing metadata fields to contentTracing traces. #50892 (Also in 41, 42)
  • BrowserWindow now enforces min/max size constraints on window creation, even if they conflict with the requested width and height. #49906 (Also in 41, 42)
  • Changed the kResizeThreshold to trigger the resize on corners. #50637 (Also in 41, 42)
  • Ensured cross-origin fetch() and XHR are blocked for custom protocols registered with supportFetchAPI: true unless corsEnabled: true is also set; cross-origin mode: 'no-cors' requests now receive an opaque response. #51152 (Also in 39, 40, 41, 42)
  • Fixed DesktopCapturer crash on macOS. #50960 (Also in 42)
  • Fixed Electron child process titles on Linux so they show their types (render, gpu, etc.) and complete command-line arguments and flags in ps aux. #50509 (Also in 42)
  • Fixed ELECTRON_INSTALL_PLATFORM being ignored when resolving the Electron executable path during postinstall, which caused path.txt to be written for the host platform instead of the requested target and made isInstalled() always re-download on subsequent installs. #51029 (Also in 42)
  • Fixed app.getLoginItemSettings() returning undefined for executableWillLaunchAtLogin on macOS; the property is now always a boolean. #51416 (Also in 40, 41, 42)
  • Fixed desktopCapturer.getSources() hanging on macOS. #51128
  • Fixed fs.stat on files inside asar archives returning undefined for blksize and blocks instead of numeric values. #50825 (Also in 40, 41, 42)
  • Fixed webContents.printToPDF rejecting on all subsequent calls after a prior call was rejected with an invalid pageRanges value. #51174 (Also in 40, 41, 42)
  • Fixed a crash when providing invalid HTTP header names or values in the webRequest.onBeforeSendHeaders() callback. #51340 (Also in 40, 41, 42)
  • Fixed a bug where Windows notification icons could fail to save because their temporary filenames contained invalid characters. #50454 (Also in 40, 41, 42)
  • Fixed a bug where errors would occur when using the Chrome DevTools Fetch API. #50744 (Also in 41, 42)
  • Fixed a crash in clipboard.readImage() when the clipboard contains malformed image data. #50475 (A...
Read more

electron v42.0.0

06 May 01:10
51db52e

Choose a tag to compare

Release Notes for v42.0.0

Stack Upgrades

Breaking Changes

Behavior Changed: macOS notifications now use UNNotification API

Electron has migrated from the deprecated NSUserNotification API to the UNNotification API on macOS. The new API requires that an application be code-signed in order for notifications to be displayed. If an application is not code-signed, notifications will emit a failed event on the Notification object. #47817

Behavior Changed: electron no longer downloads itself via postinstall script

Previously, the electron npm package would download the Electron binary from the repository's GitHub Releases in the package's postinstall script. With recent supply chain security attacks against the npm ecosystem with postinstall scripts as a common attack vector, Electron will now download itself dynamically the first time that its main bin script is run (e.g. via npx electron). See RFC #22 for more context. #49328

Behavior Changed: Offscreen rendering default device scale factor

Previously, OSR used the primary display's device scale factor for rendering. Starting from Electron 42, the default changes to a constant value of 1.0 for more consistent output sizes. Use webPreferences.offscreen.deviceScaleFactor to specify a custom value. #49683

Removed: quotas object from Session.clearStorageData(options)

When calling Session.clearStorageData(options), the options.quotas object is no longer supported because it has been removed from upstream Chromium.

Removed: ELECTRON_SKIP_BINARY_DOWNLOAD environment variable

This environment variable is no longer supported due to the new lazy download behavior. #50459

Features

Additions

  • Added app.configureWebAuthn({ touchID: { keychainAccessGroup } }) to enable the WebAuthn Touch ID platform authenticator on macOS. Also introduces a select-webauthn-account session event for discoverable-credential selection. #51411 (Also in 41)
  • Added Notification.getHistory() for macOS. #51123
  • Added Notification.handleActivation(callback) API on Windows to handle notification clicks, replies, and action buttons - including when the app is launched from a notification (cold start). #49919
  • Added ELECTRON_INSTALL_PLATFORM and ELECTRON_INSTALL_ARCH variables to install binaries from other platforms and architectures. #49981
  • Added allowExtensions privilege to protocol.registerSchemesAsPrivileged() to enable Chrome extensions on custom protocols. #50530 (Also in 40, 41)
  • Added app.isActive() to check if the app is the active/foreground application (macOS only). #49622
  • Added globalShortcut.setSuspended() and globalShortcut.isSuspended() methods to temporarily suspend and resume global shortcut handling. #50777
  • 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. #50304
  • Added webContents.getOrCreateDevToolsTargetId(). #49733 (Also in 41)
  • Added a disclaim option to the UtilityProcess API to allow for TCC disclaiming on macOS. #49128 (Also in 39, 40, 41)
  • Added a reason property to the Notification 'closed' event on Windows to allow developers to know the reason the Notification was dismissed. #49913 (Also in 40, 41)
  • Added an usePrinterDefaultPageSize option to webContents.print() to allow using the printer's default page size. #49523 (Also in 41)
  • Added animation functionality to view.setBounds and added view.setBackgroundBlur. #48812
  • Added id, groupId, and groupTitle support for Windows notifications. #50895
  • Added nativeTheme.shouldDifferentiateWithoutColor on macOS. #50409 (Also in 41)
  • Added support for MSIX auto-updating. #49230 (Also in 39, 40, 41)
  • Added support for --experimental-transform-types. #49711 (Also in 39, 40, 41)
  • Added support for long-animation-frame script attribution (via --enable-features=AlwaysLogLOAFURL). #49706 (Also in 39, 40, 41)
  • Added support for heap profiling in contentTracing. #51162 (Also in 41)
  • Added support for importing shared textures using the nv16 pixel format. #51187
  • Added support for importing shared textures using the p010le 10-bit YUV pixel format. #49272
  • Added support for several more safeStorage backends via new asynchronous functionality in safeStorage. #49054
  • Added support for the urgency option in Notifications on Windows. #50383 (Also in 41)
  • Added the ability to capture JS stack trace on renderer OOM. #50911
  • Added the ability to disable auto-focusing of WebContents on navigation using webPreferences.focusOnNavigation. #49425 (Also in 40, 41)
  • Electron now downloads its binary into node_modules dynamically on first launch instead of running a postinstall script. Added the install-electron script to manually trigger the download as well. #49328
  • Enabled wasm trap handlers behind WasmTrapHandlers fuse. #48983 (Also in 41)
  • Extended actions support for Windows notifications to include buttons, select dropdowns, and replies. #48132 (Also in 40, 41)
  • On Wayland (Linux), frameless windows now have GTK drop shadows and extended resize boundaries. To create fully frameless windows with no decorations, set hasShadow: false in the window constructor. #49295 (Also in 41)
  • Replaced deprecated NSUserNotification with User Notifications. #47817

Fixes

  • Added additional ASAR support to additional fs copy methods. #50285 (Also in 39, 40, 41)
  • Added crash keys to diagnose power monitor shutdown crash on arm64 windows. #51205
  • Added missing metadata fields to contentTracing traces. #51007 (Also in 41)
  • Added validation to protocol client methods to reject protocol names that do not conform to the RFC 3986 URI scheme grammar. #50141 (Also in [38](https://github.com/electron/electron/pull/...
Read more