npm electron 39.0.0-alpha.1
electron v39.0.0-alpha.1

8 hours ago

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@39.0.0-alpha.1.

Release Notes for v39.0.0-alpha.1

Features

  • Added colorSpace to offscreen shared texture info of webContents.on('paint') event.
    • Breaking Changed the signature of OffscreenSharedTexture to provide a unified handle that holds the native handle. #47315
  • Added fileBacked and purgeable fields to process.getSystemMemoryInfo() for macOS. #47628 (Also in 37, 38)
  • Added tray.{get|set}AutosaveName to enable macOS tray icons to maintain position across launches. #47838 (Also in 36, 37, 38)
  • Added webFrameMain.fromFrameToken(processId, frameToken) to get a WebFrameMain instance from its frame token. #47850 (Also in 38)
  • Added support for app.getRecentDocuments() on Windows and macOS. #45839 (Also in 36, 37, 38)
  • Added support for USBDevice.configurations. #47459
  • Adds the ability to change window accent color on Windows after initial window initialization via {get|set}AccentColor. #47741 (Also in 36, 37, 38)
  • Internally switched to using DIR_ASSETS instead of DIR_MODULE/DIR_EXE to locate assets and resources, and added "assets" as a key that can be queried via app.getPath. #47439 (Also in 37, 38)

Fixes

  • Fixed a bug where app extensions filters didn't allow for selecting app bundles in macOS file dialogs. #47825 (Also in 36, 37, 38)
  • Fixed a bug where the Referer header was not being set correctly when using webContents.downloadURL(). #47625 (Also in 36, 37, 38)
  • Fixed a child process crash on macOS when the running application is replaced with one that has a newer implementation triggering the sandbox. #47765 (Also in 37, 38)
  • Fixed a crash possible when calling webContents.loadURL() from a failed webContents.loadURL() call's catch handler. #48004 (Also in 36, 37, 38)
  • Fixed a crash when adding the -electron-corner-smoothing CSS rule to a stylesheet with no associated document. #47759 (Also in 37, 38)
  • Fixed a crash when calling desktopCapturer.getSources with an empty thumbnail size. #47641 (Also in 36, 37, 38)
  • Fixed a crash when calling some webContents functions after window.close(). #47933 (Also in 36, 37, 38)
  • Fixed a spec compliance issue with window.open where it should always create a resizable popup window but did not. #47540
  • Fixed addBrowserView to prevent unnecessary removal and re-adding of the same BrowserView. #48053 (Also in 38)
  • Fixed an issue on some older Windows versions where setContentProtection didn't work as expected. #47856 (Also in 36, 37, 38)
  • Fixed an issue where app.accessibilitySupportEnabled didn't work as expected. #48041 (Also in 37, 38)
  • Fixed an issue where dialog.showMessageDialog showed a window incorrectly centered to monitor instead of parent window when passed. #48181 (Also in 38)
  • Fixed an issue where net.isOnline() always returned true in utilityProcesses. #48111 (Also in 36, 37, 38)
  • Fixed an issue where require('node:sqlite') didn't work. #47706 (Also in 36, 37, 38)
  • Fixed an issue where shell.openPath was not non-blocking as expected. #48079 (Also in 36, 37, 38)
  • Fixed an issue where a file-only picker incorrectly allowed some directories. #48198 (Also in 38)
  • Fixed an issue where an invalid color passed as a string to accentColor would result in a white accent color. #47660 (Also in 37, 38)
  • Fixed an issue where certain operations performed in a window close callback could trigger a crash. #47751 (Also in 36, 37, 38)
  • Fixed an issue where child windows could crash if they were opened from a fullscreen parent and have roundedCorners set to false. #47664 (Also in 36, 37, 38)
  • Fixed an issue where dragging sometimes didn't work after the contextmenu event was emitted. #48199 (Also in 36, 37, 38)
  • Fixed an issue where importing from electron/utility in an ESM file threw an error at runtime. #47998 (Also in 36, 37, 38)
  • Fixed an issue where importing from electron/utility threw a ERR_MODULE_NOT_FOUND error at runtime. #47968 (Also in 36, 37, 38)
  • Fixed an issue where snapped corner state wasn't properly restored after minimizing and then restoring. #48142 (Also in 36, 37, 38)
  • Fixed an issue where the accent border was drawn on all windows regardless of the window's active focused status. #47740 (Also in 36, 37, 38)
  • Fixed an issue where the accent color would be accidentally inverted when set to match the system color. #48085 (Also in 36, 37, 38)
  • Fixed an issue where the window required restart in order to recognize system accent color setting change. #47629 (Also in 36, 37, 38)
  • Fixed an issue where users on MacOS were unable to interact with a webpage loaded via loadURL. #47560 (Also in 38)
  • Fixed an issue where video scrubbing would not correctly hold the new position on playback. #47703 (Also in 37, 38)
  • Fixed an issue where windows opened with window.open would never be offscreen. #47868 (Also in 37, 38)
  • Fixed an issue where windows used dark theme on Linux all the time without reacting to system theme changes. #47869 (Also in 37, 38)
  • Fixed applying background material correctly when creating windows on Windows, restored animations, and also fixed the issue where dynamically setting the background material had no effect. #47386 (Also in 36, 37, 38)
  • Fixed compilation error when disabling extensions and pdf_viewer. #47964 (Also in 37, 38)
  • Fixed potential deadlock inside app.getLoginItemSettings on macOS. #48090 (Also in 36, 37, 38)

Other Changes

  • Added abi_version file to the npm package. #47598
  • Added platform-specific conditions to the source_set in chromium_src. #47627
  • Updated Chromium to 141.0.7361.0. #48054
  • Updated Node.js to v22.18.0. #47937
  • Electron.Event object backing class is now managed by v8. #48161
  • app module backing C++ object is now managed by v8. #48118
  • session module backing C++ object is now managed by v8. #48141

Documentation

Don't miss a new electron release

NewReleases is sending notifications on new releases.