Electron Releases

Filter by channel Filter by major release

Release Notes for v26.1.0

Features

  • Added support for --dns-result-order Node.js cli flag. #39501 (Also in 25)

Fixes

  • Fixed a potential crash when calling BrowserWindow.moveTop() on modal child windows. #39527 (Also in 24, 25)
  • Fixed an issue where chrome://gpu failed to load. #39584 (Also in 27)
  • Fixed an issue where certain properties of chrome.tabs Tab objects were not properly considered privileged. #39607 (Also in 25, 27)
  • Fixed decorations for tiled windows on Wayland. #39571 (Also in 22, 24, 25, 27)
  • Fixed to regenerate thumbnail toolbar buttons when explorer is restarted. #39587 (Also in 24, 25)
  • Support Region Capture API with tab MediaStream. #39618

Other Changes

  • Security: backported fix for CVE-2023-4071.
    • Security: backported fix for CVE-2023-4070.
    • Security: backported fix for CVE-2023-4075.
    • Security: backported fix for CVE-2023-4076.
    • Security: backported fix for CVE-2023-4069.
    • Security: backported fix for CVE-2023-4074.
    • Security: backported fix for CVE-2023-4072.
    • Security: backported fix for CVE-2023-4068.
    • Security: backported fix for 1464682.
    • Security: backported fix for 1464680.
    • Security: backported fix for CVE-2023-4073. #39516
  • Updated Chromium to 116.0.5845.97. #39530

Release Notes for v26.0.0

Stack Upgrades

Breaking Changes

  • The webContents.getPrinters API has been deprecated. #39459
  • The systemPreferences.getAppLevelAppearance and systemPreferences.setAppLevelAppearance APIs have been deprecated, as well as the alternate-selected-control-text value for systemPreferences.getColor. #39492

Features

Additions

  • Added safeStorage.setUsePlainTextEncryption and safeStorage.getSelectedStorageBackend api. #39107 (Also in 25)
  • Added safeStorage.setUsePlainTextEncryption and safeStorage.getSelectedStorageBackend api. #39155 (Also in 25)
  • Added senderIsMainFrame to messages sent via ipcRenderer.sendTo(). #39206 (Also in 24, 25)
  • Added net.resolveHost that resolves hosts using defaultSession object. #37853 (Also in 24, 25)
  • Added new 'did-resign-active' event on app. #37933 (Also in 25)
  • Added partial support for chrome.tabs.query. #39431 (Also in 25)
  • Added setUSBProtectedClassesHandler to allow access to protected USB classes with WebUSB. #38263 (Also in 24, 25)
  • Added several new cursor values to the cursor-changed event. #38210 (Also in 24, 25)
  • Added support for Mica and Acrylic background effects on Windows. #38163 (Also in 24, 25)
  • Added support for flagging a Menu as being keyboard initiated. #38954
  • Added support for several more Node.js cli flags in the main process. #39373 (Also in 24, 25)
  • Added the ability to send HTTP headers with session.downloadURL(). #38871 (Also in 25)
  • Added thermal management information to powerMonitor. #37935 (Also in 24, 25)
  • Expose webContents methods to center text selection, scroll to the page bottom and top, as well as adjust selected text. #37978 (Also in 25)
  • Support Chrome Extensions minimum_chrome_version manifest key. #39357
  • Surface the context-menu event from extensions. #38029 (Also in 25)
  • node: prefixed requires are now supported in sandboxed renderer preloads for events, timers and url. #38728 (Also in 24, 25)

Improvements

  • Improved error message when contentTracing.stopRecording() fails because no trace was in progress. #38488 (Also in 23, 24, 25)

Removed/Deprecated

  • The enable_desktop_capturer build flag has been removed. #38412

Fixes

  • Fixed clipboard.readImage() getting blocked when there is no PNG image in the clipboard. #39487
  • Fixed a crash calling nativeImage.resize() before the app ready event. #38861
  • Fixed a crash in clipboard.readImage() when reading images copied via context menu on macOS. #39101
  • Fixed a crash while screen sharing on Wayland with PipeWire. #39264
  • Fixed a potential crash when calling tray.popUpContextMenu on macOS. #39313
  • Fixed a potential crash when re-parenting a BrowserWindow whose first parent has been destroyed. #39297
  • Fixed a redundant permission popup while fetching screens and windows using desktopCapturer.getSources() on Wayland. #39189
  • Fixed an accessibility issue where VoiceOver couldn't trigger the tray action when selected to emit the click event. #39439
  • Fixed an issue where calls to window.setKiosk(false) would exit fullscreen regardless of the fullscreen state prior to kiosk mode. #38219

Also in earlier versions...

  • Added about panel for menu role about on Linux as well. #37828 (Also in 23, 24, 25)
  • Added transparent color support for WCO on Windows. #38716 (Also in 25)
  • Ensured that Electron's custom AXManualAccessibility attribute works as expected in all relevant protocol methods. #38142 (Also in 23, 24, 25)
  • Fixed desktopCapturer thumbnail generation after screen sharing is cancelled on Wayland. #39246 (Also in 25)
  • Fixed preload script may not run in some child windows opened by window.open. #38930 (Also in 23, 24, 25)
  • Fixed webContents.printToPDF preferCSSPageSize type error. #38793 (Also in 24, 25)
  • Fixed a console error seen when loading PDFs. #38127 (Also in 25)
  • Fixed a crash seen when trying to change nativeTheme source during mara context menu close. #38840 (Also in 25)
  • Fixed a crash when listing desktop capture sources on Wayland with PipeWire. #39049 (Also in 23, 24, 25)
  • Fixed a potential crash calling BrowserWindow.removeBrowserView() with a destroyed webContents. #38885 (Also in 24, 25)
  • Fixed a potential crash when calling webContents.print with invalid settings. #38165 (Also in 25)
  • Fixed a potential crash when right-clicking on macOS windows with draggable regions. #38100 (Also in 24, 25)
  • Fixed a rare crash when closing active native tab on macOS. #39410 (Also in 25)
  • Fixed an error with webContents.print parameter validation by adding missing options required to set printer printable area. #38721 (Also in 25)
  • Fixed an error seen in the Top Level Windows section of chrome://accessibility. #38179 (Also in 25)
  • Fixed an issue on Linux where menus would not open after resizing/maximizing/unmaximizing a window. #37798 (Also in 23, 24, 25)
  • Fixed an issue on Windows 10 where the title bar was not correct after changing native theme. #39309 (Also in 25)
  • Fixed an issue where Windows FrameViews always appeared inactive regardless of focus status. #38468 (Also in 25)
  • Fixed an issue where <datalist> popups are positions incorrectly in BrowserViews. #38610 (Also in 23, 24, 25)
  • Fixed an issue where BrowserWindow.isMaximized() could incorrectly return true for minimized or fullscreened windows on macOS. #38291 (Also in 23, 24, 25)
  • Fixed an issue where BrowserWindow.isVisible() would incorrectly return true for minimized windows on Windows. #38242 (Also in 23, 24, 25)
  • Fixed an issue where BrowserWindow.moveAbove() and BrowserWindow.moveTop() did not work for child windows on macOS. #39070 (Also in 24, 25)
  • Fixed an issue where MediaStreamTrack.getCaptureHandle() always returned null. #38390 (Also in 24, 25)
  • Fixed an issue where browserView.removeBrowserView could cause a crash in some cases. #39406 (Also in 24, 25)
  • Fixed an issue where chrome.i18n did not work properly with Chrome Extensions Manifest V3. #39328 (Also in 24, 25)
  • Fixed an issue where chrome.tabs did not work properly with Chrome Extensions Manifest V3. #39360 (Also in 25)
  • Fixed an issue where chrome.tabs.update did not return a tab object that properly reflected potential properties that were changed. #39389 (Also in 25)
  • Fixed an issue where getNormalBounds() returns incorrect bounds for transparent maximized windows on Windows. #38218 (Also in 23, 24, 25)
  • Fixed an issue where navigator.connection returned incorrect data. #38491 (Also in 24, 25)
  • Fixed an issue where protocol.handle() never called its callback with the 'file' scheme. #39065 (Also in 25)
  • Fixed an issue where webContents.print() stopped triggering its callback when the user cancelled the print dialog. #38735 (Also in 25)
  • Fixed an issue where accessing BrowserWindow.id threw an error after the window was destroyed. #38241 (Also in 23, 24, 25)
  • Fixed an issue where calling win.minimize() directly after calling win.maximize(), and then calling win.isMaximized() incorrectly returns true. #38234 (Also in 23, 24, 25)
  • Fixed an issue where certain Electron classes had incorrect prototype class names. #39036 (Also in 25)
  • Fixed an issue where certain buttons in the PDF viewer didn't work. #37856 (Also in 23, 24, 25)
  • Fixed an issue where default background color for windows might be incorrect. #36914 (Also in 23, 24, 25)
  • Fixed an issue where files could in some circumstances be selection when openFile was not passed as a dialog property. #38590 (Also in 24, 25)
  • Fixed an issue where macOS traffic lights could malfunction on child windows in some circumstances. #39242 (Also in 24, 25)
  • Fixed an issue where mksnapshot would crash with a sigbus error. #38490 (Also in 25)
  • Fixed an issue where non-resizable windows incorrectly enabled the fullscreen/maximize button on initial window creation on macOS. #39229 (Also in 24, 25)
  • Fixed an issue where notifications created on macOS which have no actions will erroneously have a Show button visible. #39013 (Also in 24, 25)
  • Fixed an issue where passing webContents.print(null) could incorrectly trigger an error. #38641 (Also in 24, 25)
  • Fixed an issue where printing on Windows could trigger a crash. #39039 (Also in 25)
  • Fixed an issue where removing a webview in a close callback could cause crashes. #39007 (Also in 24, 25)
  • Fixed an issue where service workers could not run Chrome APIs in Chrome Extensions Manifest V3. #39310 (Also in 25)
  • Fixed an issue where setting bounds on BrowserViews can behave inconsistently across platforms. #39004 (Also in 25)
  • Fixed an issue where the 'swipe' event wasn't being emitted properly on macOS. #37946 (Also in 24, 25)
  • Fixed an issue where the pageVisibility API returned incorrect values in some situations when backgroundThrottling was disabled. #39298 (Also in 25)
  • Fixed an issue which made defaultFontFamily in webPreferences have no effect. #37863 (Also in 22, 23, 24, 25)
  • Fixed an issue with webContents.print({ silent: true }) not working correctly. #38812 (Also in 25)
  • Fixed an issue with potential use-after-free of child windows on close and reparent. #38679 (Also in 24, 25)
  • Fixed an issue with the application menu overlapping menu items on Windows 11. #39010 (Also in 25)
  • Fixed an perceived failure when when using Accessibility attribute AXManualAccessibility to enable a11y features in Electron. #38102 (Also in 23, 24, 25)
  • Fixed asar integration for node:child_process imports. #39234 (Also in 24, 25)
  • Fixed broken defaults in shell.openExternal() options. #38038 (Also in 22, 23, 24, 25)
  • Fixed crash in message ports when utility process exits. #39346 (Also in 25)
  • Fixed crash when executing eval in the utility process. #38014 (Also in 22, 23, 24, 25)
  • Fixed display of title bar buttons on Wayland. #39045 (Also in 25)
  • Fixed potential invalid protocol error handling. #38635 (Also in 25)
  • Fixed potential issues when minimizing parent windows with non-modal children on macOS. #38460 (Also in 23, 24, 25)
  • Fixed recommended node-gyp version in node.h error. #37829 (Also in 22, 23, 24, 25)
  • Fixed visibility of menu bar when exiting full screen. #38683 (Also in 23, 24, 25)
  • Fixed an issue where chrome.tabs did not work properly with Chrome Extensions Manifest V3. #39360 (Also in 25)

Other Changes

  • Backported fix for 1404797. #38323 (Also in 25)

Documentation

Notices

End of Support for 23.x.y

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