Electron Releases

Filter by channel Filter by major release

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.