Electron Versions Save

:electron: Build cross-platform desktop apps with JavaScript, HTML, and CSS

v31.0.0-alpha.2

1 month ago

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

This release is published to npm under the alpha tag and can be installed via npm install electron@alpha, or npm install [email protected].

Release Notes for v31.0.0-alpha.2

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 <__assertion_handler> 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

Unknown

  • Added support for Bluetooth ports being requested by service class ID in navigator.serial. #41638 (Also in 29, 30)

v30.0.1

1 month ago

Release Notes for v30.0.1

Other Changes

  • Updated Chromium to 124.0.6367.60. #41867

v29.3.1

1 month ago

Release Notes for v29.3.1

Fixes

  • Fixed an issue on Windows where silent printing resulted in comically tiny renderer output. #41836 (Also in 28, 30)
  • Fixed missing <__assertion_handler> header when compiling with libc++. #41845 (Also in 30)

Other Changes

  • Security: backported fix for CVE-2024-3515.
    • Security: backported fix for CVE-2024-3516.
    • Security: backported fix for CVE-2024-3157. #41854

v31.0.0-alpha.1

1 month ago

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

This release is published to npm under the alpha tag and can be installed via npm install electron@alpha, or npm install [email protected].

Release Notes for v31.0.0-alpha.1

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 <__assertion_handler> 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)

v28.3.1

1 month ago

Release Notes for v28.3.1

Fixes

  • Fixed an issue on Windows where silent printing resulted in comically tiny renderer output. #41837 (Also in 29, 30)

Other Changes

  • Security: backported fix for CVE-2024-3515.
    • Security: backported fix for CVE-2024-3516.
    • Security: backported fix for CVE-2024-3157.
    • Security: backported fix for CVE-2024-1580. #41855

v27.3.11

1 month ago

Release Notes for v27.3.11

27-x-y end of support

Electron 27.x.y has reached end-of-support as per the project's support policy. Developers and applications are encouraged to upgrade to a newer version of Electron.

Other Changes

  • Security: backported fix for CVE-2024-3515.
  • Security: backported fix for CVE-2024-3516.
  • Security: backported fix for CVE-2024-3157.
  • Security: backported fix for CVE-2024-1580.
  • Security: backported fix for 40071704.
  • Security: backported fix for 41488824.
  • Security: backported fix for 41491234. #41856

v30.0.0

1 month ago

Release Notes for v30.0.0

Stack Upgrades

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 <__assertion_handler> 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)

Documentation

Notices

End of Support for 27.x.y

Electron 27.x.y has reached end-of-support as per the project's support policy. Developers and applications are encouraged to upgrade to a newer version of Electron.

v30.0.0-beta.8

1 month ago

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

This release is published to npm under the beta tag and can be installed via npm install electron@beta, or npm install [email protected].

Release Notes for v30.0.0-beta.8

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

v29.3.0

1 month ago

Release Notes for v29.3.0

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

v28.3.0

1 month ago

Release Notes for v28.3.0

Features

  • Added proxy configuring support for requests made with net module from utility process. #41744 (Also in 29, 30)

Fixes

  • Fixed a bug where a window with maximization disabled and WCO enabled would still show its maximization button. #41806

Other Changes

  • Security: backported fix for CVE-2024-3159. #41776