npm electron 40.0.0
electron v40.0.0

5 hours ago

Release Notes for v40.0.0

Stack Upgrades

Breaking Changes

  • Deprecated clipboard API access from renderer processes #48923
  • Fixed an error on debug symbol upload by moving dsym.zip to use tar.xz compression. #48952

Features

Additions

  • Added "memory-eviction" as a possible reason for a child process to exit. #48362
  • Added RGBAF16 output format with scRGB HDR color space support to Offscreen Rendering. #48265 (Also in 39)
  • Added app.isHardwareAccelerationEnabled(). #47614 (Also in 37, 38, 39)
  • Added bypassCustomProtocolHandlers option to net.request. #48883 (Also in 38, 39)
  • Added methods to enable more granular accessibility support management. #48042 (Also in 37, 38, 39)
  • Added support for WebSocket authentication through the login event on webContents. #49064 (Also in 39)
  • Added support to import external shared texture as VideoFrame. #48831
  • Added the ability to retrieve the system accent color on Linux using systemPreferences.getAccentColor. #48027 (Also in 39)
  • Allowed for persisting File System API grant status within a given session. #48170 (Also in 37, 38, 39)
  • Automatically focus DevTools when element is inspected or breakpoint is triggered. #46386 (Also in 37, 38, 39)

Improvements

  • Enables resetting accent color to follow system accent settings if a previous color has been set via window.setAccentColor(null). #48274 (Also in 38, 39)
  • Support dynamic ESM imports in non-context isolated preloads. #48375 (Also in 37, 38, 39)
  • Updated nativeImage.createFromNamedImage to support SF Symbol names. #48772 (Also in 39)

Fixes

  • Added support for --no-stdio-init to be used when nul device is disabled on windows. #47870
  • Fixed an issue on Windows and Linux where no cookie encryption key provider was passed into the network service when cookie encryption was enabled. #49375
  • Fixed an issue where no cookie encryption provider was passed into the network service when cookie encryption was enabled. #49350
  • Fixed crash when attempting to resolve modules during process exit. #49104
  • Fixed drag regions in child windows. #49312
  • Fixed draw smoothing round corner issue. #48782
  • Fixed the cookie encryption logic to use the old os_crypt sync implementation present in M142. #49384
  • Fixed visual artifacts while resizing a window on Windows. #49191

Also in earlier versions...

  • AccentColor set distinguishes the frame. #48405 (Also in 37, 38, 39)
  • Corrected the appearance of tiled windows on GNOME (when frame: true), and removed resize handles from tiled edges. #48835 (Also in 38, 39)
  • Fix: ESM-from-CJS import when CJK characters are in path. #48862 (Also in 39)
  • Fix: runtime JS error that crashes GetPackageJSON. #48293 (Also in 37, 38, 39)
  • Fixed Wayland configuration through the XDG_SESSION_TYPE environment variable. #48301 (Also in 38, 39)
  • Fixed Windows dialog.showMessageBox default button handling. #48216 (Also in 36, 37, 38, 39)
  • Fixed a Windows notification issue where clicking a native notification would result in an application hang on certain Windows environments. #49129 (Also in 39)
  • Fixed a potential crash in dialog.showOpenDialog on Windows with an empty extension filter array. #48640 (Also in 37, 38, 39)
  • Fixed an application crash when clicking or hovering over the native MacOS "Window" menu. Reverts #48598. #48799 (Also in 37, 38, 39)
  • Fixed an error when checking environmental variables when using remote checksums when installing Electron via npm. #48634 (Also in 37, 38, 39)
  • Fixed an issue that menu items on macOS could not be disabled under all circumstances. #48598 (Also in 37, 38, 39)
  • Fixed an issue where menu-did-close was not emitted properly for some application menus. #49092 (Also in 38, 39)
  • Fixed an issue where shell.openExternal caused an unexpected dialog to open when there was no app suitable to open the url. #48502 (Also in 38, 39)
  • Fixed an issue where systemPreferences.getAccentColor inverted the color. #48511 (Also in 37, 38, 39)
  • Fixed an issue where trafficLightPosition would not be correctly applied when using titleBarStyle: 'customButtonsOnHover' on macOS 26. #48538 (Also in 37, 38, 39)
  • Fixed an issue where authentication via websockets can crash. #48510 (Also in 37, 38, 39)
  • Fixed an issue where button background on mouse hover with titleBarOverlay wasn't always calculated to provide appropriate minimum contrast. #48568 (Also in 37, 38, 39)
  • Fixed an issue where calling webContents.openDevTools({ mode: 'detach' }) would cause a crash on Wayland. #48600 (Also in 38, 39)
  • Fixed an issue where changing the resizable property on a window would break the styles of a transparent window. #48378 (Also in 37, 38, 39)
  • Fixed an issue where icons didn't show up as expected on Windows Toast notifications. #48543 (Also in 38, 39)
  • Fixed an issue where snapped windows aren't correctly snapped when minimized and then unminimized. #48296 (Also in 37, 38, 39)
  • Fixed an issue where some apps would throw an exception on launch. #48976 (Also in 39)
  • Fixed an issue where the close callback param for menu.popup would fire when any arbitrary submenu of the given menu closed, and not the menu itself. #49046 (Also in 38, 39)
  • Fixed crash on windows when UTF-8 is in path. #48942 (Also in 38, 39)
  • Fixed crash when accessing webContents.session or webContents.debugger. #48318 (Also in 39)
  • Fixed crash when creating event object for ipc events. #48991 (Also in 39)
  • Fixed crash when inspector agent attempts to evaluate on provisional frames. #48503 (Also in 37, 38, 39)
  • Fixed crash when passing feature param from commandline --enable-features=Feature:ParamA/Value. #48411 (Also in 39)
  • Fixed crash when reading system certificates via nodejs tls module. #49041 (Also in 39)
  • Fixed download button does not work in PDF Viewer. #48372 (Also in 38, 39)
  • Fixed excessive WindowServer GPU usage on macOS Tahoe 26. #48376 (Also in 36, 37, 38, 39)
  • Fixed high CPU usage with <input> tag on macOS 26. #48379 (Also in 36, 37, 38, 39)
  • Fixed incorrect signal variable reference in nan-spec-runner that could cause install failures to go undetected. #48639 (Also in 38, 39)
  • Fixed oom crash when optimizing certain wasm functions involving large phi nodes. #48816 (Also in 38, 39)
  • Fixed shader-f16 to work on Windows. #48342 (Also in 37, 38, 39)
  • Fixed the issue where the parent window leave disabled after the modal window call show() multiple time. #49021 (Also in 38, 39)
  • Fixed the issue where the parent window remained interactive after the modal window was opened. #48864 (Also in 38, 39)
  • Fixed white flash on call to BrowserWindow.show. #47151 (Also in 37, 38, 39)
  • Reenable V8 trap handlers for wasm in browser and utility process, improves runtime execution of wasm. #48839 (Also in 39)
  • Requests sent via net are now capable of having their headers modified to use reserved headers via webRequest. #49241 (Also in 39)
  • Titlebar buttons now appear on the correct side of windows on Wayland in Ubuntu. #48490 (Also in 38, 39)
  • Windows: Calling window.setFocusable(true) will no longer cause a window to lose focus. #48927 (Also in 39)

Other Changes

  • Backported fix for 445380761. #48335 (Also in 36, 37, 38, 39)
  • Backported fix for 466786677. #49286
  • Backported fix for chromium:466192044. #49201
  • Fixed a development issue where the metal toolchain could not be found when building on macOS 26. #48467 (Also in 37, 38, 39)
  • Fixed devtools element panel flickering when with node inspection. #49043 (Also in 39)

Documentation

Notices

End of Support for 37.x.y

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

Don't miss a new electron release

NewReleases is sending notifications on new releases.