Electron Changelog

What's new in Electron 31.0.0 Alpha 4

May 10, 2024
  • Fixes:
  • Fixed an issue where calling window.center() on Windows and Linux incorrectly centered the window. #42101 (Also in 30)
  • Fixed crash after upgrade on Linux. #42062 (Also in 29, 30)
  • Other Changes:
  • Backported fix for 339266700. #42095

New in Electron 30.0.3 (May 10, 2024)

  • Fixes:
  • Fixed an issue where document.requestFullscreen didn't work when calling it from a webContents inside WebContentsView. #41996 (Also in 31)
  • Fixed an issue where fs.createWriteStream could write out of order. #42046
  • Fixed an issue where recentDOcuments wasn't populating properly on macOS. #41992 (Also in 29, 31)
  • Fixed crash after upgrade on Linux. #42064 (Also in 29, 31)
  • Other Changes:
  • Backported fix for 330756841. #42068
  • Backported fix for 339266700. #42096
  • Updated Chromium to 124.0.6367.119. #42020

New in Electron 31.0.0 Alpha 2 (Apr 21, 2024)

  • Features:
  • Added a new instance property navigationHistory on webContents API with navigationHistory.getEntryAtIndex method, enabling applications to retrieve the URL and title of any navigation entry within the browsing history. #41577 (Also in 29, 30)
  • Added options parameter to Session.clearData API. #41355
  • Added proxy configuring support for requests made with net module from utility process. #41335 (Also in 28, 29, 30)
  • Added support for NODE_EXTRA_CA_CERTS. #41689
  • Extended webContents.setWindowOpenHandler to support manual creation of BrowserWindow. #41432
  • Implemented support for the File System API. #41419 (Also in 30)
  • clearData method added to Session. #40983
  • Fixes:
  • Added missing support for the recursive option in fs.{readdir|readdirSync} as well as fs.promises.{readdir|readdirSync}. #41582
  • Added support for withFileTypes when calling fs.{readdir|readdirSync} with the recursive in Asar archives. #41627
  • Ensured ScreenCaptureKit is used exclusively on macOS 14.4 and higher to avoid permission prompts. #41397 (Also in 29, 30)
  • Fixed ASAN build on macOS. #41587
  • Fixed chrome://process-internals failing to load. #41476 (Also in 28, 29, 30)
  • Fixed shell.showItemInFolder not opening Windows Explorer if the passed path contains forward slashes. #41642 (Also in 28, 29, 30)
  • Fixed a bug where a window with maximization disabled and WCO enabled would still show its maximization button. #41793
  • Fixed a potential crash in chrome.scripting on extension unload. #41686 (Also in 29, 30)
  • Fixed an issue on Windows where silent printing resulted in comically tiny renderer output. #41811 (Also in 28, 29, 30)
  • Fixed an issue where app.getLoginItemSettings didn't correctly throw errors. #41647 (Also in 30)
  • Fixed an issue where user-did-{resign|become}-active were not emitted properly on macOS. #41506 (Also in 28, 29, 30)
  • Fixed an issue where webContents.print(options) failed if options was not passed or undefined is passed. #41467 (Also in 28, 29, 30)
  • Fixed an issue where badge text set using the Badging API no longer appeared correctly on Windows. #41618 (Also in 29, 30)
  • Fixed an issue where child views in a BrowserWindow could sometimes be. #41256
  • Fixed an issue where emojis weren't properly handled on Windows. #41673 (Also in 29, 30)
  • Fixed an issue where showing or focusing a panel window would activate the app on Mac. #41750 (Also in 30)
  • Fixed an issue where the serial-port-added event improperly respected filters set by serial.requestPort(). #41621 (Also in 28, 29, 30)
  • Fixed crash in Notification::Close() under libnotify 0.8.x with portal environment. #41691 (Also in 28, 29, 30)
  • Fixed missing header when compiling with libc++. #41830 (Also in 29, 30)
  • Fixed usage of Storage.{get|set|clear}Cookies via the Chrome DevTools Protocol. #41718 (Also in 28, 29, 30)
  • Improved appearance of caption buttons on Windows 11 when using Windows Control Overlay. #41561 (Also in 30)
  • Made window.flashFrame(bool) flash continuously on macOS. #41391
  • Other Changes:
  • The inputFieldType property in the context-menu params has been removed. #41239 (Also in 30)
  • Updated Chromium to 125.0.6412.0. #41610
  • Updated Node.js to v20.12.2. #41710
  • Documentation:
  • Documentation changes: #41723, #41882
  • Unknown:
  • Added support for Bluetooth ports being requested by service class ID in navigator.serial. #41638 (Also in 29, 30)

New in Electron 30.0.1 (Apr 21, 2024)

  • Updated Chromium to 124.0.6367.60. #41867

New in Electron 31.0.0 Alpha 1 (Apr 18, 2024)

  • Features:
  • Added a new instance property navigationHistory on webContents API with navigationHistory.getEntryAtIndex method, enabling applications to retrieve the URL and title of any navigation entry within the browsing history. #41577 (Also in 29, 30)
  • Added options parameter to Session.clearData API. #41355
  • Added proxy configuring support for requests made with net module from utility process. #41335 (Also in 28, 29, 30)
  • Added support for NODE_EXTRA_CA_CERTS. #41689
  • Extended webContents.setWindowOpenHandler to support manual creation of BrowserWindow. #41432
  • Implemented support for the File System API. #41419 (Also in 30)
  • clearData method added to Session. #40983
  • Fixes:
  • Added missing support for the recursive option in fs.{readdir|readdirSync} as well as fs.promises.{readdir|readdirSync}. #41582
  • Added support for withFileTypes when calling fs.{readdir|readdirSync} with the recursive in Asar archives. #41627
  • Ensured ScreenCaptureKit is used exclusively on macOS 14.4 and higher to avoid permission prompts. #41397 (Also in 29, 30)
  • Fixed ASAN build on macOS. #41587
  • Fixed chrome://process-internals failing to load. #41476 (Also in 28, 29, 30)
  • Fixed shell.showItemInFolder not opening Windows Explorer if the passed path contains forward slashes. #41642 (Also in 28, 29, 30)
  • Fixed a bug where a window with maximization disabled and WCO enabled would still show its maximization button. #41793
  • Fixed a potential crash in chrome.scripting on extension unload. #41686 (Also in 29, 30)
  • Fixed an issue on Windows where silent printing resulted in comically tiny renderer output. #41811 (Also in 28, 29, 30)
  • Fixed an issue where app.getLoginItemSettings didn't correctly throw errors. #41647 (Also in 30)
  • Fixed an issue where user-did-{resign|become}-active were not emitted properly on macOS. #41506 (Also in 28, 29, 30)
  • Fixed an issue where webContents.print(options) failed if options was not passed or undefined is passed. #41467 (Also in 28, 29, 30)
  • Fixed an issue where badge text set using the Badging API no longer appeared correctly on Windows. #41618 (Also in 29, 30)
  • Fixed an issue where child views in a BrowserWindow could sometimes be. #41256
  • Fixed an issue where emojis weren't properly handled on Windows. #41673 (Also in 29, 30)
  • Fixed an issue where showing or focusing a panel window would activate the app on Mac. #41750 (Also in 30)
  • Fixed an issue where the serial-port-added event improperly respected filters set by serial.requestPort(). #41621 (Also in 28, 29, 30)
  • Fixed crash in Notification::Close() under libnotify 0.8.x with portal environment. #41691 (Also in 28, 29, 30)
  • Fixed missing header when compiling with libc++. #41830 (Also in 29, 30)
  • Fixed usage of Storage.{get|set|clear}Cookies via the Chrome DevTools Protocol. #41718 (Also in 28, 29, 30)
  • Improved appearance of caption buttons on Windows 11 when using Windows Control Overlay. #41561 (Also in 30)
  • Made window.flashFrame(bool) flash continuously on macOS. #41391
  • Other Changes:
  • The inputFieldType property in the context-menu params has been removed. #41239 (Also in 30)
  • Updated Chromium to 125.0.6412.0. #41610
  • Updated Node.js to v20.12.2. #41710
  • Documentation:
  • Documentation changes: #41723
  • Unknown:
  • Added support for Bluetooth ports being requested by service class ID in navigator.serial. #41638 (Also in 29, 30)

New in Electron 30.0.0 (Apr 17, 2024)

  • Breaking Changes:
  • Added WebContentsView and BaseWindow, replacing the now-deprecated BrowserView APIs. #35658 (Also in 29)
  • Added Windows support for the ASAR Integrity fuse. #40504
  • Updated Chromium to 122.0.6194.0. (Behavior Changed: cross-origin iframes now use Permission Policy to access features) #40750
  • Updated Chromium to 122.0.6236.2. (Removed: The --disable-color-correct-rendering switch) #40871
  • The inputFieldType property in the context-menu params has been removed. #41440
  • Updated Chromium to 124.0.6323.0 (Removed: process.getIOCounters()) #41412
  • Features:
  • Additions:
  • Added a transparent webpreference to webviews. #40301
  • Added a new instance property navigationHistory on webContents API with navigationHistory.getEntryAtIndex method, enabling applications to retrieve the URL and title of any navigation entry within the browsing history.#41662 (Also in 29)
  • Added a new method BrowserWindow.isOccluded() to allow apps to check occlusion status. #38982
  • Added net module to utility process. #40017 (Also in 27, 28, 29)
  • Added proxy configuring support for requests made with net module from utility process. #41417 (Also in 28, 29)
  • Added support for Bluetooth ports being requested by service class ID in navigator.serial. #41734 (Also in 29)
  • Added support for NODE_EXTRA_CA_CERTS. #41822
  • Implemented support for the File System API. #41827
  • Removed/Deprecated:
  • Removed extraneous dlls from Windows zip files. #41120 (Also in 28, 29)
  • Fixes:
  • Fixed and BrowserViews being white instead of transparent by default. #40866
  • Fixed WebContents.loadURL() incorrectly failing if called immediately after a previous call to loadURL() failed. #40661
  • Fixed a bug where a window with maximization disabled and WCO enabled would still show its maximization button. #41805
  • Fixed a potential crash while closing or interacting with a WebContentsView after its associated WebContents has been cleaned up. #41154
  • Fixed an issue where app.getLoginItemSettings didn't correctly throw errors. #41667
  • Fixed an issue where child views in a BrowserWindow could sometimes be. #41802
  • Fixed an issue where showing or focusing a panel window would activate the app on Mac. #41844
  • Improved appearance of caption buttons on Windows 11 when using Windows Control Overlay. #41586
  • Properly reject webcontents.loadURL promise on invalid URL load. #41194
  • Also in earlier versions:
  • Added support for ThumbnailCapturerMac and ScreenCaptureKitStreamPickerSonoma chromium feature flags to bypass deprecated API warning on macOS 14.4. #41328 (Also in 29)
  • Apply module search paths restriction on worker and child process. #41118 (Also in 27, 28, 29)
  • CSS style -webkit-app-region: drag; has no effect in full screen mode. #41307 (Also in 27, 28, 29)
  • Ensured ScreenCaptureKit is used exclusively on macOS 14.4 and higher to avoid permission prompts. #41404 (Also in 29)
  • Fixed Electron 29.0.0-beta.3 regression that could pop up context menus in the wrong location. #41275 (Also in 29)
  • Fixed chrome://process-internals failing to load. #41540 (Also in 28, 29)
  • Fixed session.fromPartition() key lookup bug. #41055 (Also in 28, 29)
  • Fixed shell.showItemInFolder not opening Windows Explorer if the passed path contains forward slashes. #41671 (Also in 28, 29)
  • Fixed a crash resultant from trying to listen to power-related events before the ready event was emitted on Linux. #40888 (Also in 26, 27, 28, 29)
  • Fixed a crash that started occurring sporadically with some types of macOS window close. #41264 (Also in 28, 29)
  • Fixed a partition alloc ref count check for higher MacOS versions. #40757 (Also in 28, 29)
  • Fixed a potential async_hooks crash when listening for the restore event on Windows after minimizing a maximized BrowserWindow. #40576 (Also in 27, 28, 29)
  • Fixed a potential crash in chrome.scripting on extension unload. #41702 (Also in 29)
  • Fixed a potential crash when calling dialog.showMessageBoxSync. #40996 (Also in 27, 28, 29)
  • Fixed an issue on Windows where silent printing resulted in comically tiny renderer output. #41838 (Also in 29)
  • Fixed an issue where import.meta.url did not work in the renderer process with contextIsolation enabled. #40993 (Also in 29)
  • Fixed an issue where inAppPurchase.getProducts and inAppPurchase.purchasedProduct did not resolve as expected. #40938 (Also in 27, 28, 29)
  • Fixed an issue where original-fs methods were not properly corrected for patched imports. #41209 (Also in 29)
  • Fixed an issue where select-usb-device did not respect the filter option in navigator.usb.requestDevice(). #41166 (Also in 27, 28, 29)
  • Fixed an issue where user-did-{resign|become}-active were not emitted properly on macOS. #41528 (Also in 28, 29)
  • Fixed an issue where webContents.print(options) failed if options was not passed or undefined is passed. #41480 (Also in 28, 29)
  • Fixed an issue where webContents.printToPDF could fail when certain combinations of margins and pageSize values are passed. #41157 (Also in 28, 29)
  • Fixed an issue where badge text set using the Badging API no longer appeared correctly on Windows. #41629 (Also in 29)
  • Fixed an issue where crashes in node::Environment destruction potentially wouldn't be propagated to the NodeService exit handler. #41277 (Also in 27, 28, 29)
  • Fixed an issue where draggable regions didn't work across platforms. #41030 (Also in 29)
  • Fixed an issue where emojis weren't properly handled on Windows. #41681 (Also in 29)
  • Fixed an issue where non-modal windows with vibrancy could have incorrectly rounded corners on Sonoma. #41003 (Also in 27, 28, 29)
  • Fixed an issue where some dependencies using CommonJS would cause ESM apps to fail to open. #41367 (Also in 29)
  • Fixed an issue where the -webkit-app-region: drag property was not respected on some windows. #41377 (Also in 29)
  • Fixed an issue where the printBackground option in webContents.printToPDF did not work as expected. #41161 (Also in 28, 29)
  • Fixed an issue where the serial-port-added event improperly respected filters set by serial.requestPort(). #41635 (Also in 28, 29)
  • Fixed crash in MessagePort::close. #41201 (Also in 29)
  • Fixed crash in Notification::Close() under libnotify 0.8.x with portal environment. #41708 (Also in 28, 29)
  • Fixed default protocol handler behavior on Windows. #40892 (Also in 28, 29)
  • Fixed documentation of the default --inspect port. #40665 (Also in 27, 28)
  • Fixed forked child process not able to send IPC message under some cases on macOS. #41079 (Also in 26, 27, 28, 29)
  • Fixed incorrect title bar shown on frameless transparent windows. #40749 (Also in 27, 28, 29)
  • Fixed macOS bug that causes window maximize button to be disabled in full-screen mode. #40994 (Also in 27, 28, 29)
  • Fixed missing header when compiling with libc++. #41846 (Also in 29)
  • Fixed on-screen-keyboard not hiding for webviews under some cases. #41131 (Also in 27, 28, 29)
  • Fixed the GrantFileProtocolExtraPrivileges not correctly preventing fetch() calls to file:// URLs. #40801 (Also in 29)
  • Fixed the enabled/disabled behavior of the maximize/fullscreen button of macOS windows. #40705 (Also in 27, 28, 29)
  • Fixed usage of Storage.{get|set|clear}Cookies via the Chrome DevTools Protocol. #41740 (Also in 28, 29)
  • Fixed various bugs which could prevent forwarding requests intercepted with protocol.handle(). #41052 (Also in 29)
  • Unset all Node envs in node process when parent is a foreign process. #40770 (Also in 26, 27, 28, 29)

New in Electron 30.0.0 Beta 8 (Apr 12, 2024)

  • Fixes
  • Fixed a bug where a window with maximization disabled and WCO enabled would still show its maximization button. #41805
  • Fixed an issue where child views in a BrowserWindow could sometimes be. #41802

New in Electron 29.3.0 (Apr 12, 2024)

  • Fixes:
  • Fixed a bug where a window with maximization disabled and WCO enabled would still show its maximization button. #41807
  • Other Changes:
  • Security: backported fix for CVE-2024-3156. #41775

New in Electron 30.0.0 Beta 7 (Apr 10, 2024)

  • Other Changes:
  • Updated Chromium to 124.0.6367.29. #41768

New in Electron 30.0.0 Beta 6 (Apr 6, 2024)

  • Other Changes:
  • Updated Chromium to 124.0.6367.18. #41714
  • Documentation:
  • Documentation changes: #41732
  • Unknown:
  • Added support for Bluetooth ports being requested by service class ID in navigator.serial. #41734 (Also in 29)

New in Electron 29.2.0 (Apr 6, 2024)

  • Fixes:
  • Fixed crash in Notification::Close() under libnotify 0.8.x with portal environment. #41707 (Also in 28, 30)
  • Fixed usage of Storage.{get|set|clear}Cookies via the Chrome DevTools Protocol. #41739 (Also in 28, 30)
  • Other Changes:
  • Security: backported fix for CVE-2024-2885.
  • Security: backported fix for CVE-2024-2883.
  • Security: backported fix for CVE-2024-2887.
  • Security: backported fix for CVE-2024-2886.
  • Security: backported fix for 329674887.
  • Security: backported fix for 327183408.
  • Security: backported fix for 326349405. #41746
  • Updated Chromium to 122.0.6261.156. #41765
  • Documentation:
  • Documentation changes: #41730
  • Unknown:
  • Added support for Bluetooth ports being requested by service class ID in navigator.serial. #41735 (Also in 30)

New in Electron 30.0.0 Beta 5 (Apr 2, 2024)

  • Fixes:
  • Fixed a potential crash in chrome.scripting on extension unload. #41702 (Also in 29)
  • Fixed crash in Notification::Close() under libnotify 0.8.x with portal environment. #41708 (Also in 28, 29)
  • Fixed usage of Storage.{get|set|clear}Cookies via the Chrome DevTools Protocol. #41740 (Also in 29)

New in Electron 30.0.0 Beta 4 (Mar 29, 2024)

  • Fixes:
  • Fixed a potential crash in chrome.scripting on extension unload. #41702 (Also in 29)
  • Fixed crash in Notification::Close() under libnotify 0.8.x with portal environment. #41708 (Also in 28, 29)
  • Fixed usage of Storage.{get|set|clear}Cookies via the Chrome DevTools Protocol. #41740

New in Electron 29.1.6 (Mar 28, 2024)

  • Fixes:
  • Fixed shell.showItemInFolder not opening Windows Explorer if the passed path contains forward slashes. #41672 (Also in 28, 30)
  • Fixed a potential crash in chrome.scripting on extension unload. #41701 (Also in 30)
  • Fixed an issue where emojis weren't properly handled on Windows. #41680 (Also in 30)
  • Fixed an issue where the serial-port-added event improperly respected filters set by serial.requestPort(). #41636 (Also in 28, 30)
  • Other Changes:
  • Security: backported fix for CVE-2024-2625. #41631
  • Updated Chromium to 122.0.6261.139. #41634

New in Electron 30.0.0 Beta 3 (Mar 26, 2024)

  • Fixes:
  • Fixed shell.showItemInFolder not opening Windows Explorer if the passed path contains forward slashes. #41671 (Also in 28, 29)
  • Fixed an issue where app.getLoginItemSettings didn't correctly throw errors. #41667
  • Fixed an issue where emojis weren't properly handled on Windows. #41681 (Also in 29)
  • Other Changes:
  • Updated Chromium to 124.0.6367.9. #41684

New in Electron 30.0.0 Beta 2 (Mar 22, 2024)

  • Fixes:
  • Fixed an issue where badge text set using the Badging API no longer appeared correctly on Windows. #41629 (Also in 29)
  • Fixed an issue where the serial-port-added event improperly respected filters set by serial.requestPort(). #41635 (Also in 28, 29)

New in Electron 29.1.5 (Mar 21, 2024)

  • Fixes:
  • Fixed an issue where badge text set using the Badging API no longer appeared correctly on Windows. #41628 (Also in 30)
  • Other Changes:
  • Updated Chromium to 122.0.6261.130. #41598

New in Electron 30.0.0 Beta 1 (Mar 19, 2024)

  • Updated Chromium to 124.0.6359.0. #41606

New in Electron 30.0.0 Alpha 7 (Mar 15, 2024)

  • Fixes:
  • Fixed chrome://process-internals failing to load. #41540 (Also in 28, 29)
  • Improved appearance of caption buttons on Windows 11 when using Windows Control Overlay. #41586
  • Other Changes:
  • Updated Chromium to 124.0.6355.1. #41490

New in Electron 29.1.4 (Mar 14, 2024)

  • Updated Chromium to 122.0.6261.129. #41583

New in Electron 30.0.0 Alpha 5 (Mar 8, 2024)

  • Fixes:
  • Fixed an issue where user-did-{resign|become}-active were not emitted properly on macOS. #41528 (Also in 28, 29)
  • Other Changes:
  • Updated Chromium to 124.0.6331.0. #41515

New in Electron 29.1.1 (Mar 8, 2024)

  • Fixes:
  • Fixed an issue where user-did-{resign|become}-active were not emitted properly on macOS. #41527 (Also in 28, 30)
  • Fixed an issue where webContents.print(options) failed if options was not passed or undefined is passed. #41479 (Also in 28, 30)
  • Other Changes:
  • Updated Chromium to 122.0.6261.95. #41489

New in Electron 30.0.0 Alpha 4 (Mar 7, 2024)

  • Fixes:
  • Fixed an issue where webContents.print(options) failed if options was not passed or undefined is passed. #41480 (Also in 28, 29)

New in Electron 30.0.0 Alpha 3 (Mar 1, 2024)

  • Other Changes:
  • The inputFieldType property in the context-menu params has been removed. #41440
  • Updated Chromium to 124.0.6323.0. #41475

New in Electron 30.0.0 Alpha 2 (Feb 28, 2024)

  • Features:
  • Added Windows support for the ASAR Integrity fuse. #40504
  • Added WebContentsView and BaseWindow, replacing the now-deprecated BrowserView APIs. #35658 (Also in 29)
  • Added a transparent webpreference to webviews. #40301
  • Added a new method BrowserWindow.isOccluded() to allow apps to check occlusion status. #38982
  • Added net module to utility process. #40017 (Also in 27, 28, 29)
  • Added proxy configuring support for requests made with net module from utility process. #41417 (Also in 29)
  • Fixes:
  • Added support for ThumbnailCapturerMac and ScreenCaptureKitStreamPickerSonoma chromium feature flags to bypass deprecated API warning on macOS 14.4. #41328 (Also in 29)
  • Apply module search paths restriction on worker and child process. #41118 (Also in 27, 28, 29)
  • CSS style -webkit-app-region: drag; has no effect in full screen mode. #41307 (Also in 27, 28, 29)
  • Ensured ScreenCaptureKit is used exclusively on macOS 14.4 and higher to avoid permission prompts. #41404 (Also in 29)
  • Fixed and BrowserViews being white instead of transparent by default. #40866
  • Fixed Electron 29.0.0-beta.3 regression that could pop up context menus in the wrong location. #41275 (Also in 29)
  • Fixed WebContents.loadURL() incorrectly failing if called immediately after a previous call to loadURL() failed. #40661
  • Fixed session.fromPartition() key lookup bug. #41055 (Also in 28, 29)
  • Fixed a crash resultant from trying to listen to power-related events before the ready event was emitted on Linux. #40888 (Also in 26, 27, 28, 29)
  • Fixed a crash that started occurring sporadically with some types of macOS window close. #41264 (Also in 28, 29)
  • Fixed a partition alloc ref count check for higher MacOS versions. #40757 (Also in 28, 29)
  • Fixed a potential async_hooks crash when listening for the restore event on Windows after minimizing a maximized BrowserWindow. #40576 (Also in 27, 28, 29)
  • Fixed a potential crash when calling dialog.showMessageBoxSync. #40996 (Also in 27, 28, 29)
  • Fixed a potential crash while closing or interacting with a WebContentsView after its associated WebContents has been cleaned up. #41154
  • Fixed an issue where import.meta.url did not work in the renderer process with contextIsolation enabled. #40993 (Also in 29)
  • Fixed an issue where inAppPurchase.getProducts and inAppPurchase.purchasedProduct did not resolve as expected. #40938 (Also in 27, 28, 29)
  • Fixed an issue where original-fs methods were not properly corrected for patched imports. #41209 (Also in 29)
  • Fixed an issue where select-usb-device did not respect the filter option in navigator.usb.requestDevice(). #41166 (Also in 27, 28, 29)
  • Fixed an issue where webContents.printToPDF could fail when certain combinations of margins and pageSize values are passed. #41157 (Also in 28, 29)
  • Fixed an issue where crashes in node::Environment destruction potentially wouldn't be propagated to the NodeService exit handler. #41277 (Also in 27, 28, 29)
  • Fixed an issue where draggable regions didn't work across platforms. #41030 (Also in 29)
  • Fixed an issue where non-modal windows with vibrancy could have incorrectly rounded corners on Sonoma. #41003 (Also in 27, 28, 29)
  • Fixed an issue where some dependencies using CommonJS would cause ESM apps to fail to open. #41367 (Also in 29)
  • Fixed an issue where the -webkit-app-region: drag property was not respected on some windows. #41377 (Also in 29)
  • Fixed an issue where the printBackground option in webContents.printToPDF did not work as expected. #41161 (Also in 28, 29)
  • Fixed crash in MessagePort::close. #41201 (Also in 29)
  • Fixed default protocol handler behavior on Windows. #40892 (Also in 28, 29)
  • Fixed documentation of the default --inspect port. #40665 (Also in 27, 28)
  • Fixed forked child process not able to send IPC message under some cases on macOS. #41079 (Also in 26, 27, 28, 29)
  • Fixed incorrect title bar shown on frameless transparent windows. #40749 (Also in 27, 28, 29)
  • Fixed macOS bug that causes window maximize button to be disabled in full-screen mode. #40994 (Also in 27, 28, 29)
  • Fixed on-screen-keyboard not hiding for webviews under some cases. #41131 (Also in 27, 28, 29)
  • Fixed the GrantFileProtocolExtraPrivileges not correctly preventing fetch() calls to file:// URLs. #40801 (Also in 29)
  • Fixed the enabled/disabled behavior of the maximize/fullscreen button of macOS windows. #40705 (Also in 27, 28, 29)
  • Fixed various bugs which could prevent forwarding requests intercepted with protocol.handle(). #41052 (Also in 29)
  • Properly reject webcontents.loadURL promise on invalid URL load. #41194
  • Unset all Node envs in node process when parent is a foreign process. #40770 (Also in 26, 27, 28, 29)
  • Other Changes:
  • Removed extraneous dlls from Windows zip files. #41120 (Also in 28, 29)
  • Updated Chromium to 123.0.6312.5. #41402
  • Updated Node.js to v20.11.1. #41353

New in Electron 29.1.0 (Feb 28, 2024)

  • Features:
  • Added proxy configuring support for requests made with net module from utility process. #41416 (Also in 30)
  • Fixes:
  • Ensured ScreenCaptureKit is used exclusively on macOS 14.4 and higher to avoid permission prompts. #41403 (Also in 30)
  • Other Changes:
  • Updated Chromium to 122.0.6261.70. #41446

New in Electron 30.0.0 Alpha 1 (Feb 22, 2024)

  • Features:
  • Added Windows support for the ASAR Integrity fuse. #40504
  • Added WebContentsView and BaseWindow, replacing the now-deprecated BrowserView APIs. #35658 (Also in 29)
  • Added a transparent webpreference to webviews. #40301
  • Added a new method BrowserWindow.isOccluded() to allow apps to check occlusion status. #38982
  • Added net module to utility process. #40017 (Also in 27, 28, 29)
  • Fixes:
  • Added support for ThumbnailCapturerMac and ScreenCaptureKitStreamPickerSonoma chromium feature flags to bypass deprecated API warning on macOS 14.4. #41328 (Also in 29)
  • Apply module search paths restriction on worker and child process. #41118 (Also in 27, 28, 29)
  • CSS style -webkit-app-region: drag; has no effect in full screen mode. #41307 (Also in 27, 28, 29)
  • Fixed and BrowserViews being white instead of transparent by default. #40866
  • Fixed Electron 29.0.0-beta.3 regression that could pop up context menus in the wrong location. #41275 (Also in 29)
  • Fixed WebContents.loadURL() incorrectly failing if called immediately after a previous call to loadURL() failed. #40661
  • Fixed session.fromPartition() key lookup bug. #41055 (Also in 28, 29)
  • Fixed a crash resultant from trying to listen to power-related events before the ready event was emitted on Linux. #40888 (Also in 26, 27, 28, 29)
  • Fixed a crash that started occurring sporadically with some types of macOS window close. #41264 (Also in 28, 29)
  • Fixed a partition alloc ref count check for higher MacOS versions. #40757 (Also in 28, 29)
  • Fixed a potential async_hooks crash when listening for the restore event on Windows after minimizing a maximized BrowserWindow. #40576 (Also in 27, 28, 29)
  • Fixed a potential crash when calling dialog.showMessageBoxSync. #40996 (Also in 27, 28, 29)
  • Fixed a potential crash while closing or interacting with a WebContentsView after its associated WebContents has been cleaned up. #41154
  • Fixed an issue where import.meta.url did not work in the renderer process with contextIsolation enabled. #40993 (Also in 29)
  • Fixed an issue where inAppPurchase.getProducts and inAppPurchase.purchasedProduct did not resolve as expected. #40938 (Also in 27, 28, 29)
  • Fixed an issue where original-fs methods were not properly corrected for patched imports. #41209 (Also in 29)
  • Fixed an issue where select-usb-device did not respect the filter option in navigator.usb.requestDevice(). #41166 (Also in 27, 28, 29)
  • Fixed an issue where webContents.printToPDF could fail when certain combinations of margins and pageSize values are passed. #41157 (Also in 28, 29)
  • Fixed an issue where crashes in node::Environment destruction potentially wouldn't be propagated to the NodeService exit handler. #41277 (Also in 27, 28, 29)
  • Fixed an issue where draggable regions didn't work across platforms. #41030 (Also in 29)
  • Fixed an issue where non-modal windows with vibrancy could have incorrectly rounded corners on Sonoma. #41003 (Also in 27, 28, 29)
  • Fixed an issue where some dependencies using CommonJS would cause ESM apps to fail to open. #41367 (Also in 29)
  • Fixed an issue where the -webkit-app-region: drag property was not respected on some windows. #41377 (Also in 29)
  • Fixed an issue where the printBackground option in webContents.printToPDF did not work as expected. #41161 (Also in 28, 29)
  • Fixed crash in MessagePort::close. #41201 (Also in 29)
  • Fixed default protocol handler behavior on Windows. #40892 (Also in 28, 29)
  • Fixed documentation of the default --inspect port. #40665 (Also in 27, 28)
  • Fixed forked child process not able to send IPC message under some cases on macOS. #41079 (Also in 26, 27, 28, 29)
  • Fixed incorrect title bar shown on frameless transparent windows. #40749 (Also in 27, 28, 29)
  • Fixed macOS bug that causes window maximize button to be disabled in full-screen mode. #40994 (Also in 27, 28, 29)
  • Fixed on-screen-keyboard not hiding for webviews under some cases. #41131 (Also in 27, 28, 29)
  • Fixed the GrantFileProtocolExtraPrivileges not correctly preventing fetch() calls to file:// URLs. #40801 (Also in 29)
  • Fixed the enabled/disabled behavior of the maximize/fullscreen button of macOS windows. #40705 (Also in 27, 28, 29)
  • Fixed various bugs which could prevent forwarding requests intercepted with protocol.handle(). #41052 (Also in 29)
  • Properly reject webcontents.loadURL promise on invalid URL load. #41194
  • Unset all Node envs in node process when parent is a foreign process. #40770 (Also in 26, 27, 28, 29)
  • Other Changes:
  • Removed extraneous dlls from Windows zip files. #41120 (Also in 28, 29)
  • Updated Chromium to 123.0.6296.0. #41204
  • Updated Node.js to v20.11.1. #41353

New in Electron 29.0.1 (Feb 22, 2024)

  • Fixes:
  • Fixed an issue where the -webkit-app-region: drag property was not respected on some windows. #41388
  • Other Changes:
  • Updated Chromium to 122.0.6261.57. #41390

New in Electron 29.0.0 (Feb 20, 2024)

  • Breaking Changes:
  • Functions called over the contextBridge are now called with the expected receiver (this). #39978 (Also in 27, 28)
  • The gpu-process-crashed event on app has been deprecated. #40169 (Also in 28)
  • The deprecated gpu-process-crashed event on app has been removed. #40255
  • The deprecated renderer-process-crashed event on app and crashed event on WebContents and have been removed. #40115
  • Features:
  • Additions:
  • Added WebContentsView and BaseWindow, replacing the now-deprecated BrowserView APIs. #40759
  • Added keyboardLock to ses.setPermissionRequestHandler(handler). #40369 (Also in 26, 27, 28)
  • Added an option in protocol.registerSchemesAsPrivileged to allow V8 code cache in custom schemes. #40544 (Also in 27, 28)
  • Added net module to utility process. #40890 (Also in 27, 28)
  • Added new Electron Fuse that opts the file:// protocol into more secure and restrictive behaviour that matches Chromium. #40372
  • Added new webUtils.getPathForFile method to replace File.path augmentation. #38776
  • Added support for configuring use_remote_checksums via .npmrc. #40253
  • Migrated app.{set|get}LoginItemSettings(settings) to use Apple's new recommended underlying framework on macOS. #37244
  • This PR adds several properties to the display object including detected, maximumCursorSize, and nativeOrigin. #40497 (Also in 28)
  • Removed/Deprecated:
  • Removed extraneous dlls from Windows zip files. #41129 (Also in 28)
  • Fixes:
  • Added support for ThumbnailCapturerMac and ScreenCaptureKitStreamPickerSonoma chromium feature flags to bypass deprecated API warning on macOS 14.4. #41329
  • Fixed Electron 29.0.0-beta.3 regression that could pop up context menus in the wrong location. #41296
  • Fixed an issue where import.meta.url did not work in the renderer process with contextIsolation enabled. #41265
  • Fixed an issue where original-fs methods were not properly corrected for patched imports. #41238
  • Fixed an issue where draggable regions didn't work across platforms. #41112
  • Fixed crash in MessagePort::close. #41237
  • Fixed the GrantFileProtocolExtraPrivileges not correctly preventing fetch() calls to file:// URLs. #40864

New in Electron 29.0.0 Beta 10 (Feb 15, 2024)

  • Fixes:
  • Added support for ThumbnailCapturerMac and ScreenCaptureKitStreamPickerSonoma chromium feature flags to bypass deprecated API warning on macOS 14.4. #41329

New in Electron 28.2.3 (Feb 15, 2024)

  • Fixes:
  • Fixed a crash that started occurring sporadically with some types of macOS window close. #41298 (Also in 29)
  • Fixed an issue where webContents.printToPDF could fail when certain combinations of margins and pageSize values are passed. #41267 (Also in 29)
  • Fixed an issue where crashes in node::Environment destruction potentially wouldn't be propagated to the NodeService exit handler. #41302 (Also in 27, 29)
  • Fixed an issue where zoom level settings did not persist per-session for webviews. #41268 (Also in 27)
  • Other Changes:
  • Updated Chromium to 120.0.6099.283. #41262

New in Electron 29.0.0 Beta 9 (Feb 14, 2024)

  • Fixes:
  • Fixed Electron 29.0.0-beta.3 regression that could pop up context menus in the wrong location. #41296
  • Fixed a crash that started occurring sporadically with some types of macOS window close. #41299 (Also in 28)
  • Fixed an issue where import.meta.url did not work in the renderer process with contextIsolation enabled. #41265
  • Fixed an issue where crashes in node::Environment destruction potentially wouldn't be propagated to the NodeService exit handler. #41301 (Also in 27, 28)

New in Electron 29.0.0 Beta 8 (Feb 9, 2024)

  • Fixes:
  • Fixed a potential issue with Squirrel.Mac's updater and requiringSecureCoding. #41290

New in Electron 29.0.0 Beta 7 (Feb 9, 2024)

  • Fixes:
  • Fixed an issue where webContents.printToPDF could fail when certain combinations of margins and pageSize values are passed. #41266 (Also in 28)

New in Electron 28.2.2 (Feb 8, 2024)

  • Fixes:
  • Fixed an issue where select-usb-device did not respect the filter option in navigator.usb.requestDevice(). #41198 (Also in 27, 29)
  • Other Changes:
  • Security: backported fix for 1511567.
  • Security: backported fix for 1514777.
  • Security: backported fix for 1511085.
  • Security: backported fix for 1519980. #41178
  • Updated Chromium to 120.0.6099.276. #41195

New in Electron 29.0.0 Beta 6 (Feb 7, 2024)

  • Fixes:
  • Fixed an issue where original-fs methods were not properly corrected for patched imports. #41238
  • Fixed crash in MessagePort::close. #41237

New in Electron 28.2.1 (Feb 1, 2024)

  • Fixes:
  • Apply module search paths restriction on worker and child process. #41137 (Also in 27, 29)
  • Fixed a potential async_hooks crash when listening for the restore event on Windows after minimizing a maximized BrowserWindow. #41145 (Also in 27, 29)
  • Fixed an issue where Request objects did not correctly copy headers into fetches. #41103
  • Fixed an issue where non-modal windows with vibrancy could have incorrectly rounded corners on Sonoma. #41036 (Also in 27, 29)
  • Fixed an issue where the printBackground option in webContents.printToPDF did not work as expected. #41179 (Also in 29)
  • Fixed forked child process not able to send IPC message under some cases on macOS. #41101 (Also in 26, 27, 29)
  • Fixed on-screen-keyboard not hiding for webviews under some cases. #41150 (Also in 27, 29)
  • Other Changes:
  • Removed extraneous dlls from Windows zip files. #41128 (Also in 29)
  • Security: backported fix for CVE-2024-0807.
  • Security: backported fix for 1407197. #41105
  • Updated Chromium to 120.0.6099.268. #41094

New in Electron 29.0.0 Beta 4 (Jan 30, 2024)

  • Fixes:
  • Apply module search paths restriction on worker and child process. #41138 (Also in 27, 28)
  • Fixed a potential async_hooks crash when listening for the restore event on Windows after minimizing a maximized BrowserWindow. #41146 (Also in 27, 28)
  • Fixed on-screen-keyboard not hiding for webviews under some cases. #41149
  • Other Changes:
  • Removed extraneous dlls from Windows zip files. #41129 (Also in 28)

New in Electron 29.0.0 Beta 3 (Jan 26, 2024)

  • Other Changes:
  • Updated Chromium to 122.0.6261.6. #40959

New in Electron 29.0.0 Beta 2 (Jan 26, 2024)

  • Fixes:
  • Fixed session.fromPartition() key lookup bug. #41084 (Also in 28)
  • Fixed an issue where Request objects did not correctly copy headers into fetches. #41019
  • Fixed an issue where draggable regions didn't work across platforms. #41112
  • Fixed forked child process not able to send IPC message under some cases on macOS. #41102 (Also in 27, 28)

New in Electron 28.2.0 (Jan 26, 2024)

  • Features:
  • Added net module to utility process. #40967 (Also in 27, 29)
  • Fixes:
  • Fixed session.fromPartition() key lookup bug. #41083 (Also in 29)
  • Fixed a potential crash when calling dialog.showMessageBoxSync. #41042 (Also in 27, 29)
  • Fixed a potential renderer crash when inspecting elements. #40981
  • Fixed macOS bug that causes window maximize button to be disabled in full-screen mode. #41028 (Also in 27, 29)
  • Other Changes:
  • Updated Chromium to 120.0.6099.227. #41075

New in Electron 29.0.0 Beta 1 (Jan 23, 2024)

  • Fixes:
  • Fixed a potential crash when calling dialog.showMessageBoxSync. #41043 (Also in 27, 28)
  • Unknown:
  • Reverted new WebContentsView and BaseWindow APIs. #41060

New in Electron 29.0.0 Alpha 11 (Jan 18, 2024)

  • Fixes:
  • Fixed an issue where non-modal windows with vibrancy could have incorrectly rounded corners on Sonoma. #41037
  • Fixed macOS bug that causes window maximize button to be disabled in full-screen mode. #41029 (Also in 28)

New in Electron 28.1.4 (Jan 17, 2024)

  • Fixes:
  • Fixed an issue where inAppPurchase.getProducts and inAppPurchase.purchasedProduct did not resolve as expected. #40956 (Also in 27, 29)
  • Other Changes:
  • Security: backported fix for CVE-2024-0518.
  • Security: backported fix for 1506535.
  • Security: backported fix for CVE-2024-0517. #41013
  • Security: backported fix for chromium:1517354. #40970
  • Updated Chromium to 120.0.6099.216. #40926

New in Electron 29.0.0 Alpha 10 (Jan 16, 2024)

  • Security: backported fix for chromium:1517354. #40969

New in Electron 29.0.0 Alpha 9 (Jan 15, 2024)

  • Features:
  • Added WebContentsView and BaseWindow, replacing the now-deprecated BrowserView APIs. #40759
  • Added net module to utility process. #40890
  • Fixes:
  • Fixed a crash resultant from trying to listen to power-related events before the ready event was emitted on Linux. #40925 (Also in 26, 27, 28)
  • Fixed an issue where inAppPurchase.getProducts and inAppPurchase.purchasedProduct did not resolve as expected. #40957 (Also in 28)
  • Fixed default protocol handler behavior on Windows. #40908 (Also in 28)
  • Fixed the enabled/disabled behavior of the maximize/fullscreen button of macOS windows. #40897 (Also in 27, 28)
  • Other Changes:
  • Updated Chromium to 122.0.6236.2. #40950

New in Electron 28.1.3 (Jan 11, 2024)

  • Fixes:
  • Fixed a crash resultant from trying to listen to power-related events before the ready event was emitted on Linux. #40924 (Also in 26, 27, 29)

New in Electron 29.0.0 Alpha 8 (Jan 9, 2024)

  • Updated Chromium to 122.0.6194.0. #40872

New in Electron 28.1.2 (Jan 9, 2024)

  • Fixes:
  • Fixed a partition alloc ref count check for higher MacOS versions. #40765 (Also in 29)
  • Fixed default protocol handler behavior on Windows. #40909
  • Fixed the enabled/disabled behavior of the maximize/fullscreen button of macOS windows. #40896 (Also in 27, 29)
  • Unset all Node envs in node process when parent is a foreign process. #40880 (Also in 26, 27, 29)
  • Other Changes:
  • Updated Chromium to 120.0.6099.199. #40762

New in Electron 29.0.0 Alpha 7 (Jan 5, 2024)

  • Fixes:
  • Fixed incorrect title bar shown on frameless transparent windows. #40862 (Also in 27, 28)
  • Fixed the GrantFileProtocolExtraPrivileges not correctly preventing fetch() calls to file:// URLs. #40864
  • Unset all Node envs in node process when parent is a foreign process. #40881 (Also in 27, 28)

New in Electron 28.1.1 (Jan 5, 2024)

  • Fixes:
  • Fixed incorrect title bar shown on frameless transparent windows. #40867 (Also in 27, 29)

New in Electron 28.1.0 (Dec 22, 2023)

  • Features:
  • Added an option in protocol.registerSchemesAsPrivileged to allow V8 code cache in custom schemes. #40709 (Also in 27)
  • Fixes:
  • Fixed documentation of the default --inspect port. #40743 (Also in 27)
  • Prevent node mode to be used as script runner by other apps on macOS. #40710 (Also in 26, 27)
  • Other Changes:
  • Security: backported fix for CVE-2023-7024. #40806
  • Updated Chromium to 120.0.6099.71. #40722

New in Electron 29.0.0 Alpha 5 (Dec 18, 2023)

  • Fixes:
  • Fixed a partition alloc ref count check for higher MacOS versions. #40766

New in Electron 29.0.0 Alpha 4 (Dec 14, 2023)

  • Updated Chromium to 121.0.6159.0. #40751

New in Electron 29.0.0 Alpha 3 (Dec 12, 2023)

  • Features:
  • Added keyboardLock to ses.setPermissionRequestHandler(handler). #40369 (Also in 26, 27, 28)
  • Added an option in protocol.registerSchemesAsPrivileged to allow V8 code cache in custom schemes. #40544
  • Added new Electron Fuse that opts the file:// protocol into more secure and restrictive behaviour that matches Chromium. #40372
  • Added new webUtils.getPathForFile method to replace File.path augmentation. #38776
  • Added support for configuring use_remote_checksums via .npmrc. #40253
  • Migrated app.{set|get}LoginItemSettings(settings) to use Apple's new recommended underlying framework on macOS. #37244
  • This PR adds several properties to the display object including detected, maximumCursorSize, and nativeOrigin. #40497 (Also in 28)
  • Fixes:
  • Backported fix for AVX related crashes on certain linux machines. #40536 (Also in 26, 27, 28)
  • Fixed "will-navigate" not being emitted when pressing links in chrome: pages. #40390 (Also in 27, 28)
  • Fixed a potential issue with async_hook corruption in some error contexts. #40574 (Also in 26, 27, 28)
  • Fixed a unexpectedly thrown error in some unsupported chrome extensions. #40500 (Also in 26, 27, 28)
  • Fixed an error changing file format in dialog.showOpenDialog on macOS. #40308 (Also in 27, 28)
  • Fixed an issue where WebViews could sometimes crash on unload. #40400 (Also in 26, 27, 28)
  • Fixed an issue where Windows Toast notifications weren't properly dismissed from the Action Center on notification.close() if they'd previously been dismissed. #40197 (Also in 26, 27, 28)
  • Fixed an issue where MessagePorts were not being correctly garbage collected when not referenced. #40189 (Also in 28)
  • Fixed an issue where navigator.keyboard.lock() did not work per latest expected behavior. #40365 (Also in 26, 27, 28)
  • Fixed an issue where devtools could not be re-opened. #40666 (Also in 28)
  • Fixed an issue where font requests were incorrectly being sent to dev tools multiple times per resource. #40681 (Also in 27, 28)
  • Fixed an issue where fully occluded windows would return an empty image from webContents.capturePage() on Windows and Linux. #39730 (Also in 25, 26, 27, 28)
  • Fixed an issue where zoom level settings did not persist per-session for webviews. #40650
  • Fixed an issue with webContents interaction with fullscreen and WCO on macOS. #40179 (Also in 25, 26, 27, 28)
  • Fixed app incorrectly activating panel windows on macOS Sonoma. #40307 (Also in 28)
  • Fixed child window opening in non-active macOS apps. #40546 (Also in 26, 27, 28)
  • Fixed file paths passed to shell.showItemInFolder not being escaped in Linux. #40527 (Also in 27, 28)
  • Fixed loading nested ESM dependencies in node_modules
  • Correctly support the throwIfNoEntry option in fs.statSync/fs.lstatSync in asar files. #40221 (Also in 28)
  • Fixed problem with bounds of maximized window when toggle BrowserWindow.setResizable function. #40503 (Also in 26, 27, 28)
  • Fixed resizing performance issue on macOS. #40577 (Also in 26, 27, 28)
  • Fixed some redundant permission dialogs while screen sharing on Wayland. #40098 (Also in 26, 27, 28)
  • Functions called over the contextBridge are now called with the expected receiver (this). #39978 (Also in 27, 28)
  • Prevent node mode to be used as script runner by other apps on macOS. #40579 (Also in 28)
  • Use activateIgnoringOtherApps for focusing non-panels on macOS. #40570 (Also in 28)
  • Other Changes:
  • Re-enabled partition alloc on Mac. #33981 (Also in 28)
  • The gpu-process-crashed event on app has been deprecated. #40169 (Also in 28)
  • The deprecated gpu-process-crashed event on app has been removed. #40255
  • The deprecated renderer-process-crashed event on app and crashed event on WebContents and have been removed. #40115
  • Updated Chromium to 121.0.6147.0. #40523
  • Updated Node.js to v18.18.2. #40205 (Also in 28)
  • Upgraded to Node.js v20. #40545

New in Electron 29.0.0 Alpha 2 (Dec 8, 2023)

  • Features:
  • Added keyboardLock to ses.setPermissionRequestHandler(handler). #40369 (Also in 26, 27, 28)
  • Added an option in protocol.registerSchemesAsPrivileged to allow V8 code cache in custom schemes. #40544
  • Added new Electron Fuse that opts the file:// protocol into more secure and restrictive behaviour that matches Chromium. #40372
  • Added new webUtils.getPathForFile method to replace File.path augmentation. #38776
  • Added support for configuring use_remote_checksums via .npmrc. #40253
  • Migrated app.{set|get}LoginItemSettings(settings) to use Apple's new recommended underlying framework on macOS. #37244
  • This PR adds several properties to the display object including detected, maximumCursorSize, and nativeOrigin. #40497 (Also in 28)
  • Fixes:
  • Backported fix for AVX related crashes on certain linux machines. #40536 (Also in 26, 27, 28)
  • Fixed "will-navigate" not being emitted when pressing links in chrome: pages. #40390 (Also in 27, 28)
  • Fixed a potential issue with async_hook corruption in some error contexts. #40574 (Also in 26, 27, 28)
  • Fixed a unexpectedly thrown error in some unsupported chrome extensions. #40500 (Also in 26, 27, 28)
  • Fixed an error changing file format in dialog.showOpenDialog on macOS. #40308 (Also in 27, 28)
  • Fixed an issue where WebViews could sometimes crash on unload. #40400 (Also in 26, 27, 28)
  • Fixed an issue where Windows Toast notifications weren't properly dismissed from the Action Center on notification.close() if they'd previously been dismissed. #40197 (Also in 26, 27, 28)
  • Fixed an issue where MessagePorts were not being correctly garbage collected when not referenced. #40189 (Also in 28)
  • Fixed an issue where navigator.keyboard.lock() did not work per latest expected behavior. #40365 (Also in 26, 27, 28)
  • Fixed an issue where devtools could not be re-opened. #40666 (Also in 28)
  • Fixed an issue where font requests were incorrectly being sent to dev tools multiple times per resource. #40681 (Also in 28)
  • Fixed an issue where fully occluded windows would return an empty image from webContents.capturePage() on Windows and Linux. #39730 (Also in 25, 26, 27, 28)
  • Fixed an issue where zoom level settings did not persist per-session for webviews. #40650
  • Fixed an issue with webContents interaction with fullscreen and WCO on macOS. #40179 (Also in 25, 26, 27, 28)
  • Fixed app incorrectly activating panel windows on macOS Sonoma. #40307 (Also in 28)
  • Fixed child window opening in non-active macOS apps. #40546 (Also in 26, 28)
  • Fixed file paths passed to shell.showItemInFolder not being escaped in Linux. #40527 (Also in 27, 28)
  • Fixed loading nested ESM dependencies in node_modules
  • Correctly support the throwIfNoEntry option in fs.statSync/fs.lstatSync in asar files. #40221 (Also in 28)
  • Fixed problem with bounds of maximized window when toggle BrowserWindow.setResizable function. #40503 (Also in 26, 27, 28)
  • Fixed resizing performance issue on macOS. #40577 (Also in 26, 27, 28)
  • Fixed some redundant permission dialogs while screen sharing on Wayland. #40098 (Also in 26, 27, 28)
  • Functions called over the contextBridge are now called with the expected receiver (this). #39978 (Also in 27, 28)
  • Prevent node mode to be used as script runner by other apps on macOS. #40579
  • Use activateIgnoringOtherApps for focusing non-panels on macOS. #40570 (Also in 28)
  • Other Changes:
  • Re-enabled partition alloc on Mac. #33981 (Also in 28)
  • The gpu-process-crashed event on app has been deprecated. #40169 (Also in 28)
  • The deprecated gpu-process-crashed event on app has been removed. #40255
  • The deprecated renderer-process-crashed event on app and crashed event on WebContents and have been removed. #40115
  • Updated Chromium to 121.0.6147.0. #40523
  • Updated Node.js to v18.18.2. #40205 (Also in 28)
  • Upgraded to Node.js v20. #40545

New in Electron 29.0.0 Alpha 1 (Dec 7, 2023)

  • Features:
  • Added keyboardLock to ses.setPermissionRequestHandler(handler). #40369 (Also in 26, 27, 28)
  • Added an option in protocol.registerSchemesAsPrivileged to allow V8 code cache in custom schemes. #40544
  • Added new Electron Fuse that opts the file:// protocol into more secure and restrictive behaviour that matches Chromium. #40372
  • Added new webUtils.getPathForFile method to replace File.path augmentation. #38776
  • Added support for configuring use_remote_checksums via .npmrc. #40253
  • Migrated app.{set|get}LoginItemSettings(settings) to use Apple's new recommended underlying framework on macOS. #37244
  • This PR adds several properties to the display object including detected, maximumCursorSize, and nativeOrigin. #40497 (Also in 28)
  • Fixes:
  • Backported fix for AVX related crashes on certain linux machines. #40536 (Also in 26, 27, 28)
  • Fixed "will-navigate" not being emitted when pressing links in chrome: pages. #40390 (Also in 27, 28)
  • Fixed a potential issue with async_hook corruption in some error contexts. #40574 (Also in 26, 27, 28)
  • Fixed a unexpectedly thrown error in some unsupported chrome extensions. #40500 (Also in 26, 27, 28)
  • Fixed an error changing file format in dialog.showOpenDialog on macOS. #40308 (Also in 27, 28)
  • Fixed an issue where WebViews could sometimes crash on unload. #40400 (Also in 26, 27, 28)
  • Fixed an issue where Windows Toast notifications weren't properly dismissed from the Action Center on notification.close() if they'd previously been dismissed. #40197 (Also in 26, 27, 28)
  • Fixed an issue where MessagePorts were not being correctly garbage collected when not referenced. #40189 (Also in 28)
  • Fixed an issue where navigator.keyboard.lock() did not work per latest expected behavior. #40365 (Also in 26, 27, 28)
  • Fixed an issue where devtools could not be re-opened. #40666 (Also in 28)
  • Fixed an issue where font requests were incorrectly being sent to dev tools multiple times per resource. #40681 (Also in 28)
  • Fixed an issue where fully occluded windows would return an empty image from webContents.capturePage() on Windows and Linux. #39730 (Also in 25, 26, 27, 28)
  • Fixed an issue where zoom level settings did not persist per-session for webviews. #40650
  • Fixed an issue with webContents interaction with fullscreen and WCO on macOS. #40179 (Also in 25, 26, 27, 28)
  • Fixed app incorrectly activating panel windows on macOS Sonoma. #40307 (Also in 28)
  • Fixed child window opening in non-active macOS apps. #40546 (Also in 26, 28)
  • Fixed file paths passed to shell.showItemInFolder not being escaped in Linux. #40527 (Also in 27, 28)
  • Fixed loading nested ESM dependencies in node_modules
  • Correctly support the throwIfNoEntry option in fs.statSync/fs.lstatSync in asar files. #40221 (Also in 28)
  • Fixed problem with bounds of maximized window when toggle BrowserWindow.setResizable function. #40503 (Also in 26, 27, 28)
  • Fixed resizing performance issue on macOS. #40577 (Also in 26, 27, 28)
  • Fixed some redundant permission dialogs while screen sharing on Wayland. #40098 (Also in 26, 27, 28)
  • Functions called over the contextBridge are now called with the expected receiver (this). #39978 (Also in 27, 28)
  • Prevent node mode to be used as script runner by other apps on macOS. #40579
  • Use activateIgnoringOtherApps for focusing non-panels on macOS. #40570 (Also in 28)
  • Other Changes:
  • Re-enabled partition alloc on Mac. #33981 (Also in 28)
  • The gpu-process-crashed event on app has been deprecated. #40169 (Also in 28)
  • The deprecated gpu-process-crashed event on app has been removed. #40255
  • The deprecated renderer-process-crashed event on app and crashed event on WebContents and have been removed. #40115
  • Updated Chromium to 121.0.6147.0. #40523
  • Updated Node.js to v18.18.2. #40205 (Also in 28)
  • Upgraded to Node.js v20. #40545

New in Electron 28.0.0 (Dec 5, 2023)

  • Breaking Changes:
  • The BrowserWindow.getTrafficLightPosition() and BrowserWindow.setTrafficLightPosition() methods have been removed. #39479
  • The app.runningUnderRosettaTranslation() method has been removed. #39956
  • The ipcRenderer.sendTo() method has been removed. #39087
  • The scroll-touch-{begin,end,edge} events have been removed. #39814
  • Setting backgroundThrottling to false will disable frames throttling in the BrowserWindow for all WebContents displayed by it. #38924
  • Features:
  • Additions:
  • Enabled ESM support. #37535
  • For more details, see the ESM documentation.
  • The UtilityProcess API now supports ESM entrypoints. #40047
  • Added several properties to the display object including detected, maximumCursorSize, and nativeOrigin. #40554
  • Added support for ELECTRON_OZONE_PLATFORM_HINT environment variable on Linux. #39792
  • In addition to enabling ESM support in Electron itself, Electron Forge also supports using ESM to package, build and develop Electron applications. You can find this support in Forge v7.0.0 or higher: https://github.com/electron/forge/releases/tag/v7.0.0
  • Added API to help apps know when to avoid semitransparent backgrounds. #39631 (Also in 26, 27)
  • Added getWebRTCUDPPortRange and setWebRTCUDPPortRange APIs to specify UDP port range for WebRTC. #39046
  • Added keyboardLock to ses.setPermissionRequestHandler(handler). #40460 (Also in 26, 27)
  • Added mouse-enter and mouse-leave Tray events for Windows. #40072
  • Added a generateTaggedPDF option to webContents.printToPDF() to allow generating tagged (accessible) PDFs. #39563
  • Added a tabbingIdentifier property to BrowserWindow. #39980 (Also in 26, 27)
  • Added middle click mouse event to tray icon. #39926
  • Added several properties to the display object including detected, maximumCursorSize, and nativeOrigin. #40554
  • Added support for ELECTRON_OZONE_PLATFORM_HINT environment variable on Linux. #39792
  • Added support for chrome.scripting extension APIs. #39395 (Also in 25, 26, 27)
  • Added support for several more extensions manifest keys including host_permissions, author, and short_name. #39599 (Also in 26, 27)
  • Added the ability to send HTTP headers with webContents.downloadURL(). #39455 (Also in 25, 26, 27)
  • Changed systemPreferences.getColor(name) to return an RGBA hex value (#RRGGBBAA) instead of a plain RGB (#RRGGBB) value. #38960
  • Honor XDG dark theme preferences on Linux. #38977 (Also in 25, 26, 27)
  • Improved compatibility with CommonJS modules in sandboxed preload scripts by passing dummy module.exports. #39484
  • Improvements:
  • Improved fork() and execve() performance for child_process API on Linux. #39253
  • Fixed resizing performance issue on macOS. #40586 (Also in 26, 27)
  • Fixed opaque window performance regression on DWM. #39895 (Also in 27)
  • Re-enabled partition alloc on macOS. #40230
  • Removed/Deprecated:
  • The app.runningUnderRosettaTranslation property has been deprecated. #39897 (Also in 25, 26, 27)
  • The gpu-process-crashed event on app has been deprecated. #40195
  • The renderer-process-crashed event on app and crashed event on WebContents and have been deprecated. #40089
  • Fixes:
  • Fixed an issue that prevented MessagePorts from being garbage collected when not referenced. #40201
  • Fixed app incorrectly activating panel windows on macOS Sonoma. #40465
  • Fixed file paths passed to shell.showItemInFolder not being escaped in Linux. #40562
  • Fixed loading nested ESM dependencies in node_modules. Support the throwIfNoEntry option in fs.statSync/fs.lstatSync in asar files. #40224
  • Fixed same-party cookie functionality for first party sets. #40526
  • Use activateIgnoringOtherApps for focusing non-panels on macOS. #40621

New in Electron 28.0.0 Beta 11 (Dec 2, 2023)

  • Features:
  • This PR adds several properties to the display object including detected, maximumCursorSize, and nativeOrigin. #40554
  • Fixes:
  • Backported fix for AVX related crashes on certain linux machines. #40542 (Also in 26, 27)
  • Use activateIgnoringOtherApps for focusing non-panels on macOS. #40621
  • Other Changes:
  • Security: backported fix for 1491210.
  • Security: backported fix for CVE-2023-6345. #40647
  • Updated Chromium to 120.0.6099.35. #40547

New in Electron 27.1.3 (Dec 2, 2023)

  • Fixes:
  • Backported fix for AVX related crashes on certain linux machines. #40541 (Also in 26, 28)
  • Fixed a potential issue with async_hook corruption in some error contexts. #40593 (Also in 26, 28)
  • Fixed file paths passed to shell.showItemInFolder not being escaped in Linux. #40561 (Also in 28)
  • Other Changes:
  • Security: backported fix for 1491210.
  • Security: backported fix for CVE-2023-6345
  • Security: backported fix for CVE-2023-6346.
  • Security: backported fix for CVE-2023-6347.
  • Security: backported fix for CVE-2023-6350. #40643
  • Security: backported fix for CVE-2023-6350. #40648
  • Updated Chromium to 118.0.5993.159. #40631

New in Electron 28.0.0 Beta 10 (Nov 28, 2023)

  • Fixes:
  • Fixed a potential issue with async_hook corruption in some error contexts. #40594 (Also in 26, 27)
  • Fixed file paths passed to shell.showItemInFolder not being escaped in Linux. #40562
  • Fixed problem with bounds of maximized window when toggle BrowserWindow.setResizable function. #40582 (Also in 26, 27)
  • Fixed resizing performance issue on macOS. #40586 (Also in 26, 27)

New in Electron 28.0.0 Beta 9 (Nov 25, 2023)

  • Fixes:
  • Fixed a potential issue with async_hook corruption in some error contexts. #40594 (Also in 26, 27)
  • Fixed file paths passed to shell.showItemInFolder not being escaped in Linux. #40562
  • Fixed problem with bounds of maximized window when toggle BrowserWindow.setResizable function. #40582 (Also in 26, 27)
  • Fixed resizing performance issue on macOS. #40586 (Also in 26, 27)

New in Electron 27.1.2 (Nov 25, 2023)

  • Fixes:
  • Fixed resizing performance issue on macOS. #40585 (Also in 26, 28)

New in Electron 28.0.0 Beta 8 (Nov 21, 2023)

  • Fixes:
  • Fixed same-party cookie functionality for first party sets. #40526

New in Electron 28.0.0 Beta 6 (Nov 17, 2023)

  • Fixes:
  • Fixed "will-navigate" not being emitted when pressing links in chrome: pages. #40525 (Also in 27)

New in Electron 27.1.0 (Nov 16, 2023)

  • Features:
  • Added keyboardLock to ses.setPermissionRequestHandler(handler). #40459 (Also in 26, 28)
  • Fixes:
  • Fixed "will-navigate" not being emitted when pressing links in chrome: pages. #40524 (Also in 28)
  • Fixed a unexpectedly thrown error in some unsupported chrome extensions. #40513 (Also in 26, 28)
  • Other Changes:
  • Updated Chromium to 118.0.5993.144. #40522

New in Electron 28.0.0 Beta 5 (Nov 14, 2023)

  • Features:
  • Added keyboardLock to ses.setPermissionRequestHandler(handler). #40460 (Also in 26, 27)
  • Fixes:
  • Fixed a unexpectedly thrown error in some unsupported chrome extensions. #40514 (Also in 26, 27)
  • Fixed app incorrectly activating panel windows on macOS Sonoma. #40465
  • Other Changes:
  • Updated Chromium to 120.0.6099.18. #40488
  • Updated Node.js to latest security release v18.18.2. #40472

New in Electron 28.0.0 Beta 4 (Nov 10, 2023)

  • Fixes:
  • Fixed rendering on Linux due to broken shader cache compilation with driver updates. #40450 (Also in 27)

New in Electron 27.0.4 (Nov 9, 2023)

  • Fixes:
  • Fixed an issue where WebViews could sometimes crash on unload. #40444 (Also in 26, 28)
  • Fixed rendering on Linux due to broken shader cache compilation with driver updates. #40467
  • Other Changes:
  • Updated Chromium to 118.0.5993.129. #40417

New in Electron 28.0.0 Beta 3 (Nov 7, 2023)

  • Fixes:
  • Fixed an issue where WebViews could sometimes crash on unload. #40445
  • Other Changes:
  • Updated Chromium to 120.0.6099.5. #40420

New in Electron 28.0.0 Beta 2 (Nov 5, 2023)

  • Fixes:
  • Fixed an issue where navigator.keyboard.lock() did not work per latest expected behavior. #40389 (Also in 26, 27)
  • Other Changes:
  • Updated Chromium to 120.0.6099.0. #40413

New in Electron 27.0.3 (Nov 2, 2023)

  • Fixes:
  • Fixed an error changing file format in dialog.showOpenDialog on macOS. #40347 (Also in 28)
  • Fixed an issue where navigator.keyboard.lock() did not work per latest expected behavior. #40388 (Also in 26, 28)
  • Other Changes:
  • Updated Chromium to 118.0.5993.120. #40404

New in Electron 28.0.0 Alpha 5 (Oct 24, 2023)

  • Other Changes:
  • Updated Chromium to 119.0.6045.33. #40278

New in Electron 27.0.2 (Oct 22, 2023)

  • Fixes:
  • Functions called over the contextBridge are now called with the expected receiver (this). #40262 (Also in 28)
  • Other Changes:
  • Backported fix for 1473422. #40280

New in Electron 28.0.0 Alpha 4 (Oct 20, 2023)

  • Fixes:
  • Fixed an issue where Windows Toast notifications weren't properly dismissed from the Action Center on notification.close() if they'd previously been dismissed. #40243 (Also in 26, 27)
  • Fixed loading nested ESM dependencies in node_modules
  • Correctly support the throwIfNoEntry option in fs.statSync/fs.lstatSync in asar files. #40224
  • Functions called over the contextBridge are now called with the expected receiver (this). #40263 (Also in 27)
  • Other Changes:
  • Re-enabled partition alloc on Mac. #40230

New in Electron 27.0.1 (Oct 19, 2023)

  • Fixes:
  • Fixed an issue where Windows Toast notifications weren't properly dismissed from the Action Center on notification.close() if they'd previously been dismissed. #40244 (Also in 26, 28)
  • Fixed an issue where calling loadURL during some webContents url loading events could crash. #40162 (Also in 24, 25, 26)
  • Fixed an issue where fully occluded windows would return an empty image from webContents.capturePage() on Windows and Linux. #40188 (Also in 25, 26, 28)
  • Fixed an issue with webContents interaction with fullscreen and WCO on macOS. #40217 (Also in 25, 26, 28)
  • Fixed some redundant permission dialogs while screen sharing on Wayland. #40193 (Also in 26, 28)
  • Other Changes:
  • Updated Chromium to 118.0.5993.89. #40240

New in Electron 28.0.0 Alpha 3 (Oct 17, 2023)

  • Fixes:
  • Fixed an issue where MessagePorts were not being correctly garbage collected when not referenced. #40201
  • Fixed an issue with webContents interaction with fullscreen and WCO on macOS. #40219 (Also in 25, 26, 27)
  • Fixed some redundant permission dialogs while screen sharing on Wayland. #40192 (Also in 26, 27)
  • Other Changes:
  • The gpu-process-crashed event on app has been deprecated. #40195
  • Updated Chromium to 119.0.6045.21. #40178

New in Electron 28.0.0 Alpha 2 (Oct 13, 2023)

  • Breaking Changes:
  • Fixed generating frames when the window is hidden and backgroundThrottling is disabled. #38924
  • Features:
  • A dummy module.exports is now passed to the sandboxed preload scripts to improve compatibility with CommonJS modules. #39484
  • Added 'getWebRTCUDPPortRange' and 'setWebRTCUDPPortRange' apis to specify udp port range for webrtc. #39046
  • Added 'mouse-enter' and 'mouse-leave' Tray events for Windows. #40072
  • Added a generateTaggedPDF option to webContents.printToPDF to allow generating tagged (accessible) PDFs. #39563
  • Added a tabbingIdentifier property to BrowserWindow. #39980 (Also in 27)
  • Added middle click mouse event to tray icon. #39926
  • Added support for chrome.scripting extension APIs. #39395 (Also in 25, 26, 27)
  • Added support for several more extensions manifest keys including host_permissions, author, and short_name. #39599 (Also in 26, 27)
  • Added the ability to send HTTP headers with webContents.downloadURL(). #39455 (Also in 25, 26, 27)
  • Changed systemPreferences.getColor(name) to return an RGBA hex value (#RRGGBBAA) instead of a plain RGB (#RRGGBB) value. #38960
  • Detect system dark theme preference via xdg settings portal on Linux. #38977 (Also in 25, 26, 27)
  • Enabled ESM support. For more details see the ESM limitations document. #37535
  • Exposed an API to allow apps to determine whether to avoid using semitransparent backgrounds. #39631 (Also in 26, 27)
  • Fixes:
  • Added support for ELECTRON_OZONE_PLATFORM_HINT environment variable on Linux. #39792
  • Fixed BrowserView.setBounds calls not painting view in new bounds in some cases. #39994 (Also in 25, 26, 27)
  • Fixed Windows Mica/Acrylic background material effects on frameless windows. #39708 (Also in 27)
  • Fixed app.runningUnderARM64Translation() always returning true on ARM64. #39920 (Also in 25, 26, 27)
  • Fixed an error where listening to certain chrome.tabs events would throw incorrectly. #39729 (Also in 25, 26, 27)
  • Fixed an issue where BrowserWindows could crash on macOS with frame: false and roundedCorners: false when going fullscreen. #39747 (Also in 25, 26, 27)
  • Fixed an issue where BrowserViews that had their bounds set prior to being added to a BrowserWindow could have unexpected incorrect offsets. #39605 (Also in 25, 26, 27)
  • Fixed an issue where chrome://gpu failed to load. #39556 (Also in 25, 26, 27)
  • Fixed an issue where webContents.print could fail when options is a frozen object. #39985 (Also in 25, 26, 27)
  • Fixed an issue where accelerators representing DOM keys were not correctly converted in webContents.sendInputEvent(). #39776 (Also in 25, 26, 27)
  • Fixed an issue where calling loadURL during some webContents url loading events could crash. #40143 (Also in 24, 25, 26, 27)
  • Fixed an issue where calling show() on a child BrowserWindow would show all other children attached to the same parent on macOS. #40062 (Also in 24, 25, 26, 27)
  • Fixed an issue where certain properties of chrome.tabs Tab objects were not properly considered privileged. #39595 (Also in 25, 26, 27)
  • Fixed an issue where child windows opened when the parent window is already fullscreen did not respect the child windows' fullscreenability and resizability settings. #39620 (Also in 24, 25, 26, 27)
  • Fixed an issue where closing and opening a minimized DevTools window would not work as expected. #40091 (Also in 25, 26, 27)
  • Fixed an issue where fully occluded windows would return an empty image from webContents.capturePage() on Windows and Linux. #40185 (Also in 26, 27)
  • Fixed an issue where pressing the escape key did not properly trigger PDF presentation mode exit. #39616 (Also in 26, 27)
  • Fixed an issue where the Node.js assert module did not work in the renderer process. #39540 (Also in 24, 25, 26, 27)
  • Fixed an issue where using webcrypto.subtle.importKey() could error and fail if SharedArrayBuffers are not defined. #40070 (Also in 27)
  • Fixed an issue where vibrant windows incorrectly have square corners when they're modals on macOS. #39979 (Also in 25, 26, 27)
  • Fixed an issue with applying vibrancy on non-transparent windows on MacOS. #40109 (Also in 27)
  • Fixed decorations for tiled windows on Wayland. #39523 (Also in 22, 24, 25, 26, 27)
  • Fixed deprecated gpu-process-crashed / renderer-process-crashed events being emitted twice and with incorrect arguments. #40090 (Also in 22, 24, 25, 26, 27)
  • Fixed devtools to allow restoring saved dock state on Windows. #39734 (Also in 25, 26, 27)
  • Fixed failing build when enable_electron_extensions=false. #40032 (Also in 27)
  • Fixed how screen readers are detected on Windows to reduce false positives. #39988 (Also in 27)
  • Fixed issue where titlebar would be transparent for transparent windows that are fullscreen. #39759 (Also in 25, 26, 27)
  • Fixed problem with promise resolved to early when browser initiated in-page navigation. #39597 (Also in 25, 26, 27)
  • Fixed to regenerate thumbnail toolbar buttons when explorer is restarted. #39551 (Also in 24, 25, 26)
  • Fixed window size constraints not working on macOS. #39975 (Also in 27)
  • Prevent DWM from redrawing video frames rendered on opaque windows. #39895 (Also in 27)
  • Support Region Capture API with tab MediaStream. #39074 (Also in 25, 26, 27)
  • The UtilityProcess API now supports ESM entrypoints. #40047
  • Other Changes:
  • Deprecated scroll-touch-{begin,end,edge} events have been removed. #39814
  • Fixed build failure when PDF viewer is disabled. #39990 (Also in 25, 26, 27)
  • Fixed crash on shutdown in tls sockets with Node.js HTTP/2 connections. #39928 (Also in 25, 26, 27)
  • Fixed launch failure with child_process.spawn on windows affected by launching store applications. #40101 (Also in 25, 26, 27)
  • Fixed missing type for Electron.TitleBarOverlay. #39799 (Also in 26, 27)
  • Improved fork/execve performance for child_process api on linux. #39253
  • Removed deprecated app.runningUnderRosettaTranslation(). #39956
  • The app.runningUnderRosettaTranslation property has been deprecated. #39897 (Also in 25, 26, 27)
  • The renderer-process-crashed event on app and crashed event on WebContents and have been deprecated. #40089
  • The systemPreferences.getAppLevelAppearance, systemPreferences.setAppLevelAppearance and systemPreferences.appLevelAppearance APIs have been removed, as well as the alternate-selected-control-text value for systemPreferences.getColor. #39696 (Also in 27)
  • The deprecated getTrafficLightPosition() / setTrafficLightPosition() APIs have been removed. #39479
  • The deprecated ipcRenderer.sendTo() API has been removed. #39087
  • The deprecated webContents.getPrinters() API has been removed. #39663 (Also in 27)
  • Updated Chromium to 119.0.6045.0. #40076
  • Updated Node.js to v18.18.0. #39915
  • Documentation:
  • Documentation changes: #39963

New in Electron 28.0.0 Alpha 1 (Oct 11, 2023)

  • Breaking Changes:
  • Fixed generating frames when the window is hidden and backgroundThrottling is disabled. #38924
  • Features:
  • A dummy module.exports is now passed to the sandboxed preload scripts to improve compatibility with CommonJS modules. #39484
  • Added 'getWebRTCUDPPortRange' and 'setWebRTCUDPPortRange' apis to specify udp port range for webrtc. #39046
  • Added 'mouse-enter' and 'mouse-leave' Tray events for Windows. #40072
  • Added a generateTaggedPDF option to webContents.printToPDF to allow generating tagged (accessible) PDFs. #39563
  • Added a tabbingIdentifier property to BrowserWindow. #39980 (Also in 27)
  • Added middle click mouse event to tray icon. #39926
  • Added support for chrome.scripting extension APIs. #39395 (Also in 25, 26, 27)
  • Added support for several more extensions manifest keys including host_permissions, author, and short_name. #39599 (Also in 26, 27)
  • Added the ability to send HTTP headers with webContents.downloadURL(). #39455 (Also in 25, 26, 27)
  • Changed systemPreferences.getColor(name) to return an RGBA hex value (#RRGGBBAA) instead of a plain RGB (#RRGGBB) value. #38960
  • Detect system dark theme preference via xdg settings portal on Linux. #38977 (Also in 25, 26, 27)
  • Enabled ESM support. For more details see the ESM limitations document. #37535
  • Exposed an API to allow apps to determine whether to avoid using semitransparent backgrounds. #39631 (Also in 26, 27)
  • Fixes:
  • Added support for ELECTRON_OZONE_PLATFORM_HINT environment variable on Linux. #39792
  • Fixed BrowserView.setBounds calls not painting view in new bounds in some cases. #39994 (Also in 25, 26, 27)
  • Fixed Windows Mica/Acrylic background material effects on frameless windows. #39708 (Also in 27)
  • Fixed app.runningUnderARM64Translation() always returning true on ARM64. #39920 (Also in 25, 26, 27)
  • Fixed an error where listening to certain chrome.tabs events would throw incorrectly. #39729 (Also in 25, 26, 27)
  • Fixed an issue where BrowserWindows could crash on macOS with frame: false and roundedCorners: false when going fullscreen. #39747 (Also in 25, 26, 27)
  • Fixed an issue where BrowserViews that had their bounds set prior to being added to a BrowserWindow could have unexpected incorrect offsets. #39605 (Also in 25, 26, 27)
  • Fixed an issue where chrome://gpu failed to load. #39556 (Also in 25, 26, 27)
  • Fixed an issue where webContents.print could fail when options is a frozen object. #39985 (Also in 25, 26, 27)
  • Fixed an issue where accelerators representing DOM keys were not correctly converted in webContents.sendInputEvent(). #39776 (Also in 25, 26, 27)
  • Fixed an issue where calling loadURL during some webContents url loading events could crash. #40143 (Also in 24, 25, 26, 27)
  • Fixed an issue where calling show() on a child BrowserWindow would show all other children attached to the same parent on macOS. #40062 (Also in 24, 25, 26, 27)
  • Fixed an issue where certain properties of chrome.tabs Tab objects were not properly considered privileged. #39595 (Also in 25, 26, 27)
  • Fixed an issue where child windows opened when the parent window is already fullscreen did not respect the child windows' fullscreenability and resizability settings. #39620 (Also in 24, 25, 26, 27)
  • Fixed an issue where closing and opening a minimized DevTools window would not work as expected. #40091 (Also in 25, 26, 27)
  • Fixed an issue where pressing the escape key did not properly trigger PDF presentation mode exit. #39616 (Also in 26, 27)
  • Fixed an issue where the Node.js assert module did not work in the renderer process. #39540 (Also in 24, 25, 26, 27)
  • Fixed an issue where using webcrypto.subtle.importKey() could error and fail if SharedArrayBuffers are not defined. #40070 (Also in 27)
  • Fixed an issue where vibrant windows incorrectly have square corners when they're modals on macOS. #39979 (Also in 25, 26, 27)
  • Fixed an issue with applying vibrancy on non-transparent windows on MacOS. #40109 (Also in 27)
  • Fixed decorations for tiled windows on Wayland. #39523 (Also in 22, 24, 25, 26, 27)
  • Fixed deprecated gpu-process-crashed / renderer-process-crashed events being emitted twice and with incorrect arguments. #40090 (Also in 22, 24, 25, 26, 27)
  • Fixed devtools to allow restoring saved dock state on Windows. #39734 (Also in 25, 26, 27)
  • Fixed failing build when enable_electron_extensions=false. #40032 (Also in 27)
  • Fixed how screen readers are detected on Windows to reduce false positives. #39988 (Also in 27)
  • Fixed issue where titlebar would be transparent for transparent windows that are fullscreen. #39759 (Also in 25, 26, 27)
  • Fixed problem with promise resolved to early when browser initiated in-page navigation. #39597 (Also in 25, 26, 27)
  • Fixed to regenerate thumbnail toolbar buttons when explorer is restarted. #39551 (Also in 24, 25, 26)
  • Fixed window size constraints not working on macOS. #39975 (Also in 27)
  • Prevent DWM from redrawing video frames rendered on opaque windows. #39895 (Also in 27)
  • Support Region Capture API with tab MediaStream. #39074 (Also in 25, 26, 27)
  • The UtilityProcess API now supports ESM entrypoints. #40047
  • Other Changes:
  • Deprecated scroll-touch-{begin,end,edge} events have been removed. #39814
  • Fixed build failure when PDF viewer is disabled. #39990 (Also in 25, 26, 27)
  • Fixed crash on shutdown in tls sockets with Node.js HTTP/2 connections. #39928 (Also in 25, 26, 27)
  • Fixed launch failure with child_process.spawn on windows affected by launching store applications. #40101 (Also in 25, 26, 27)
  • Fixed missing type for Electron.TitleBarOverlay. #39799 (Also in 26, 27)
  • Improved fork/execve performance for child_process api on linux. #39253
  • Removed deprecated app.runningUnderRosettaTranslation(). #39956
  • The app.runningUnderRosettaTranslation property has been deprecated. #39897 (Also in 25, 26, 27)
  • The renderer-process-crashed event on app and crashed event on WebContents and have been deprecated. #40089
  • The systemPreferences.getAppLevelAppearance, systemPreferences.setAppLevelAppearance and systemPreferences.appLevelAppearance APIs have been removed, as well as the alternate-selected-control-text value for systemPreferences.getColor. #39696 (Also in 27)
  • The deprecated getTrafficLightPosition() / setTrafficLightPosition() APIs have been removed. #39479
  • The deprecated ipcRenderer.sendTo() API has been removed. #39087
  • The deprecated webContents.getPrinters() API has been removed. #39663 (Also in 27)
  • Updated Chromium to 119.0.6045.0. #40076
  • Updated Node.js to v18.18.0. #39915
  • Documentation:
  • Documentation changes: #39963

New in Electron 27.0.0 (Oct 10, 2023)

  • Features:
  • Added a tabbingIdentifier property to BrowserWindow. #40082
  • Exposed an API to allow apps to determine whether to avoid using semitransparent backgrounds. #40074 (Also in 26)
  • Fixes:
  • Fixed an issue where calling show() on a child BrowserWindow would show all other children attached to the same parent on macOS. #40105 (Also in 24, 25, 26)
  • Fixed an issue where closing and opening a minimized DevTools window would not work as expected. #40116 (Also in 25, 26)
  • Fixed an issue where using webcrypto.subtle.importKey() could error and fail if SharedArrayBuffers are not defined. #40100
  • Fixed an issue with applying vibrancy on non-transparent windows on MacOS. #40130
  • Fixed deprecated gpu-process-crashed / renderer-process-crashed events being emitted twice and with incorrect arguments. #40111 (Also in 22, 24, 25, 26)
  • Fixed failing build when enable_electron_extensions=false. #40087
  • Other Changes:
  • Fixed launch failure with child_process.spawn on windows affected by launching store applications. #40126 (Also in 25, 26)
  • Updated Chromium to 118.0.5993.54. #40103

New in Electron 26.3.0 (Oct 6, 2023)

  • Features:
  • Added support for chrome.scripting extension APIs. #39676 (Also in 25, 27)
  • Fixes:
  • Fixed BrowserView.setBounds calls not painting view in new bounds in some cases. #40036 (Also in 25, 27)
  • Fixed an issue where webContents.print could fail when options is a frozen object. #40029 (Also in 25, 27)
  • Fixed an issue where vibrant windows incorrectly have square corners when they're modals on macOS. #39998 (Also in 25, 27)
  • Other Changes:
  • Updated Chromium to 116.0.5845.228. #40043

New in Electron 27.0.0 Beta 9 (Oct 6, 2023)

  • Fixes:
  • Fixed BrowserView.setBounds calls not painting view in new bounds in some cases. #40037 (Also in 25, 26)
  • Fixed an issue where webContents.print could fail when options is a frozen object. #40030 (Also in 25, 26)
  • Fixed how screen readers are detected on Windows to reduce false positives. #40065

New in Electron 27.0.0 Beta 8 (Oct 1, 2023)

  • Features:
  • Detect system dark theme preference via xdg settings portal on Linux. #40010 (Also in 25, 26)
  • Fixes:
  • Fixed an issue where vibrant windows incorrectly have square corners when they're modals on macOS. #39996
  • Fixed window size constraints not working on macOS. #39992
  • Prevent DWM from redrawing video frames rendered on opaque windows. #40003
  • Other Changes:
  • Fixed build failure when PDF viewer is disabled. #40001 (Also in 25, 26)
  • Security: backported fix for CVE-2023-5217. #40022

New in Electron 26.2.4 (Oct 1, 2023)

  • Features:
  • Detect system dark theme preference via xdg settings portal on Linux. #40011 (Also in 25, 27)
  • Other Changes:
  • Fixed build failure when PDF viewer is disabled. #39999 (Also in 25, 27)
  • Security: backported fix for CVE-2023-5217. #40023

New in Electron 27.0.0 Beta 7 (Oct 1, 2023)

  • Fixes:
  • Fixed same-party cookie functionality for first party sets. #39976
  • Other Changes:
  • The app.runningUnderRosettaTranslation property has been deprecated. #39984 (Also in 25, 26)
  • The systemPreferences.getAppLevelAppearance, systemPreferences.setAppLevelAppearance and systemPreferences.appLevelAppearance APIs have been removed, as well as the alternate-selected-control-text value for systemPreferences.getColor. #39804

New in Electron 27.0.0 Beta 5 (Sep 23, 2023)

  • Fixes:
  • Fixed app.runningUnderARM64Translation() always returning true on ARM64. #39931 (Also in 25)
  • Other Changes:
  • Fixed crash on shutdown in tls sockets with Node.js HTTP/2 connections. #39947 (Also in 25, 26)
  • Updated Chromium to 118.0.5993.18. #39943

New in Electron 26.2.2 (Sep 22, 2023)

  • Fixes:
  • Fixed an issue where BrowserViews that had their bounds set prior to being added to a BrowserWindow could have unexpected incorrect offsets. #39850 (Also in 25, 27)
  • Other Changes:
  • Security: backported fix for 1477588. #39918
  • Updated Chromium to 116.0.5845.190. #39887

New in Electron 27.0.0 Beta 4 (Sep 19, 2023)

  • Updated Chromium to 118.0.5993.11. #39854

New in Electron 27.0.0 Beta 2 (Sep 13, 2023)

  • Fixes:
  • Fixed Windows Mica/Acrylic background material effects on frameless windows. #39802
  • Fixed an issue where accelerators representing DOM keys were not correctly converted in webContents.sendInputEvent(). #39822 (Also in 26)
  • Other Changes:
  • Fixed missing type for Electron.TitleBarOverlay. #39806 (Also in 26)
  • Security: backported fix for CVE-2023-4863. #39823

New in Electron 27.0.0 Beta 1 (Sep 12, 2023)

  • Fixes:
  • Fixed an issue where BrowserWindows could crash on macOS with frame: false and roundedCorners: false when going fullscreen. #39796 (Also in 25, 26)
  • Fixed issue where titlebar would be transparent for transparent windows that are fullscreen. #39781 (Also in 25, 26)
  • Other Changes:
  • Updated Chromium to 118.0.5993.5. #39542

New in Electron 27.0.0 Alpha 6 (Sep 8, 2023)

  • Features:
  • Added support for chrome.scripting extension APIs. #39675
  • Added support for several more extensions manifest keys including host_permissions, author, and short_name. #39672 (Also in 26)
  • Fixes:
  • Fixed an error where listening to certain chrome.tabs events would throw incorrectly. #39771 (Also in 25)
  • Fixed devtools to allow restoring saved dock state on Windows. #39767 (Also in 26)
  • Other Changes:
  • The deprecated webContents.getPrinters() API has been removed. #39735

New in Electron 26.2.0 (Sep 7, 2023)

  • Features:
  • Added support for several more extensions manifest keys including host_permissions, author, and short_name. #39673 (Also in 27)
  • Added the ability to send HTTP headers with webContents.downloadURL(). #39562 (Also in 25, 27)
  • Fixes:
  • Fixed an issue where child windows opened when the parent window is already fullscreen did not respect the child windows' fullscreenability and resizability settings. #39641 (Also in 24, 25, 27)
  • Fixed an issue where pressing the escape key did not properly trigger PDF presentation mode exit. #39705 (Also in 27)
  • Fixed an issue where the Node.js assert module did not work in the renderer process. #39624 (Also in 24, 25, 27)
  • Fixed problem with promise resolved to early when browser initiated in-page navigation. #39679 (Also in 25, 27)
  • Other Changes:
  • Updated Chromium to 116.0.5845.141. #39692

New in Electron 27.0.0 Alpha 5 (Sep 1, 2023)

  • Fixes:
  • Fixed problem with promise resolved to early when browser initiated in-page navigation. #39680

New in Electron 27.0.0 Alpha 4 (Aug 30, 2023)

  • Fixes:
  • Fixed an issue where child windows opened when the parent window is already fullscreen did not respect the child windows' fullscreenability and resizability settings. #39640 (Also in 24, 25, 26)
  • Fixed an issue where pressing the escape key did not properly trigger PDF presentation mode exit. #39660
  • Fixed an issue where the Node.js assert module did not work in the renderer process. #39623 (Also in 24, 26)

New in Electron 27.0.0 Alpha 3 (Aug 25, 2023)

  • Features:
  • Added the ability to send HTTP headers with webContents.downloadURL(). #39560 (Also in 25, 26)
  • Fixes:
  • Fixed an issue where BrowserViews that had their bounds set prior to being added to a BrowserWindow could have unexpected incorrect offsets. #39627
  • Fixed an issue where certain properties of chrome.tabs Tab objects were not properly considered privileged. #39608 (Also in 25, 26)
  • Support Region Capture API with tab MediaStream. #39619 (Also in 25, 26)

New in Electron 26.1.0 (Aug 23, 2023)

  • 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

New in Electron 27.0.0 Alpha 2 (Aug 22, 2023)

  • Features:
  • Added safeStorage.setUsePlainTextEncryption and safeStorage.getSelectedStorageBackend api. #38873 (Also in 25, 26)
  • Added senderIsMainFrame to messages sent via ipcRenderer.sendTo(). #38868 (Also in 24, 25, 26)
  • Added a title parameter to webContents.openDevTools()to specify the DevTools window title. #39047
  • Added partial support for chrome.tabs.query. #39330 (Also in 25, 26)
  • Added support for --dns-result-order Node.js cli flag. #39376 (Also in 25, 26)
  • Added support for customization of the default math font along with other fonts. #38514
  • Added support for flagging a Menu as being keyboard initiated. #38903 (Also in 26)
  • Added support for several more Node.js cli flags in the main process. #39344 (Also in 24, 25, 26)
  • Added the ability to send HTTP headers with session.downloadURL(). #38785 (Also in 25, 26)
  • BrowserWindow.getBrowserView() started to guarantee returning z-index sorted array. #38943
  • BrowserWindow.showAllTabs api added. #38965
  • Support Chrome Extensions minimum_chrome_version manifest key. #39256 (Also in 26)
  • The ipcRenderer.sendTo() API has been deprecated in favor of sharing a MessageChannel between two renderers. #39091
  • node: prefixed requires are now supported in sandboxed renderer preloads for events, timers and url. #38567 (Also in 24, 25, 26)
  • Fixes:
  • Added transparent color support for WCO on Windows. #38693 (Also in 25, 26)
  • Fixed clipboard.readImage() getting blocked when there is no PNG image in the clipboard. #39466 (Also in 26)
  • Fixed desktopCapturer thumbnail generation after screen sharing is cancelled on Wayland. #39194 (Also in 25, 26)
  • Fixed preload script may not run in some child windows opened by window.open. #38910 (Also in 23, 24, 25, 26)
  • Fixed webContents.printToPDF preferCSSPageSize type error. #38761 (Also in 24, 25, 26)
  • Fixed a crash calling nativeImage.resize() before the app ready event. #38836 (Also in 26)
  • Fixed a crash in. #39069 (Also in 26)
  • Fixed a crash seen when trying to change nativeTheme source during mara context menu close. #38824 (Also in 25, 26)
  • Fixed a crash when listing desktop capture sources on Wayland with PipeWire. #38833 (Also in 23, 24, 25, 26)
  • Fixed a potential crash calling BrowserWindow.removeBrowserView() with a destroyed webContents. #38842 (Also in 24, 25, 26)
  • Fixed a potential crash when calling BrowserWindow.moveTop() on modal child windows. #39499 (Also in 24, 25, 26)
  • Fixed a potential crash when calling tray.popUpContextMenu on macOS. #39231 (Also in 26)
  • Fixed a potential crash when re-parenting a BrowserWindow whose first parent has been destroyed. #39062 (Also in 26)
  • Fixed a rare crash when closing active native tab on macOS. #39394 (Also in 25, 26)
  • Fixed a redundant permission popup while fetching screens and windows using desktopCapturer.getSources() on Wayland. #39111 (Also in 26)
  • Fixed an accessibility issue where VoiceOver couldn't trigger the tray action when selected to emit the click event. #39352 (Also in 26)
  • Fixed an error with webContents.print parameter validation by adding missing options required to set printer printable area. #38614 (Also in 25, 26)
  • Fixed an issue on Windows 10 where the title bar was not correct after changing native theme. #39287 (Also in 25, 26)
  • Fixed an issue where popups are positions incorrectly in BrowserViews. #38489 (Also in 23, 24, 25, 26)
  • Fixed an issue where BrowserWindow.moveAbove() and BrowserWindow.moveTop() did not work for child windows on macOS. #39034 (Also in 24, 25, 26)
  • Fixed an issue where browserView.removeBrowserView could cause a crash in some cases. #39387 (Also in 24, 25, 26)
  • Fixed an issue where chrome.i18n did not work properly with Chrome Extensions Manifest V3. #39291 (Also in 24, 25, 26)
  • Fixed an issue where chrome.tabs.update did not return a tab object that properly reflected potential properties that were changed. #39365 (Also in 25, 26)
  • Fixed an issue where chrome://gpu failed to load. #39583 (Also in 26)
  • Fixed an issue where protocol.handle() never called its callback with the 'file' scheme. #39048 (Also in 25, 26)
  • Fixed an issue where webContents.print() stopped triggering its callback when the user cancelled the print dialog. #38709 (Also in 25, 26)
  • Fixed an issue where window.open can interfere with various aspects of Node.js functionality. #38754
  • Fixed an issue where certain Electron classes had incorrect prototype class names. #39006 (Also in 25, 26)
  • Fixed an issue where files could in some circumstances be selection when openFile was not passed as a dialog property. #38557 (Also in 24, 25, 26)
  • Fixed an issue where macOS traffic lights could malfunction on child windows in some circumstances. #39225 (Also in 24, 25, 26)
  • Fixed an issue where non-resizable windows incorrectly enabled the fullscreen/maximize button on initial window creation on macOS. #39086 (Also in 24, 25, 26)
  • Fixed an issue where notifications created on macOS which have no actions will erroneously have a Show button visible. #38997 (Also in 24, 25, 26)
  • Fixed an issue where passing webContents.print(null) could incorrectly trigger an error. #38612 (Also in 24, 25, 26)
  • Fixed an issue where printing on Windows could trigger a crash. #38976 (Also in 25, 26)
  • Fixed an issue where removing a webview in a close callback could cause crashes. #38996 (Also in 24, 25, 26)
  • Fixed an issue where service workers could not run Chrome APIs in Chrome Extensions Manifest V3. #39290 (Also in 25, 26)
  • Fixed an issue where the pageVisibility API returned incorrect values in some situations when backgroundThrottling was disabled. #39223 (Also in 25, 26)
  • Fixed an issue with webContents.print({ silent: true }) not working correctly. #38741 (Also in 25, 26)
  • Fixed an issue with potential use-after-free of child windows on close and reparent. #38603 (Also in 24, 25, 26)
  • Fixed an issue with the application menu overlapping menu items on Windows 11. #38998 (Also in 25, 26)
  • Fixed asar integration for node:child_process imports. #38742 (Also in 24, 25, 26)
  • Fixed crash in message ports when utility process exits. #39335 (Also in 25, 26)
  • Fixed decorations for tiled windows on Wayland. #39570 (Also in 22, 24, 25, 26)
  • Fixed display of title bar buttons on Wayland. #39003 (Also in 25, 26)
  • Fixed minimize button to be visible when all buttons reenabled. #38860 (Also in 23, 24, 25)
  • Fixed potential invalid protocol error handling. #38587 (Also in 25, 26)
  • Fixed problem with promise resolved to early when browser intendent in-page navigation. #39260
  • Fixed visibility of menu bar when exiting full screen. #38599 (Also in 23, 24, 25, 26)
  • Notes: Fixes an issue where chrome.tabs did not work properly with Chrome Extensions Manifest V3. #39317 (Also in 25, 26)
  • Other Changes:
  • The enable_osr build flag has been removed. #38703
  • The enable_picture_in_picture build flag has been removed. #38620
  • The enable_run_as_node build flag has been removed in favor of the runAsNode fuse. #38413
  • The senderId and senderIsMainFrame properties of IpcRendererEvent have been deprecated. #39381
  • The systemPreferences.getAppLevelAppearance and systemPreferences.setAppLevelAppearance APIs have been deprecated, as well as the alternate-selected-control-text value for systemPreferences.getColor. #39343 (Also in 26)
  • The webContents.getPrinters API has been deprecated. #39356 (Also in 26)
  • The deprecated color scheme changed events in systemPreferences have been removed. #39341
  • Updated Chromium to 118.0.5949.0. #39505
  • Updated Node.js to v18.17.1. #39457
  • Unknown:
  • Fixed an issue where setting bounds on BrowserViews can behave inconsistently across platforms. #38981 (Also in 25, 26)

New in Electron 27.0.0 Alpha 1 (Aug 17, 2023)

  • Features:
  • Added safeStorage.setUsePlainTextEncryption and safeStorage.getSelectedStorageBackend api. #38873 (Also in 25, 26)
  • Added senderIsMainFrame to messages sent via ipcRenderer.sendTo(). #38868 (Also in 24, 25, 26)
  • Added a title parameter to webContents.openDevTools()to specify the DevTools window title. #39047
  • Added partial support for chrome.tabs.query. #39330 (Also in 25, 26)
  • Added support for --dns-result-order Node.js cli flag. #39376 (Also in 25, 26)
  • Added support for customization of the default math font along with other fonts. #38514
  • Added support for flagging a Menu as being keyboard initiated. #38903 (Also in 26)
  • Added support for several more Node.js cli flags in the main process. #39344 (Also in 24, 25, 26)
  • Added the ability to send HTTP headers with session.downloadURL(). #38785 (Also in 25, 26)
  • BrowserWindow.getBrowserView() started to guarantee returning z-index sorted array. #38943
  • BrowserWindow.showAllTabs api added. #38965
  • Support Chrome Extensions minimum_chrome_version manifest key. #39256 (Also in 26)
  • The ipcRenderer.sendTo() API has been deprecated in favor of sharing a MessageChannel between two renderers. #39091
  • node: prefixed requires are now supported in sandboxed renderer preloads for events, timers and url. #38567 (Also in 24, 25, 26)
  • Fixes:
  • Added transparent color support for WCO on Windows. #38693 (Also in 25, 26)
  • Fixed clipboard.readImage() getting blocked when there is no PNG image in the clipboard. #39466 (Also in 26)
  • Fixed desktopCapturer thumbnail generation after screen sharing is cancelled on Wayland. #39194 (Also in 25, 26)
  • Fixed preload script may not run in some child windows opened by window.open. #38910 (Also in 23, 24, 25, 26)
  • Fixed webContents.printToPDF preferCSSPageSize type error. #38761 (Also in 24, 25, 26)
  • Fixed a crash calling nativeImage.resize() before the app ready event. #38836 (Also in 26)
  • Fixed a crash in. #39069 (Also in 26)
  • Fixed a crash seen when trying to change nativeTheme source during mara context menu close. #38824 (Also in 25, 26)
  • Fixed a crash when listing desktop capture sources on Wayland with PipeWire. #38833 (Also in 23, 24, 25, 26)
  • Fixed a potential crash calling BrowserWindow.removeBrowserView() with a destroyed webContents. #38842 (Also in 24, 25, 26)
  • Fixed a potential crash when calling BrowserWindow.moveTop() on modal child windows. #39499 (Also in 24, 25, 26)
  • Fixed a potential crash when calling tray.popUpContextMenu on macOS. #39231 (Also in 26)
  • Fixed a potential crash when re-parenting a BrowserWindow whose first parent has been destroyed. #39062 (Also in 26)
  • Fixed a rare crash when closing active native tab on macOS. #39394 (Also in 25, 26)
  • Fixed a redundant permission popup while fetching screens and windows using desktopCapturer.getSources() on Wayland. #39111 (Also in 26)
  • Fixed an accessibility issue where VoiceOver couldn't trigger the tray action when selected to emit the click event. #39352 (Also in 26)
  • Fixed an error with webContents.print parameter validation by adding missing options required to set printer printable area. #38614 (Also in 25, 26)
  • Fixed an issue on Windows 10 where the title bar was not correct after changing native theme. #39287 (Also in 25, 26)
  • Fixed an issue where popups are positions incorrectly in BrowserViews. #38489 (Also in 23, 24, 25, 26)
  • Fixed an issue where BrowserWindow.moveAbove() and BrowserWindow.moveTop() did not work for child windows on macOS. #39034 (Also in 24, 25, 26)
  • Fixed an issue where browserView.removeBrowserView could cause a crash in some cases. #39387 (Also in 24, 25, 26)
  • Fixed an issue where chrome.i18n did not work properly with Chrome Extensions Manifest V3. #39291 (Also in 24, 25, 26)
  • Fixed an issue where chrome.tabs.update did not return a tab object that properly reflected potential properties that were changed. #39365 (Also in 25, 26)
  • Fixed an issue where protocol.handle() never called its callback with the 'file' scheme. #39048 (Also in 25, 26)
  • Fixed an issue where webContents.print() stopped triggering its callback when the user cancelled the print dialog. #38709 (Also in 25, 26)
  • Fixed an issue where window.open can interfere with various aspects of Node.js functionality. #38754
  • Fixed an issue where certain Electron classes had incorrect prototype class names. #39006 (Also in 25, 26)
  • Fixed an issue where files could in some circumstances be selection when openFile was not passed as a dialog property. #38557 (Also in 24, 25, 26)
  • Fixed an issue where macOS traffic lights could malfunction on child windows in some circumstances. #39225 (Also in 24, 25, 26)
  • Fixed an issue where non-resizable windows incorrectly enabled the fullscreen/maximize button on initial window creation on macOS. #39086 (Also in 24, 25, 26)
  • Fixed an issue where notifications created on macOS which have no actions will erroneously have a Show button visible. #38997 (Also in 24, 25, 26)
  • Fixed an issue where passing webContents.print(null) could incorrectly trigger an error. #38612 (Also in 24, 25, 26)
  • Fixed an issue where printing on Windows could trigger a crash. #38976 (Also in 25, 26)
  • Fixed an issue where removing a webview in a close callback could cause crashes. #38996 (Also in 24, 25, 26)
  • Fixed an issue where service workers could not run Chrome APIs in Chrome Extensions Manifest V3. #39290 (Also in 25, 26)
  • Fixed an issue where the pageVisibility API returned incorrect values in some situations when backgroundThrottling was disabled. #39223 (Also in 25, 26)
  • Fixed an issue with webContents.print({ silent: true }) not working correctly. #38741 (Also in 25, 26)
  • Fixed an issue with potential use-after-free of child windows on close and reparent. #38603 (Also in 24, 25, 26)
  • Fixed an issue with the application menu overlapping menu items on Windows 11. #38998 (Also in 25, 26)
  • Fixed asar integration for node:child_process imports. #38742 (Also in 24, 25, 26)
  • Fixed crash in message ports when utility process exits. #39335 (Also in 25, 26)
  • Fixed display of title bar buttons on Wayland. #39003 (Also in 25, 26)
  • Fixed minimize button to be visible when all buttons reenabled. #38860 (Also in 23, 24, 25)
  • Fixed potential invalid protocol error handling. #38587 (Also in 25, 26)
  • Fixed problem with promise resolved to early when browser intendent in-page navigation. #39260
  • Fixed visibility of menu bar when exiting full screen. #38599 (Also in 23, 24, 25, 26)
  • Notes: Fixes an issue where chrome.tabs did not work properly with Chrome Extensions Manifest V3. #39317 (Also in 25, 26)
  • Other Changes:
  • The enable_osr build flag has been removed. #38703
  • The enable_picture_in_picture build flag has been removed. #38620
  • The enable_run_as_node build flag has been removed in favor of the runAsNode fuse. #38413
  • The senderId and senderIsMainFrame properties of IpcRendererEvent have been deprecated. #39381
  • The systemPreferences.getAppLevelAppearance and systemPreferences.setAppLevelAppearance APIs have been deprecated, as well as the alternate-selected-control-text value for systemPreferences.getColor. #39343 (Also in 26)
  • The webContents.getPrinters API has been deprecated. #39356 (Also in 26)
  • The deprecated color scheme changed events in systemPreferences have been removed. #39341
  • Updated Chromium to 118.0.5949.0. #39505
  • Updated Node.js to v18.17.1. #39457
  • Unknown:
  • Fixed an issue where setting bounds on BrowserViews can behave inconsistently across platforms. #38981 (Also in 25, 26)

New in Electron 26.0.0 (Aug 16, 2023)

  • 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

New in Electron 25.5.0 (Aug 10, 2023)

  • Features:
  • Added safeStorage.setUsePlainTextEncryption and safeStorage.getSelectedStorageBackend api. #39325 (Also in 26)
  • Fixes:
  • Fixed a rare crash when closing active native tab on macOS. #39409 (Also in 26)
  • Fixed an issue where browserView.removeBrowserView could cause a crash in some cases. #39408 (Also in 24, 26)
  • Fixed an issue where chrome.tabs.update did not return a tab object that properly reflected potential properties that were changed. #39388 (Also in 26)
  • Fixed crash in message ports when utility process exits. #39345 (Also in 26)
  • Notes: Fixes an issue where chrome.tabs did not work properly with Chrome Extensions Manifest V3. #39359 (Also in 26)
  • Other Changes:
  • Updated Chromium to 114.0.5735.289. #39351

New in Electron 26.0.0 Beta 12 (Aug 8, 2023)

  • Fixes:
  • 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 crash in message ports when utility process exits. #39346 (Also in 25)
  • Notes: Fixes an issue where chrome.tabs did not work properly with Chrome Extensions Manifest V3. #39360 (Also in 25)
  • Other Changes:
  • Updated Chromium to 116.0.5845.62. #39366

New in Electron 26.0.0 Beta 11 (Aug 4, 2023)

  • Fixes:
  • Fixed a potential crash when calling tray.popUpContextMenu on macOS. #39313
  • 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 chrome.i18n did not work properly with Chrome Extensions Manifest V3. #39328 (Also in 25)
  • Fixed an issue where service workers could not run Chrome APIs in Chrome Extensions Manifest V3. #39310 (Also in 25)

New in Electron 25.4.0 (Aug 3, 2023)

  • Features:
  • Added senderIsMainFrame to messages sent via ipcRenderer.sendTo(). #39208 (Also in 24, 26)
  • Fixes:
  • Fixed a potential crash when re-parenting a BrowserWindow whose first parent has been destroyed. #39308 (Also in 26)
  • Fixed an issue on Windows 10 where the title bar was not correct after changing native theme. #39314 (Also in 26)
  • Fixed an issue where chrome.i18n did not work properly with Chrome Extensions Manifest V3. #39329 (Also in 26)
  • Fixed an issue where service workers could not run Chrome APIs in Chrome Extensions Manifest V3. #39312 (Also in 26)
  • Fixed an issue where the pageVisibility API returned incorrect values in some situations when backgroundThrottling was disabled. #39299 (Also in 26)
  • Other Changes:
  • Fixed a crash while screen sharing on Wayland with PipeWire. #39270
  • Security: backported fix for 1444438.
  • Security: backported fix for CVE-2023-3732.
  • Security: backported fix for CVE-2023-3728.
  • Security: backported fix for CVE-2023-3730. #39266

New in Electron 26.0.0 Beta 10 (Aug 2, 2023)

  • Fixes:
  • Fixed a potential crash when re-parenting a BrowserWindow whose first parent has been destroyed. #39297
  • Fixed an issue where the pageVisibility API returned incorrect values in some situations when backgroundThrottling was disabled. #39298 (Also in 25)
  • Other Changes:
  • Fixed a crash while screen sharing on Wayland with PipeWire. #39264
  • Updated Chromium to 116.0.5845.49. #39259

New in Electron 26.0.0 Beta 9 (Jul 30, 2023)

  • Features:
  • Added senderIsMainFrame to messages sent via ipcRenderer.sendTo(). #39206 (Also in 24, 25)

New in Electron 26.0.0 Beta 8 (Jul 28, 2023)

  • Fixes:
  • Fixed desktopCapturer thumbnail generation after screen sharing is cancelled on Wayland. #39246 (Also in 25)
  • Fixed a redundant permission popup while fetching screens and windows using desktopCapturer.getSources() on Wayland. #39189
  • Fixed an issue where macOS traffic lights could malfunction on child windows in some circumstances. #39242 (Also in 24, 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 asar integration for node:child_process imports. #39234 (Also in 24, 25)
  • Other Changes:
  • Updated Chromium to 116.0.5845.42. #39106

New in Electron 25.3.2 (Jul 27, 2023)

  • Fixes:
  • Fixed desktopCapturer thumbnail generation after screen sharing is cancelled on Wayland. #39245 (Also in 26)
  • Fixed an issue where macOS traffic lights could malfunction on child windows in some circumstances. #39244 (Also in 24, 26)
  • Fixed an issue where non-resizable windows incorrectly enabled the fullscreen/maximize button on initial window creation on macOS. #39228 (Also in 24, 26)
  • Fixed asar integration for node:child_process imports. #39235 (Also in 24, 26)
  • Other Changes:
  • Updated Chromium to 114.0.5735.248. #39181

New in Electron 26.0.0 Beta 6 (Jul 21, 2023)

  • Features:
  • Added safeStorage.setUsePlainTextEncryption and safeStorage.getSelectedStorageBackend api. #39155
  • Fixes:
  • Fixed an issue where BrowserWindow.moveAbove() and BrowserWindow.moveTop() did not work for child windows on macOS. #39070 (Also in 24, 25)
  • Other Changes:
  • Updated Node.js to v18.16.1 to address security fixes. #39066

New in Electron 25.3.1 (Jul 20, 2023)

  • Fixes:
  • Fixed an issue where BrowserWindow.moveAbove() and BrowserWindow.moveTop() did not work for child windows on macOS. #39071 (Also in 24, 26)
  • Fixed an issue where files could in some circumstances be selection when openFile was not passed as a dialog property. #39096 (Also in 24, 26)
  • Fixed an issue with webContents.print({ silent: true }) not working correctly. #39095 (Also in 26)
  • Fixed an issue with the application menu overlapping menu items on Windows 11. #39099 (Also in 26)
  • Other Changes:
  • Updated Chromium to 114.0.5735.243. #39146

New in Electron 26.0.0 Beta 5 (Jul 18, 2023)

  • Features:
  • Added safeStorage.setUsePlainTextEncryption and safeStorage.getSelectedStorageBackend api. #39107
  • Fixes:
  • Fixed a crash in. #39101
  • Fixed an issue where protocol.handle() never called its callback with the 'file' scheme. #39065 (Also in 25)

New in Electron 25.3.0 (Jul 13, 2023)

  • Features:
  • Added the ability to send HTTP headers with session.downloadURL(). #38870 (Also in 26)
  • Fixes:
  • Fixed a crash when listing desktop capture sources on Wayland with PipeWire. #39051 (Also in 24, 26)
  • Fixed an issue where protocol.handle() never called its callback with the 'file' scheme. #39064
  • Fixed an issue where certain Electron classes had incorrect prototype class names. #39035 (Also in 26)
  • Fixed an issue where notifications created on macOS which have no actions will erroneously have a Show button visible. #39014 (Also in 24, 26)
  • Fixed an issue where removing a webview in a close callback could cause crashes. #39008 (Also in 24, 26)
  • Fixed display of title bar buttons on Wayland. #39044 (Also in 26)
  • Unknown:
  • Fixed an issue where setting bounds on BrowserViews can behave inconsistently across platforms. #39005 (Also in 26)

New in Electron 26.0.0 Beta 4 (Jul 12, 2023)

  • Fixes:
  • Fixed a crash when listing desktop capture sources on Wayland with PipeWire. #39049 (Also in 24, 25)
  • Fixed an issue where certain Electron classes had incorrect prototype class names. #39036 (Also in 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 printing on Windows could trigger a crash. #39039
  • Fixed an issue where removing a webview in a close callback could cause crashes. #39007 (Also in 24, 25)
  • Fixed an issue with the application menu overlapping menu items on Windows 11. #39010
  • Fixed display of title bar buttons on Wayland. #39045 (Also in 25)
  • Unknown:
  • Fixed an issue where setting bounds on BrowserViews can behave inconsistently across platforms. #39004 (Also in 25)

New in Electron 26.0.0 Beta 3 (Jul 7, 2023)

  • Features:
  • Added support for flagging a Menu as being keyboard initiated. #38954

New in Electron 26.0.0 Beta 2 (Jul 7, 2023)

  • Fixes:
  • Fixed preload script may not run in some child windows opened by window.open. #38930 (Also in 23, 24, 25)
  • Other Changes:
  • Updated Chromium to 116.0.5845.4. #38826

New in Electron 26.0.0 Beta 1 (Jun 27, 2023)

  • Features:
  • Added the ability to send HTTP headers with session.downloadURL(). #38871
  • Fixes:
  • Fixed a crash calling nativeImage.resize() before the app ready event. #38861
  • Fixed a crash seen when trying to change nativeTheme source during mara context menu close. #38840 (Also in 25)
  • Fixed a potential crash calling BrowserWindow.removeBrowserView() with a destroyed webContents. #38885 (Also in 24, 25)
  • Fixed an issue with webContents.print({ silent: true }) not working correctly. #38812
  • Other Changes:
  • Updated Chromium to 116.0.5845.0. #38893

New in Electron 26.0.0 Alpha 8 (Jun 23, 2023)

  • Features:
  • Added the ability to send HTTP headers with session.downloadURL(). #38871
  • Fixes:
  • Fixed a crash calling nativeImage.resize() before the app ready event. #38861
  • Fixed a crash seen when trying to change nativeTheme source during mara context menu close. #38840 (Also in 25)
  • Fixed a potential crash calling BrowserWindow.removeBrowserView() with a destroyed webContents. #38885 (Also in 24, 25)
  • Fixed an issue with webContents.print({ silent: true }) not working correctly. #38812
  • Other Changes:
  • Updated Chromium to 116.0.5845.0. #38893

New in Electron 25.2.0 (Jun 22, 2023)

  • Features:
  • node: prefixed requires are now supported in sandboxed renderer preloads for events, timers and url. #38729 (Also in 24, 26)
  • Fixes:
  • Fixed webContents.printToPDF preferCSSPageSize type error. #38791 (Also in 24, 26)
  • Fixed a crash seen when trying to change nativeTheme source during mara context menu close. #38839 (Also in 26)
  • Fixed an issue where webContents.print() stopped triggering its callback when the user cancelled the print dialog. #38814 (Also in 26)
  • Other Changes:
  • Updated Chromium to 114.0.5735.134. #38782

New in Electron 26.0.0 Alpha 7 (Jun 22, 2023)

  • Features:
  • node: prefixed requires are now supported in sandboxed renderer preloads for events, timers and url. #38728 (Also in 24, 25)
  • Fixes:
  • Fixed webContents.printToPDF preferCSSPageSize type error. #38793 (Also in 24, 25)
  • Other Changes:
  • Updated Chromium to 116.0.5831.0. #38783

New in Electron 26.0.0 Alpha 6 (Jun 22, 2023)

  • Fixes:
  • Added transparent color support for WCO on Windows. #38716 (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 issue where webContents.print() stopped triggering its callback when the user cancelled the print dialog. #38735
  • Other Changes:
  • Updated Chromium to 116.0.5817.0. #38546

New in Electron 26.0.0 Alpha 5 (Jun 10, 2023)

  • Fixes:
  • Fixed an issue where passing webContents.print(null) could incorrectly trigger an error. #38641 (Also in 24, 25)
  • Fixed an issue with potential use-after-free of child windows on close and reparent. #38679 (Also in 25)
  • Fixed potential invalid protocol error handling. #38635 (Also in 25)
  • Fixed visibility of menu bar when exiting full screen. #38683

New in Electron 25.1.0 (Jun 8, 2023)

  • Features:
  • Added setUSBProtectedClassesHandler to allow access to protected USB classes with WebUSB. #38493 (Also in 24)
  • Added setUSBProtectedClassesHandler to allow access to protected USB classes with WebUSB. #38493 (Also in 24)
  • Fixes:
  • Fixed an issue where popups are positions incorrectly in BrowserViews. #38609 (Also in 23, 24, 26)
  • Other Changes:
  • Improved error message when contentTracing.stopRecording() fails because no trace was in progress. #38519 (Also in 23, 24)
  • Updated Chromium to 114.0.5735.91. #38516

New in Electron 25.0.1 (Jun 7, 2023)

  • Fixes:
  • Fixed potential issues when minimizing parent windows with non-modal children on macOS. #38509 (Also in 24)
  • Other Changes:
  • Fixed an issue where mksnapshot would crash with a sigbus error. #38510

New in Electron 26.0.0 Alpha 4 (Jun 7, 2023)

  • Fixes:
  • Fixed an issue where popups are positions incorrectly in BrowserViews. #38610 (Also in 23, 24, 25)

New in Electron 26.0.0 Alpha 3 (Jun 6, 2023)

  • Fixes:
  • Fixed an issue where files could in some circumstances be selection when openFile was not passed as a dialog property. #38590

New in Electron 26.0.0 Alpha 2 (Jun 4, 2023)

  • Features:
  • 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 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 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)
  • Surface the context-menu event from extensions. #38029 (Also in 25)
  • Fixes:
  • Added about panel for menu role about on Linux as well. #37828 (Also in 23, 24, 25)
  • Ensured that Electron's custom AXManualAccessibility attribute works as expected in all relevant protocol methods. #38142 (Also in 23, 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 an issue on Linux where menus would not open after resizing/maximizing/unmaximizing a window. #37798 (Also in 23, 24, 25)
  • Fixed an issue where Windows FrameViews always appeared inactive regardless of focus status. #38468 (Also in 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 MediaStreamTrack.getCaptureHandle() always returned null. #38390 (Also in 24, 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
  • 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 calls to window.setKiosk(false) would exit fullscreen regardless of the fullscreen state prior to kiosk mode. #38219
  • 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 the 'swipe' event wasn't being emitted properly on macOS. #37946 (Also in 24, 25)
  • Fixed an issue which made defaultFontFamily in webPreferences have no effect. #37863 (Also in 22, 23, 24, 25)
  • Fixed an perceived failure when when using Accessibility attribute AXManualAccessibility to enable a11y features in Electron. #38102 (Also in 23, 24, 25)
  • Fixed broken defaults in shell.openExternal() options. #38038 (Also in 22, 23, 24, 25)
  • Fixed crash when executing eval in the utility process. #38014 (Also in 22, 23, 24, 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)
  • Other Changes:
  • Backported fix for 1404797. #38323 (Also in 25)
  • Fixed a console error seen when loading PDFs. #38127 (Also in 25)
  • Fixed an error seen in the Top Level Windows section of chrome://accessibility. #38179 (Also in 25)
  • Fixed an issue where mksnapshot would crash with a sigbus error. #38490 (Also in 25)
  • Improved error message when contentTracing.stopRecording() fails because no trace was in progress. #38488 (Also in 24, 25)
  • The enable_desktop_capturer build flag has been removed. #38412
  • Updated Chromium to 116.0.5791.0. #38448
  • Updated Node.js to v18.16.0. #37973
  • Documentation:
  • Documentation changes: #37955, #38035

New in Electron 26.0.0 Alpha 1 (Jun 2, 2023)

  • Features:
  • 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 setUSBProtectedClassesHandler to allow access to protected USB classes with WebUSB. #38263
  • 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 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)
  • Surface the context-menu event from extensions. #38029 (Also in 25)
  • Fixes:
  • Added about panel for menu role about on Linux as well. #37828 (Also in 23, 24, 25)
  • Ensured that Electron's custom AXManualAccessibility attribute works as expected in all relevant protocol methods. #38142 (Also in 23, 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 an issue on Linux where menus would not open after resizing/maximizing/unmaximizing a window. #37798 (Also in 23, 24, 25)
  • Fixed an issue where Windows FrameViews always appeared inactive regardless of focus status. #38468 (Also in 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 MediaStreamTrack.getCaptureHandle() always returned null. #38390 (Also in 24, 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
  • 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 calls to window.setKiosk(false) would exit fullscreen regardless of the fullscreen state prior to kiosk mode. #38219
  • 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 the 'swipe' event wasn't being emitted properly on macOS. #37946 (Also in 24, 25)
  • Fixed an issue which made defaultFontFamily in webPreferences have no effect. #37863 (Also in 22, 23, 24, 25)
  • Fixed an perceived failure when when using Accessibility attribute AXManualAccessibility to enable a11y features in Electron. #38102 (Also in 23, 24, 25)
  • Fixed broken defaults in shell.openExternal() options. #38038 (Also in 22, 23, 24, 25)
  • Fixed crash when executing eval in the utility process. #38014 (Also in 22, 23, 24, 25)
  • Fixed potential issues when minimizing parent windows with non-modal children on macOS. #38460 (Also in 24, 25)
  • Fixed recommended node-gyp version in node.h error. #37829 (Also in 22, 23, 24, 25)
  • Other Changes:
  • Backported fix for 1404797. #38323 (Also in 25)
  • Fixed a console error seen when loading PDFs. #38127 (Also in 25)
  • Fixed an error seen in the Top Level Windows section of chrome://accessibility. #38179 (Also in 25)
  • Fixed an issue where mksnapshot would crash with a sigbus error. #38490 (Also in 25)
  • Improved error message when contentTracing.stopRecording() fails because no trace was in progress. #38488
  • The enable_desktop_capturer build flag has been removed. #38412
  • Updated Chromium to 116.0.5791.0. #38448
  • Updated Node.js to v18.16.0. #37973
  • Documentation:
  • Documentation changes: #37955, #38035

New in Electron 25.0.0 (May 30, 2023)

  • Fixes:
  • Fixed an issue where Windows FrameViews always appeared inactive regardless of focus status. #38473
  • Fixed an issue where MediaStreamTrack.getCaptureHandle() always returned null. #38433 (Also in 24)
  • Other Changes:
  • Updated Chromium to 114.0.5735.45. #38447

New in Electron 24.4.0 (May 25, 2023)

  • Features:
  • Added several new cursor values to the cursor-changed event. #38364 (Also in 25)
  • Added support for Mica and Acrylic background effects on Windows. #38361 (Also in 25)
  • Fixes:
  • Fixed an issue where getNormalBounds() returns incorrect bounds for transparent maximized windows on Windows. #38349 (Also in 23, 25)
  • Other Changes:
  • Updated Chromium to 112.0.5615.204. #38350

New in Electron 25.0.0 Beta 8 (May 23, 2023)

  • Features:
  • Added support for Mica and Acrylic background effects on Windows. #38357 (Also in 24)
  • Expose webContents methods to center text selection, scroll to the page bottom and top, as well as adjust selected text. #38362
  • Surface the context-menu event from extensions. #38356
  • Other Changes:
  • Security: backported fix for 1437346.
  • Security: backported fix for 1439691.
  • Security: backported fix for CVE-2023-2724.
  • Security: backported fix for CVE-2023-2723.
  • Security: backported fix for 1425115.
  • Security: backported fix for 1431761.
  • Security: backported fix for CVE-2023-2725.
  • Security: backported fix for CVE-2023-2721. #38329
  • Updated Chromium to 114.0.5735.35. #38320

New in Electron 25.0.0 Beta 7 (May 19, 2023)

  • Features:
  • Added several new cursor values to the cursor-changed event. #38363
  • Fixes:
  • Fixed an issue where BrowserWindow.isMaximized() could incorrectly return true for minimized or fullscreened windows on macOS. #38307 (Also in 23, 24)
  • Fixed an issue where BrowserWindow.isVisible() would incorrectly return true for minimized windows on Windows. #38314 (Also in 23, 24)
  • Fixed an issue where getNormalBounds() returns incorrect bounds for transparent maximized windows on Windows. #38348
  • Fixed an issue where accessing BrowserWindow.id threw an error after the window was destroyed. #38311 (Also in 23, 24)
  • Fixed an issue where calling win.minimize() directly after calling win.maximize(), and then calling win.isMaximized() incorrectly returns true. #38345 (Also in 23, 24)
  • Other Changes:
  • Backported fix for 1404797. #38333

New in Electron 24.3.1 (May 18, 2023)

  • Fixes:
  • Fixed an issue where BrowserWindow.isMaximized() could incorrectly return true for minimized or fullscreened windows on macOS. #38308 (Also in 23, 25)
  • Fixed an issue where BrowserWindow.isVisible() would incorrectly return true for minimized windows on Windows. #38313 (Also in 23, 25)
  • Fixed an issue where accessing BrowserWindow.id threw an error after the window was destroyed. #38310 (Also in 23, 25)
  • Fixed an issue where calling win.minimize() directly after calling win.maximize(), and then calling win.isMaximized() incorrectly returns true. #38343 (Also in 23, 25)
  • Other Changes:
  • Security: backported fix for 1433328. #38271
  • Updated Chromium to 112.0.5615.183. #38319

New in Electron 25.0.0 Beta 5 (May 12, 2023)

  • Fixes:
  • Ensured that Electron's custom AXManualAccessibility attribute works as expected in all relevant protocol methods. #38223 (Also in 23, 24)
  • Fixed a potential crash when calling webContents.print with invalid settings. #38230
  • Other Changes:
  • Updated Chromium to 114.0.5735.16. #38118

New in Electron 24.3.0 (May 11, 2023)

  • Features:
  • Added net.resolveHost that resolves hosts using defaultSession object. #38153 (Also in 25)
  • Fixes:
  • Ensured that Electron's custom AXManualAccessibility attribute works as expected in all relevant protocol methods. #38224 (Also in 23, 25)

New in Electron 25.0.0 Beta 4 (May 10, 2023)

  • Fixes:
  • Ensured that Electron's custom AXManualAccessibility attribute works as expected in all relevant protocol methods. #38223 (Also in 23, 24)
  • Fixed a potential crash when calling webContents.print with invalid settings. #38230
  • Other Changes:
  • Updated Chromium to 114.0.5735.16. #38118

New in Electron 25.0.0 Beta 3 (May 9, 2023)

  • Features:
  • Added net.resolveHost that resolves hosts using defaultSession object. #38152 (Also in 24)
  • Other Changes:
  • Fixed an error seen in the Top Level Windows section of chrome://accessibility. #38211

New in Electron 25.0.0 Beta 2 (May 5, 2023)

  • Fixes:
  • Fixed an issue where default background color for windows might be incorrect. #38157 (Also in 23, 24)
  • Fixed an perceived failure when when using Accessibility attribute AXManualAccessibility to enable a11y features in Electron. #38146 (Also in 23, 24)
  • Other Changes:
  • Fixed a console error seen when loading PDFs. #38148

New in Electron 24.2.0 (May 4, 2023)

  • Features:
  • Added thermal management information to powerMonitor. #38027 (Also in 25)
  • Fixes:
  • Fixed a potential crash when right-clicking on macOS windows with draggable regions. #38136 (Also in 25)
  • Fixed an issue where default background color for windows might be incorrect. #38158 (Also in 25)
  • Fixed an perceived failure when when using Accessibility attribute AXManualAccessibility to enable a11y features in Electron. #38147 (Also in 23)

New in Electron 25.0.0 Beta 1 (May 2, 2023)

  • Fixes:
  • Fixed a potential crash when right-clicking on macOS windows with draggable regions. #38115 (Also in 24)

New in Electron 25.0.0 Alpha 6 (Apr 28, 2023)

  • Fixes:
  • Fixed a potential crash when right-clicking on macOS windows with draggable regions. #38115

New in Electron 24.1.3 (Apr 27, 2023)

  • Fixes:
  • Fixed broken defaults in shell.openExternal() options. #38072 (Also in 22, 23, 25)
  • Fixed crash when executing eval in the utility process. #38041 (Also in 23, 25)
  • Other Changes:
  • Security: backported fix for CVE-2023-2136. #38082
  • Updated Chromium to 112.0.5615.165. #38047

New in Electron 25.0.0 Alpha 5 (Apr 25, 2023)

  • Features:
  • Added new 'did-resign-active' event on app. #38018
  • Added thermal management information to powerMonitor. #38028
  • Fixes:
  • Fixed broken defaults in shell.openExternal() options. #38071 (Also in 22, 23, 24)
  • Fixed crash when executing eval in the utility process. #38039 (Also in 23, 24)
  • Other Changes:
  • Updated Chromium to 114.0.5719.0. #38034
  • Documentation:
  • Documentation changes: #38095

New in Electron 24.1.2 (Apr 15, 2023)

  • Fixes:
  • Fixed an issue on Linux where menus would not open after resizing/maximizing/unmaximizing a window. #37906 (Also in 23, 25)
  • Fixed an issue where the 'swipe' event wasn't being emitted properly on macOS. #37965 (Also in 25)
  • Fixed an issue which made defaultFontFamily in webPreferences have no effect. #37968 (Also in 22, 23, 25)
  • Other Changes:
  • Updated Chromium to 112.0.5615.87. #37974

New in Electron 25.0.0 Alpha 3 (Apr 15, 2023)

  • Fixes:
  • Fixed an issue where the 'swipe' event wasn't being emitted properly on macOS. #37966
  • Fixed recommended node-gyp version in node.h error. #37926 (Also in 22, 23, 24)
  • Other Changes:
  • Updated Chromium to 114.0.5710.0. #37957
  • Documentation:
  • Documentation changes: #37956

New in Electron 24.1.1 (Apr 13, 2023)

  • Fixes:
  • Fixed recommended node-gyp version in node.h error. #37927 (Also in 22, 23, 25)

New in Electron 25.0.0 Alpha 2 (Apr 12, 2023)

  • Features:
  • Added BrowserWindow.set/getWindowButtonPosition APIs. #37094
  • Added httpOnly to the cookie filter. #37255 (Also in 24)
  • Added logUsage to shell.openExternal() options, which allows passing the SEE_MASK_FLAG_LOG_USAGE flag to ShellExecuteEx on Windows. #37139 (Also in 24)
  • Added net.fetch(). #36733
  • Added protocol.handle, replacing and deprecating protocol.{register,intercept}{String,Buffer,Stream,Http,File}Protocol. #36674
  • Added types to webRequest filter. #30914 (Also in 24)
  • Added a will-frame-navigate event to webContents and the tag, which fires whenever any frame within the frame hierarchy attempts to navigate. #34418
  • Added initiator information to navigator events. #37085
  • Added several standard page size options to webContents.print(). #37159 (Also in 22, 23, 24)
  • Added the enableLocalEcho flag to the session handler ses.setDisplayMediaRequestHandler() callback for allowing remote audio input to be echoed in the local output stream when audio is a WebFrameMain. #37315 (Also in 23, 24)
  • Allows an absolute path to be passed to the session.fromPath() API. #37604
  • Changed net.fetch to support requests to file: URLs and custom protocols registered with protocol.register*Protocol. #36606
  • Exposes the audio-state-changed event on webContents. #37366
  • Feat: introduce session.resolveHost for resolving hostnames with Chromium's DNS resolver. #37690 (Also in 24)
  • Fixes:
  • Added about panel for menu role about on Linux as well. #37873 (Also in 23, 24)
  • Corrects an issue with HTML fullscreen when BrowserWindow fullscreening is disabled. #37348 (Also in 23, 24)
  • Fixed WebUSB on ARM64 macs. #37441 (Also in 23, 24)
  • Fixed destroyed event not emitted on close for BrowserView.webContents. #37420 (Also in 23, 24)
  • Fixed a crash on capturing sources when using desktopCapturer API on Wayland. #37511 (Also in 23, 24)
  • Fixed a crash when BrowserViews are present and a user attempts to prevent beforeunload in the renderer process. #37205 (Also in 22, 23, 24)
  • Fixed an incorrect result returned when using secure as a cookies filter. #37203 (Also in 22, 23, 24)
  • Fixed an issue on Linux where menus would not open after resizing/maximizing/unmaximizing a window. #37905
  • Fixed an issue on macOS where entering fullscreen with the Fn+F system shortcut would fail or create strange window side effects. #37803 (Also in 23, 24)
  • Fixed an issue where BroadcastChannel did not work correctly when contextIsolation: false. #37421 (Also in 23, 24)
  • Fixed an issue where minWidth/minHeight and maxWidth/maxHeight would not be enforced if the user set an aspectRatio on macOS. #37306 (Also in 22, 23, 24)
  • Fixed an issue where calling port.postMessage in MessagePortMain with some invalid parameters could cause a crash. #37585 (Also in 22, 23, 24)
  • Fixed an issue where certain buttons in the PDF viewer didn't work. #37920 (Also in 24)
  • Fixed an issue where draggable regions incorrectly captured clicks in framed windows. #37594 (Also in 23, 24)
  • Fixed an issue where passing both hasReply and actions to a main process Notification on macOS resulted in the first action being obscured and unavailable. #37381 (Also in 22, 23, 24)
  • Fixed an issue where successfully loaded media documents emitted did-fail-load. #37824
  • Fixed an issue where unhandled rejections could cause duplicate logs in some cases. #37464 (Also in 22, 23, 24)
  • Fixed an issue with potential dock icon duplication on macOS. #37599 (Also in 22, 23, 24)
  • Fixed canceling of bluetooth requests when no devices are returned. #37601 (Also in 23, 24)
  • Fixed draggable regions not working in Mac App Store builds. #37466 (Also in 23, 24)
  • Fixed issue with BrowserWindow not updating after call to previewFile. #37530 (Also in 22, 23, 24)
  • Fixed potential private API usage for MAS builds on macOS. #37309 (Also in 23, 24)
  • Fixed right-click events not being delivered in frameless window draggable regions. #37386 (Also in 23, 24)
  • Fixed the active background color for top-level menu items on Windows. #37766 (Also in 23, 24)
  • Fixed window could not go back to maximized state when restored on Linux. #37346 (Also in 22, 23, 24)
  • Improved error messages on session.cookies.set failure. #37586 (Also in 22, 23, 24)
  • Security: Fixed an issue with Content-Security-Policy not being correctly enforced when sandbox: false and contextIsolation: false. (CVE-2023-23623). #37756 (Also in 24)
  • Setting the about panel's options no longer crashes. #37373 (Also in 24)
  • app.showAboutPanel() no longer blocks the main thread on Windows or Linux, thus matching macOS. #37440 (Also in 24)
  • Other Changes:
  • Improved error messages for contents.takeHeapSnapshot. #37434 (Also in 22, 23, 24)
  • Updated Chromium to 114.0.5694.0. #37820
  • Updated Node.js to v18.15.0. #37532
  • nativeImage.createThumbnailFromPath() now takes size instead of maxSize. #37362 (Also in 24)

New in Electron 25.0.0 Alpha 1 (Apr 10, 2023)

  • Features:
  • Added BrowserWindow.set/getWindowButtonPosition APIs. #37094
  • Added httpOnly to the cookie filter. #37255 (Also in 24)
  • Added logUsage to shell.openExternal() options, which allows passing the SEE_MASK_FLAG_LOG_USAGE flag to ShellExecuteEx on Windows. #37139 (Also in 24)
  • Added net.fetch(). #36733
  • Added protocol.handle, replacing and deprecating protocol.{register,intercept}{String,Buffer,Stream,Http,File}Protocol. #36674
  • Added types to webRequest filter. #30914 (Also in 24)
  • Added a will-frame-navigate event to webContents and the tag, which fires whenever any frame within the frame hierarchy attempts to navigate. #34418
  • Added initiator information to navigator events. #37085
  • Added several standard page size options to webContents.print(). #37159 (Also in 22, 23, 24)
  • Added the enableLocalEcho flag to the session handler ses.setDisplayMediaRequestHandler() callback for allowing remote audio input to be echoed in the local output stream when audio is a WebFrameMain. #37315 (Also in 23, 24)
  • Allows an absolute path to be passed to the session.fromPath() API. #37604
  • Changed net.fetch to support requests to file: URLs and custom protocols registered with protocol.register*Protocol. #36606
  • Exposes the audio-state-changed event on webContents. #37366
  • Feat: introduce session.resolveHost for resolving hostnames with Chromium's DNS resolver. #37690 (Also in 24)
  • Fixes:
  • Corrects an issue with HTML fullscreen when BrowserWindow fullscreening is disabled. #37348 (Also in 23, 24)
  • Fixed WebUSB on ARM64 macs. #37441 (Also in 23, 24)
  • Fixed destroyed event not emitted on close for BrowserView.webContents. #37420 (Also in 23, 24)
  • Fixed a crash on capturing sources when using desktopCapturer API on Wayland. #37511 (Also in 23, 24)
  • Fixed a crash when BrowserViews are present and a user attempts to prevent beforeunload in the renderer process. #37205 (Also in 22, 23, 24)
  • Fixed an incorrect result returned when using secure as a cookies filter. #37203 (Also in 22, 23, 24)
  • Fixed an issue on macOS where entering fullscreen with the Fn+F system shortcut would fail or create strange window side effects. #37803 (Also in 23, 24)
  • Fixed an issue where BroadcastChannel did not work correctly when contextIsolation: false. #37421 (Also in 23, 24)
  • Fixed an issue where minWidth/minHeight and maxWidth/maxHeight would not be enforced if the user set an aspectRatio on macOS. #37306 (Also in 22, 23, 24)
  • Fixed an issue where calling port.postMessage in MessagePortMain with some invalid parameters could cause a crash. #37585 (Also in 22, 23, 24)
  • Fixed an issue where draggable regions incorrectly captured clicks in framed windows. #37594 (Also in 23, 24)
  • Fixed an issue where passing both hasReply and actions to a main process Notification on macOS resulted in the first action being obscured and unavailable. #37381 (Also in 22, 23, 24)
  • Fixed an issue where successfully loaded media documents emitted did-fail-load. #37824
  • Fixed an issue where unhandled rejections could cause duplicate logs in some cases. #37464 (Also in 22, 23, 24)
  • Fixed an issue with potential dock icon duplication on macOS. #37599 (Also in 22, 23, 24)
  • Fixed canceling of bluetooth requests when no devices are returned. #37601 (Also in 23, 24)
  • Fixed draggable regions not working in Mac App Store builds. #37466 (Also in 23, 24)
  • Fixed issue with BrowserWindow not updating after call to previewFile. #37530 (Also in 22, 23, 24)
  • Fixed potential private API usage for MAS builds on macOS. #37309 (Also in 23, 24)
  • Fixed right-click events not being delivered in frameless window draggable regions. #37386 (Also in 23, 24)
  • Fixed the active background color for top-level menu items on Windows. #37766 (Also in 23, 24)
  • Fixed window could not go back to maximized state when restored on Linux. #37346 (Also in 22, 23, 24)
  • Improved error messages on session.cookies.set failure. #37586 (Also in 22, 23, 24)
  • Security: Fixed an issue with Content-Security-Policy not being correctly enforced when sandbox: false and contextIsolation: false. (CVE-2023-23623). #37756 (Also in 24)
  • Setting the about panel's options no longer crashes. #37373 (Also in 24)
  • app.showAboutPanel() no longer blocks the main thread on Windows or Linux, thus matching macOS. #37440 (Also in 24)
  • Other Changes:
  • Improved error messages for contents.takeHeapSnapshot. #37434 (Also in 22, 23, 24)
  • Updated Chromium to 114.0.5694.0. #37820
  • Updated Node.js to v18.15.0. #37532
  • nativeImage.createThumbnailFromPath() now takes size instead of maxSize. #37362 (Also in 24)

New in Electron 24.0.0 (Apr 10, 2023)

  • Breaking Changes:
  • nativeImage.createThumbnailFromPath() now takes size instead of maxSize. #37796
  • Features:
  • Added httpOnly to the cookie filter. #37365
  • Added logUsage to shell.openExternal() options, which allows passing the SEE_MASK_FLAG_LOG_USAGE flag to ShellExecuteEx on Windows. #37291
  • Added types to webRequest filter. #37427
  • Added several standard page size options to webContents.print(). #37265 (Also in 22, 23)
  • Added the enableLocalEcho flag to the session handler ses.setDisplayMediaRequestHandler() callback for allowing remote audio input to be echoed in the local output stream when audio is a WebFrameMain. #37528 (Also in 23)
  • Fixes:
  • Corrects an issue with HTML fullscreen when BrowserWindow fullscreening is disabled. #37368 (Also in 23)
  • Fixed WebUSB on ARM64 macs. #37522 (Also in 23)
  • Fixed destroyed event not emitted on close for BrowserView.webContents. #37450 (Also in 23)
  • Fixed a crash on capturing sources when using desktopCapturer API on Wayland. #37527 (Also in 23)
  • Fixed a crash when BrowserViews are present and a user attempts to prevent beforeunload in the renderer process. #37268 (Also in 22, 23)
  • Fixed an incorrect result returned when using secure as a cookies filter. #37246 (Also in 22, 23)
  • Fixed an issue where BroadcastChannel did not work correctly when contextIsolation: false. #37443 (Also in 23)
  • Fixed an issue where minWidth/minHeight and maxWidth/maxHeight would not be enforced if the user set an aspectRatio on macOS. #37456 (Also in 22, 23)
  • Fixed an issue where calling port.postMessage in MessagePortMain with some invalid parameters could cause a crash. #37726 (Also in 22, 23)
  • Fixed an issue where draggable regions incorrectly captured clicks in framed windows. #37741 (Also in 23)
  • Fixed an issue where passing both hasReply and actions to a main process Notification on macOS resulted in the first action being obscured and unavailable. #37449 (Also in 22, 23)
  • Fixed an issue where unhandled rejections could cause duplicate logs in some cases. #37500 (Also in 22, 23)
  • Fixed an issue with potential dock icon duplication on macOS. #37625 (Also in 22, 23)
  • Fixed canceling of bluetooth requests when no devices are returned. #37717 (Also in 23)
  • Fixed draggable regions not working in Mac App Store builds. #37474 (Also in 23)
  • Fixed issue with BrowserWindow not updating after call to previewFile. #37578 (Also in 22, 23)
  • Fixed potential private API usage for MAS builds on macOS. #37364 (Also in 23)
  • Fixed right-click events not being delivered in frameless window draggable regions. #37395 (Also in 23)
  • Fixed the active background color for top-level menu items on Windows. #37785
  • Fixed window could not go back to maximized state when restored on Linux. #37358 (Also in 22, 23)
  • Improved error messages on session.cookies.set failure. #37597 (Also in 22, 23)
  • Setting the about panel's options no longer crashes. #37442
  • app.showAboutPanel() no longer blocks the main thread on Windows or Linux, thus matching macOS. #37508
  • Other Changes:
  • Improved error messages for contents.takeHeapSnapshot. #37461 (Also in 22, 23)
  • Updated Chromium to 112.0.5615.49. Fixed performance regression. #37767
  • Documentation:
  • Documentation changes: #37288

New in Electron 24.0.0 Beta 6 (Mar 31, 2023)

  • Fixes:
  • Fixed an issue where calling port.postMessage in MessagePortMain with some invalid parameters could cause a crash. #37726 (Also in 22, 23)
  • Fixed an issue where draggable regions incorrectly captured clicks in framed windows. #37741
  • Fixed canceling of bluetooth requests when no devices are returned. #37717 (Also in 23)
  • Other Changes:
  • Updated Chromium to 112.0.5615.39. #37700

New in Electron 24.0.0 Beta 5 (Mar 26, 2023)

  • Fixes:
  • Fixed an issue with potential dock icon duplication on macOS. #37625 (Also in 22, 23)
  • Fixed issue with BrowserWindow not updating after call to previewFile. #37578 (Also in 22, 23)
  • Other Changes:
  • Updated Chromium to 112.0.5615.29. #37598

New in Electron 23.2.0 (Mar 23, 2023)

  • Features:
  • Added the enableLocalEcho flag to the session handler ses.setDisplayMediaRequestHandler() callback for allowing remote audio input to be echoed in the local output stream when audio is a WebFrameMain. #37529 (Also in 24)
  • Fixes:
  • Fixed an issue where BroadcastChannel did not work correctly when contextIsolation: false. #37444 (Also in 24)
  • Fixed an issue with potential dock icon duplication on macOS. #37624 (Also in 22, 24)
  • Fixed issue with BrowserWindow not updating after call to previewFile. #37577 (Also in 22, 24)
  • Improved error messages on session.cookies.set failure. #37596 (Also in 22, 24)

New in Electron 24.0.0 Beta 4 (Mar 22, 2023)

  • Features:
  • Added the enableLocalEcho flag to the session handler ses.setDisplayMediaRequestHandler() callback for allowing remote audio input to be echoed in the local output stream when audio is a WebFrameMain. #37528 (Also in 23)
  • Fixes:
  • Improved error messages on session.cookies.set failure. #37597 (Also in 22, 23)

New in Electron 23.1.4 (Mar 16, 2023)

  • Fixes:
  • Fixed an issue where unhandled rejections could cause duplicate logs in some cases. #37501 (Also in 22, 24)
  • Other Changes:
  • Updated Chromium to 110.0.5481.192. #37533

New in Electron 24.0.0 Beta 3 (Mar 15, 2023)

  • Updated Chromium to 112.0.5615.20. #37546

New in Electron 24.0.0 Beta 2 (Mar 10, 2023)

  • Fixes:
  • Fixed WebUSB on ARM64 macs. #37522 (Also in 23)
  • Fixed a crash on capturing sources when using desktopCapturer API on Wayland. #37527 (Also in 23)

New in Electron 23.1.3 (Mar 8, 2023)

  • Fixes:
  • Fixed WebUSB on ARM64 macs. #37521 (Also in 24)
  • Fixed a crash on capturing sources when using desktopCapturer API on Wayland. #37526
  • Other Changes:
  • Updated Chromium to 110.0.5481.179. #37471

New in Electron 24.0.0 Beta 1 (Mar 7, 2023)

  • Fixes:
  • Fixed an issue where unhandled rejections could cause duplicate logs in some cases. #37500
  • Fixed draggable regions not working in Mac App Store builds. #37474 (Also in 23)
  • app.showAboutPanel() no longer blocks the main thread on Windows or Linux, thus matching macOS. #37508
  • Other Changes:
  • Updated Chromium to 111.0.5563.50. #37223

New in Electron 23.1.2 (Mar 3, 2023)

  • Fixes:
  • Fixed destroyed event not emitted on close for BrowserView.webContents. #37451 (Also in 24)
  • Fixed an incorrect result returned when using secure as a cookies filter. #37248 (Also in 22, 24)
  • Fixed an issue where minWidth/minHeight and maxWidth/maxHeight would not be enforced if the user set an aspectRatio on macOS. #37457 (Also in 22, 24)
  • Fixed an issue where passing both hasReply and actions to a main process Notification on macOS resulted in the first action being obscured and unavailable. #37448 (Also in 22, 24)
  • Fixed draggable regions not working in Mac App Store builds. #37473 (Also in 24)
  • Fixed right-click events not being delivered in frameless window draggable regions. #37394 (Also in 24)
  • Other Changes:
  • Improved error messages for contents.takeHeapSnapshot. #37460 (Also in 22, 24)
  • Updated Chromium to 110.0.5481.177. #37389

New in Electron 24.0.0 Alpha 7 (Mar 3, 2023)

  • Features:
  • Added types to webRequest filter. #37427
  • Fixes:
  • Fixed destroyed event not emitted on close for BrowserView.webContents. #37450 (Also in 23)
  • Fixed an issue where BroadcastChannel did not work correctly when contextIsolation: false. #37443
  • Fixed an issue where minWidth/minHeight and maxWidth/maxHeight would not be enforced if the user set an aspectRatio on macOS. #37456 (Also in 22, 23)
  • Fixed an issue where passing both hasReply and actions to a main process Notification on macOS resulted in the first action being obscured and unavailable. #37449 (Also in 22, 23)
  • Setting the about panel's options no longer crashes. #37442
  • Other Changes:
  • Improved error messages for contents.takeHeapSnapshot. #37461 (Also in 22, 23)

New in Electron 24.0.0 Alpha 6 (Feb 28, 2023)

  • Features:
  • Added httpOnly to the cookie filter. #37365
  • Added logUsage to shell.openExternal() options, which allows passing the SEE_MASK_FLAG_LOG_USAGE flag to ShellExecuteEx on Windows. #37291
  • Fixes:
  • Fixed right-click events not being delivered in frameless window draggable regions. #37395 (Also in 23)

New in Electron 24.0.0 Alpha 5 (Feb 24, 2023)

  • Fixes:
  • Corrects an issue with HTML fullscreen when BrowserWindow fullscreening is disabled. #37368 (Also in 23)
  • Fixed potential private API usage for MAS builds on macOS. #37364 (Also in 23)
  • Fixed window could not go back to maximized state when restored on Linux. #37358 (Also in 22, 23)

New in Electron 23.1.1 (Feb 23, 2023)

  • Fixes:
  • Corrects an issue with HTML fullscreen when BrowserWindow fullscreening is disabled. #37367 (Also in 24)
  • Fixed potential private API usage for MAS builds on macOS. #37363 (Also in 24)
  • Fixed window could not go back to maximized state when restored on Linux. #37359 (Also in 24)
  • Other Changes:
  • Security: backported fix for chromium:1408392. #37297
  • Updated Chromium to 110.0.5481.104. #37333
  • Documentation:
  • Documentation changes: #37290

New in Electron 24.0.0 Alpha 4 (Feb 21, 2023)

  • Documentation:
  • Documentation changes: #37288

New in Electron 24.0.0 Alpha 3 (Feb 17, 2023)

  • Features:
  • Added label property to Display objects. #36855 (Also in 21, 22, 23)
  • Added a new devtools-open-url event to webContents to allow developers to open new windows with them. #36774
  • Added several standard page size options to webContents.print(). #37265 (Also in 22, 23)
  • Allow a application-specific username to be passed to inAppPurchase.purchaseProduct(). #35902
  • Exposed window.invalidateShadow() to clear residual visual artifacts on macOS. #32452
  • Whole-program optimization is enabled by default in electron node headers config file. #36937 (Also in 21, 22, 23)
  • SystemPreferences::CanPromptTouchID (macOS) now supports Apple Watch. #36935
  • Fixes:
  • Basic accessibility support is now enabled when macOS Voice Control is activated to allow for full voice control of Electron applications. #37122 (Also in 21, 22, 23)
  • Changed HTML5 Notifications created with the requireInteraction option to not timeout on Linux and Windows. #36477 (Also in 21, 22, 23)
  • ESM loads of CJS modules that have null exports no longer throw. #37009 (Also in 23)
  • Enabled support for WebAssembly.{compileStreaming|instantiateStreaming} in Node.js. #36420
  • Fixed a BrowserWindow maxWidth or maxHeight of 0 causing strange resizing behavior. #36487 (Also in 21, 22, 23)
  • Fixed a crash that could occur when running eval in inline scripts in unsandboxed renderer processes. #36567 (Also in 22, 23)
  • Fixed a crash when BrowserViews are present and a user attempts to prevent beforeunload in the renderer process. #37268 (Also in 22, 23)
  • Fixed a potential crash in some types of Worklets. #37050 (Also in 23)
  • Fixed a printing crash caused by an uninitialized pref. #37052 (Also in 23)
  • Fixed an RTL issue that could happen in some locales when calling BrowserWindow.setTrafficLightPosition() on macOS. #36839 (Also in 21, 22, 23)
  • Fixed an error when fs.readdir gets null for options. #34764 (Also in 21, 22, 23)
  • Fixed an incorrect result returned when using secure as a cookies filter. #37246 (Also in 22)
  • Fixed an issue on macOS when trying to switch processes with Cmd+Tab after exiting Kiosk Mode. #36854 (Also in 21, 22, 23)
  • Fixed an issue where elements were improperly positioned within the page. #36934 (Also in 23)
  • Fixed an issue where webViews could have an incorrect initial background color following reloads. #36920 (Also in 21, 22, 23)
  • Fixed an issue where some frameless windows with draggable regions were not resizable on Windows. #37016 (Also in 23)
  • Fixed an issue where the setPermissionRequestHandler callback would be invoked twice when using navigator.getUserMedia(...). #36787 (Also in 22, 23)
  • Fixed an issue with incorrect focus ring highlighting when using dialog.showMessageBox(). #36772 (Also in 21, 22, 23)
  • Fixed audio worklet scripts failing to run when nodeIntegrationInWorker: true. #37041 (Also in 22, 23)
  • Fixed binary stripping for branded release builds on Linux. #36641 (Also in 21, 22, 23)
  • Fixed missing headers in libcxx_headers bundle. #36863
  • Fixed net.request response headers missing Content-Type. #36666
  • Fixed tray icon not showing on desktop environments that have no support for app indicator. #36815 (Also in 22, 23)
  • Fixed warning about duplicate WebSwapCGLLayer symbols when Electron starts on macOS. #35961 (Also in 21, 22, 23)
  • Removed plugin helper checks on macOS gated behind enable_plugins buildflag. #36971 (Also in 22, 23)
  • Use the process cache to reduce the memory for asar file. #36600 (Also in 21, 22, 23)

New in Electron 24.0.0 Alpha 2 (Feb 17, 2023)

  • Features
  • Added label property to Display objects. #36855 (Also in 21, 22, 23)
  • Added a new devtools-open-url event to webContents to allow developers to open new windows with them. #36774
  • Added several standard page size options to webContents.print(). #37265 (Also in 22, 23)
  • Allow a application-specific username to be passed to inAppPurchase.purchaseProduct(). #35902
  • Exposed window.invalidateShadow() to clear residual visual artifacts on macOS. #32452
  • Whole-program optimization is enabled by default in electron node headers config file. #36937 (Also in 21, 22, 23)
  • SystemPreferences::CanPromptTouchID (macOS) now supports Apple Watch. #36935
  • Fixes
  • Basic accessibility support is now enabled when macOS Voice Control is activated to allow for full voice control of Electron applications. #37122 (Also in 21, 22, 23)
  • Changed HTML5 Notifications created with the requireInteraction option to not timeout on Linux and Windows. #36477 (Also in 21, 22, 23)
  • ESM loads of CJS modules that have null exports no longer throw. #37009 (Also in 23)
  • Enabled support for WebAssembly.{compileStreaming|instantiateStreaming} in Node.js. #36420
  • Fixed a BrowserWindow maxWidth or maxHeight of 0 causing strange resizing behavior. #36487 (Also in 21, 22, 23)
  • Fixed a crash that could occur when running eval in inline scripts in unsandboxed renderer processes. #36567 (Also in 22, 23)
  • Fixed a crash when BrowserViews are present and a user attempts to prevent beforeunload in the renderer process. #37268 (Also in 22, 23)
  • Fixed a potential crash in some types of Worklets. #37050 (Also in 23)
  • Fixed a printing crash caused by an uninitialized pref. #37052 (Also in 23)
  • Fixed an RTL issue that could happen in some locales when calling BrowserWindow.setTrafficLightPosition() on macOS. #36839 (Also in 21, 22, 23)
  • Fixed an error when fs.readdir gets null for options. #34764 (Also in 21, 22, 23)
  • Fixed an incorrect result returned when using secure as a cookies filter. #37246 (Also in 22)
  • Fixed an issue on macOS when trying to switch processes with Cmd+Tab after exiting Kiosk Mode. #36854 (Also in 21, 22, 23)
  • Fixed an issue where elements were improperly positioned within the page. #36934 (Also in 23)
  • Fixed an issue where webViews could have an incorrect initial background color following reloads. #36920 (Also in 21, 22, 23)
  • Fixed an issue where some frameless windows with draggable regions were not resizable on Windows. #37016 (Also in 23)
  • Fixed an issue where the setPermissionRequestHandler callback would be invoked twice when using navigator.getUserMedia(...). #36787 (Also in 22, 23)
  • Fixed an issue with incorrect focus ring highlighting when using dialog.showMessageBox(). #36772 (Also in 21, 22, 23)
  • Fixed audio worklet scripts failing to run when nodeIntegrationInWorker: true. #37041 (Also in 22, 23)
  • Fixed binary stripping for branded release builds on Linux. #36641 (Also in 21, 22, 23)
  • Fixed missing headers in libcxx_headers bundle. #36863
  • Fixed net.request response headers missing Content-Type. #36666
  • Fixed tray icon not showing on desktop environments that have no support for app indicator. #36815 (Also in 22, 23)
  • Fixed warning about duplicate WebSwapCGLLayer symbols when Electron starts on macOS. #35961 (Also in 21, 22, 23)
  • Removed plugin helper checks on macOS gated behind enable_plugins buildflag. #36971 (Also in 22, 23)
  • Use the process cache to reduce the memory for asar file. #36600 (Also in 21, 22, 23)

New in Electron 24.0.0 Alpha 1 (Feb 10, 2023)

  • Features:
  • Added label property to Display objects. #36855 (Also in 21, 22, 23)
  • Added a new devtools-open-url event to webContents to allow developers to open new windows with them. #36774
  • Allow a application-specific username to be passed to inAppPurchase.purchaseProduct(). #35902
  • Exposed window.invalidateShadow() to clear residual visual artifacts on macOS. #32452
  • Whole-program optimization is enabled by default in electron node headers config file. #36937 (Also in 21, 22, 23)
  • SystemPreferences::CanPromptTouchID (macOS) now supports Apple Watch. #36935
  • Fixes:
  • Basic accessibility support is now enabled when macOS Voice Control is activated to allow for full voice control of Electron applications. #37122 (Also in 21, 22, 23)
  • Changed HTML5 Notifications created with the requireInteraction option to not timeout on Linux and Windows. #36477 (Also in 21, 22, 23)
  • ESM loads of CJS modules that have null exports no longer throw. #37009 (Also in 23)
  • Enabled support for WebAssembly.{compileStreaming|instantiateStreaming} in Node.js. #36420
  • Fixed a BrowserWindow maxWidth or maxHeight of 0 causing strange resizing behavior. #36487 (Also in 21, 22, 23)
  • Fixed a crash that could occur when running eval in inline scripts in unsandboxed renderer processes. #36567 (Also in 22, 23)
  • Fixed a potential crash in some types of Worklets. #37050
  • Fixed a printing crash caused by an uninitialized pref. #37052 (Also in 23)
  • Fixed an RTL issue that could happen in some locales when calling BrowserWindow.setTrafficLightPosition() on macOS. #36839 (Also in 21, 22, 23)
  • Fixed an error when fs.readdir gets null for options. #34764 (Also in 21, 22, 23)
  • Fixed an issue on macOS when trying to switch processes with Cmd+Tab after exiting Kiosk Mode. #36854 (Also in 21, 22, 23)
  • Fixed an issue where elements were improperly positioned within the page. #36934 (Also in 23)
  • Fixed an issue where webViews could have an incorrect initial background color following reloads. #36920 (Also in 21, 22, 23)
  • Fixed an issue where some frameless windows with draggable regions were not resizable on Windows. #37016 (Also in 23)
  • Fixed an issue where the setPermissionRequestHandler callback would be invoked twice when using navigator.getUserMedia(...). #36787 (Also in 22, 23)
  • Fixed an issue with incorrect focus ring highlighting when using dialog.showMessageBox(). #36772 (Also in 21, 22, 23)
  • Fixed audio worklet scripts failing to run when nodeIntegrationInWorker: true. #37041 (Also in 22, 23)
  • Fixed binary stripping for branded release builds on Linux. #36641 (Also in 21, 22, 23)
  • Fixed missing headers in libcxx_headers bundle. #36863
  • Fixed net.request response headers missing Content-Type. #36666
  • Fixed tray icon not showing on desktop environments that have no support for app indicator. #36815 (Also in 22, 23)
  • Fixed warning about duplicate WebSwapCGLLayer symbols when Electron starts on macOS. #35961 (Also in 21, 22, 23)
  • Removed plugin helper checks on macOS gated behind enable_plugins buildflag. #36971 (Also in 22, 23)
  • Use the process cache to reduce the memory for asar file. #36600 (Also in 21, 22, 23)

New in Electron 23.0.0 (Feb 7, 2023)

  • Fixes:
  • Basic accessibility support is now enabled when macOS Voice Control is activated to allow for full voice control of Electron applications. #37145
  • Fixed a printing crash caused by an uninitialized pref. #37149
  • Other Changes:
  • The deprecated incrementCapturerCount() / decrementCapturerCount() methods have been removed. #37148
  • Updated Chromium to 110.0.5481.77. #37120

New in Electron 23.0.0 Beta 8 (Feb 3, 2023)

  • Features:
  • Whole-program optimization is enabled by default in electron node headers config file. #37046 (Also in 21, 22)
  • Fixes:
  • Fixed audio worklet scripts failing to run when nodeIntegrationInWorker: true. #37104

New in Electron 22.2.0 (Feb 2, 2023)

  • Features:
  • Adds new setHiddenInMissionControl API to allow developers to opt out of mission control on macOS. #36390
  • Fixes:
  • Fixed a BrowserWindow maxWidth or maxHeight of 0 causing strange resizing behavior. #36512 (Also in 21, 23)
  • Fixed tray icon not showing on desktop environments that have no support for app indicator. #37034 (Also in 23)
  • Other Changes:
  • Security: backported fix for CVE-2023-0471. #37022
  • Updated Chromium to 108.0.5359.215. #37019
  • Documentation:
  • Documentation changes: #37032

New in Electron 23.0.0 Beta 6 (Jan 28, 2023)

  • Fixes:
  • ESM loads of CJS modules that have null exports no longer throw. #37024
  • Fixed a BrowserWindow maxWidth or maxHeight of 0 causing strange resizing behavior. #36511 (Also in 21, 22)
  • Fixed tray icon not showing on desktop environments that have no support for app indicator. #37033 (Also in 22)
  • Other Changes:
  • Fixed a memory leak in v8.serialize() when running Node.js within Electron. #37030
  • Updated Chromium to 110.0.5481.52. #37035

New in Electron 22.1.0 (Jan 26, 2023)

  • Features:
  • Added label property to Display objects. #36932 (Also in 21, 23)
  • Fixes:
  • Fixed an issue where webViews could have an incorrect initial background color following reloads. #36940 (Also in 21, 23)
  • Removed plugin helper checks on macOS gated behind enable_plugins buildflag. #36978 (Also in 23)
  • Other Changes:
  • Fixed voiceover repeating selected text when expanding selection in a textarea. #36991

New in Electron 23.0.0 Beta 5 (Jan 24, 2023)

  • Fixes:
  • Fixed an issue where elements were improperly positioned within the page. #36959
  • Removed plugin helper checks on macOS gated behind enable_plugins buildflag. #36977 (Also in 22)
  • Other Changes:
  • Updated Chromium to 110.0.5481.38. #36955

New in Electron 23.0.0 Beta 4 (Jan 20, 2023)

  • Features:
  • Added label property to Display objects. #36933 (Also in 21, 22)
  • Fixes:
  • Fixed an issue on macOS when trying to switch processes with Cmd+Tab after exiting Kiosk Mode. #36917 (Also in 21, 22)
  • Fixed an issue where webViews could have an incorrect initial background color following reloads. #36938 (Also in 21, 22)
  • Other Changes:
  • Updated Chromium to 110.0.5481.30. #36819

New in Electron 22.0.2 (Jan 19, 2023)

  • Fixes:
  • Fixed an issue on macOS when trying to switch processes with Cmd+Tab after exiting Kiosk Mode. #36918 (Also in 21, 23)
  • Fixed an issue where the setPermissionRequestHandler callback would be invoked twice when using navigator.getUserMedia(...). #36873 (Also in 23)
  • Use the process cache to reduce the memory for asar file. #36664 (Also in 21, 23)

New in Electron 23.0.0 Beta 2 (Jan 13, 2023)

  • Fixes:
  • Fixed an RTL issue that could happen in some locales when calling BrowserWindow.setTrafficLightPosition() on macOS. #36850 (Also in 21, 22)
  • Fixed an error when fs.readdir gets null for options. #36848 (Also in 22)
  • Fixed an issue where the setPermissionRequestHandler callback would be invoked twice when using navigator.getUserMedia(...). #36874
  • Fixed missing headers in libcxx_headers bundle. #36864

New in Electron 22.0.2 (Jan 13, 2023)

  • Fixes:
  • Fixed an RTL issue that could happen in some locales when calling BrowserWindow.setTrafficLightPosition() on macOS. #36851 (Also in 21, 23)
  • Fixed an error when fs.readdir gets null for options. #36849 (Also in 23)
  • Fixed missing headers in libcxx_headers bundle. #36865
  • Other Changes:
  • Security: backported fix for CVE-2023-0129. #36884
  • Updated Chromium to 108.0.5359.179. #36877

New in Electron 23.0.0 Beta 1 (Jan 11, 2023)

  • Fixes:
  • Fixed a crash that could occur when running eval in inline scripts in unsandboxed renderer processes. #36667 (Also in 22)
  • Fixed an issue with incorrect focus ring highlighting when using dialog.showMessageBox(). #36803 (Also in 21, 22)
  • Fixed binary stripping for branded release builds on Linux. #36656 (Also in 21, 22)
  • Fixed warning about duplicate WebSwapCGLLayer symbols when Electron starts on macOS. #36799 (Also in 21, 22)
  • Use the process cache to reduce the memory for asar file. #36665
  • Other Changes:
  • Added node-api: handle no support for external buffers. #36623
  • Updated Chromium to 110.0.5478.5. #36574

New in Electron 22.0.1 (Jan 11, 2023)

  • Fixes:
  • Changed HTML5 Notifications created with the requireInteraction option to not timeout on Linux and Windows. #36501 (Also in 21)
  • Fixed a crash that could occur when running eval in inline scripts in unsandboxed renderer processes. #36668 (Also in 23)
  • Fixed an issue with incorrect focus ring highlighting when using dialog.showMessageBox(). #36802 (Also in 21, 23)
  • Fixed binary stripping for branded release builds on Linux. #36654 (Also in 21, 23)
  • Fixed warning about duplicate WebSwapCGLLayer symbols when Electron starts on macOS. #36800 (Also in 21, 23)
  • Other Changes:
  • Added node-api: handle no support for external buffers. #36624
  • Backported fix for chromium:1352405. #36517
  • Backported fix for chromium:1352405. #36518
  • Removed unneeded --turbo-profiling-input argument from mksnapshot_args for Linux mksnapshot zips. #36782 (Also in 23)
  • Updated Chromium to 108.0.5359.99. #36613

New in Electron 23.0.0 Alpha 2 (Dec 9, 2022)

  • Updated Chromium to 110.0.5451.0. #36568

New in Electron 23.0.0 Alpha (Dec 6, 2022)

  • Features:
  • Added an app.getPreferredSystemLanguages() API to return the user's system languages. #36035 (Also in 21, 22)
  • Added new UtilityProcess API to launch chromium child process with node integration. #34980 (Also in 22)
  • Added support for WebUSB. #36289
  • Added support for serialPort.forget() as well as a new event serial-port-revoked emitted when a given origin is revoked. #35310 (Also in 22)
  • Adds new setHiddenInMissionControl API to allow developers to opt out of mission control on macOS. #36092
  • Fixes:
  • Default margin has been added in the code. #36060 (Also in 21, 22)
  • Doing require('electron/*') where * is not one of main, common or renderer no longer resolves with the built-in electron module. #35915
  • Enable crashpad for ELECTRON_RUN_AS_NODE processes. #36460 (Also in 22)
  • Fixed click event and tooltip of Tray not working on Linux. #36333 (Also in 22)
  • Fixed a drag-and-drop issue on macOS where items would be incorrectly moved instead of copied in some contexts. #35963 (Also in 20, 21, 22)
  • Fixed a potential issue when calling webContents.printToPDF(). #36046 (Also in 21, 22)
  • Fixed a potential memory leak. #35932 (Also in 21, 22)
  • Fixed an issue where calling app.dock.setIcon(/path/t/icon) would crash when called before the ready event on app. #36279 (Also in 20, 21, 22)
  • Fixed an issue where frameless non-resizable windows showed a Windows 7 frame during startup. #35365 (Also in 22)
  • Fixed an issue where some options were incorrectly ignored when using webContents.printToPDF(). #35975 (Also in 21, 22)
  • Fixed on-screen-keyboard not hiding on input rendered in webview is blurred. #35921 (Also in 20, 21, 22)
  • Fixed race condition during update on macOS that could result in TCC and Keychain errors. #36130 (Also in 22)
  • Fixed spurious promise rejection in webContents.loadURL when navigating to a hash. #36129 (Also in 20, 21, 22)
  • Fixed v8 flags and desktop name in package.json does not hornored when running local app using electron cli. #35997 (Also in 20, 21, 22)
  • Removed support for nodeIntegrationInWorker in Service Workers and Shared Workers owing to sandboxing policies. #35919 (Also in 21, 22)
  • Removed unneeded --turbo-profiling-input argument from mksnapshot_args. #36378 (Also in 22)
  • The keychain account name for MAS and Darwin builds of the same Electron application now differ. #35864
  • You can now import the built-in electron module via ESModule loaders, i.e. import('electron') and import 'electron' now work natively. #35930 (Also in 20, 21, 22)
  • Other Changes:
  • Enabled out-of-process iframe printing to PDF with webContents.printToPDF().. #36051 (Also in 22)
  • Removed unneeded --turbo-profiling-input argument from mksnapshot_args for Linux mksnapshot zips. #36534
  • Updated Chromium to 110.0.5415.0. #36186
  • Updated Node.js to v18.12.1. #36356
  • Upgraded Node.js to v18.10.0. #35999
  • Windows 7, Windows 8, and Windows 8.1 are not supported anymore as Chromium 110 dropped support. #36513
  • Documentation:
  • Documentation changes: #35894

New in Electron 22.0.0 (Nov 30, 2022)

  • Breaking Changes:
  • Added WebContents input-event event.
  • Deprecated BrowserWindow scroll-touch-* events. #35531
  • The deprecated new-window event has been removed. #34526
  • Features:
  • Added LoadBrowserProcessSpecificV8Snapshot as a new fuse that will let the main/browser process load its v8 snapshot from a file at browser_v8_context_snapshot.bin. Any other process will use the same path as is used today. #35266 (Also in 20, 21)
  • Added WebContents.opener to access window opener.
  • Added webContents.fromFrame(frame) to get the WebContents corresponding to a WebFrameMain instance. #35140 (Also in 21)
  • Added app.getSystemLocale() method. #35697 (Also in 21)
  • Added contextBridge.exposeInIsolatedWorld(worldId, key, api) to expose an API to an isolatedWorld within a renderer from a preload script. #34974
  • Added webContents.close() method. #35509
  • Added webFrameMain.origin. #35438 (Also in 19, 20, 21)
  • Added an app.getPreferredSystemLanguages() API to return the user's system languages. #36291 (Also in 21)
  • Added new UtilityProcess API to launch chromium child process with node integration. #36089
  • Added new WebContents event content-bounds-updated. #35533
  • Added new WebContents.ipc and WebFrameMain.ipc APIs. #34959 (Also in 21)
  • Added support for Web Bluetooth pin pairing on Linux and Windows. #35416 (Also in 21)
  • Added support for navigator.mediaDevices.getDisplayMedia via a new session handler, ses.setDisplayMediaRequestHandler. #30702
  • Added support for serialPort.forget() as well as a new event serial-port-revoked emitted when a given origin is revoked. #36062
  • Fixes:
  • Added support for Webauthn discoverable keys (aka resident keys), allowing users to authenticate without first having to select or type a username. #35374
  • Enable crashpad for ELECTRON_RUN_AS_NODE processes on linux. #36483
  • Fixed click event and tooltip of Tray not working on Linux. #36472
  • Fixed an issue where frameless non-resizable windows showed a Windows 7 frame during startup. #36024
  • Fixed an issue with incomplete EventEmitter object in sandboxed renderer preload script. #35522
  • Fixed race condition during update on macOS that could result in TCC and Keychain errors. #36362
  • Removed unneeded --turbo-profiling-input argument from mksnapshot_args. #36463

New in Electron 21.3.1 (Nov 26, 2022)

  • Updated common.gypi for native modules to support C++17 features in V8. #36383 (Also in 20)

New in Electron 22.0.0 Beta 6 (Nov 18, 2022)

  • Features:
  • Added new UtilityProcess API to launch chromium child process with node integration. #36089
  • Fixes:
  • Fixed race condition during update on macOS that could result in TCC and Keychain errors. #36362
  • Other Changes:
  • Updated common.gypi for native modules to support C++17 features in V8. #36369 (Also in 20)

New in Electron 21.3.0 (Nov 17, 2022)

  • Features:
  • Added an app.getPreferredSystemLanguages() API to return the user's system languages. #36290 (Also in 22)
  • Fixes:
  • Fixed an issue where calling app.dock.setIcon(/path/t/icon) would crash when called before the ready event on app. #36294 (Also in 20, 22)
  • Other Changes:
  • Updated Chromium to 106.0.5249.181. #36288
  • Unknown:
  • Reverted fix for chromium:1361612 due to stability issues. #36264