Electron: v30.0.0 Release

Release date:
April 15, 2024
Previous version:
v30.0.0-nightly.20240221 (released February 21, 2024)
Magnitude:
1,185 Diff Delta
Contributors:
6 total committers
Data confidence:
Commits:

66 Features Released with v30.0.0

Top Contributors in v30.0.0

trop[bot]
electron-roller[bot]
alicelovescake
dsanders11
erickzhao
VerteDinde

Directory Browser for v30.0.0

All files are compared to previous version, v30.0.0-nightly.20240221. Click here to browse diffs between other versions.

Loading File Browser...

Release Notes Published

Release Notes for v30.0.0

Stack Upgrades

Breaking Changes

  • Added WebContentsView and BaseWindow, replacing the now-deprecated BrowserView APIs. #35658 <span style="font-size:small;">(Also in 29)</span>
  • 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 <span style="font-size:small;">(Also in 29)</span>
  • Added a new method BrowserWindow.isOccluded() to allow apps to check occlusion status. #38982
  • Added net module to utility process. #40017 <span style="font-size:small;">(Also in 27, 28, 29)</span>
  • Added proxy configuring support for requests made with net module from utility process. #41417 <span style="font-size:small;">(Also in 28, 29)</span>
  • Added support for Bluetooth ports being requested by service class ID in navigator.serial. #41734 <span style="font-size:small;">(Also in 29)</span>
  • 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 <span style="font-size:small;">(Also in 28, 29)</span>

    Fixes

  • Fixed <webview> 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 <span style="font-size:small;">(Also in 29)</span>
  • Apply module search paths restriction on worker and child process. #41118 <span style="font-size:small;">(Also in 27, 28, 29)</span>
  • CSS style -webkit-app-region: drag; has no effect in full screen mode. #41307 <span style="font-size:small;">(Also in 27, 28, 29)</span>
  • Ensured ScreenCaptureKit is used exclusively on macOS 14.4 and higher to avoid permission prompts. #41404 <span style="font-size:small;">(Also in 29)</span>
  • Fixed Electron 29.0.0-beta.3 regression that could pop up context menus in the wrong location. #41275 <span style="font-size:small;">(Also in 29)</span>
  • Fixed chrome://process-internals failing to load. #41540 <span style="font-size:small;">(Also in 28, 29)</span>
  • Fixed session.fromPartition() key lookup bug. #41055 <span style="font-size:small;">(Also in 28, 29)</span>
  • Fixed shell.showItemInFolder not opening Windows Explorer if the passed path contains forward slashes. #41671 <span style="font-size:small;">(Also in 28, 29)</span>
  • Fixed a crash resultant from trying to listen to power-related events before the ready event was emitted on Linux. #40888 <span style="font-size:small;">(Also in 26, 27, 28, 29)</span>
  • Fixed a crash that started occurring sporadically with some types of macOS window close. #41264 <span style="font-size:small;">(Also in 28, 29)</span>
  • Fixed a partition alloc ref count check for higher MacOS versions. #40757 <span style="font-size:small;">(Also in 28, 29)</span>
  • Fixed a potential async_hooks crash when listening for the restore event on Windows after minimizing a maximized BrowserWindow. #40576 <span style="font-size:small;">(Also in 27, 28, 29)</span>
  • Fixed a potential crash in chrome.scripting on extension unload. #41702 <span style="font-size:small;">(Also in 29)</span>
  • Fixed a potential crash when calling dialog.showMessageBoxSync. #40996 <span style="font-size:small;">(Also in 27, 28, 29)</span>
  • Fixed an issue on Windows where silent printing resulted in comically tiny renderer output. #41838 <span style="font-size:small;">(Also in 29)</span>
  • Fixed an issue where import.meta.url did not work in the renderer process with contextIsolation enabled. #40993 <span style="font-size:small;">(Also in 29)</span>
  • Fixed an issue where inAppPurchase.getProducts and inAppPurchase.purchasedProduct did not resolve as expected. #40938 <span style="font-size:small;">(Also in 27, 28, 29)</span>
  • Fixed an issue where original-fs methods were not properly corrected for patched imports. #41209 <span style="font-size:small;">(Also in 29)</span>
  • Fixed an issue where select-usb-device did not respect the filter option in navigator.usb.requestDevice(). #41166 <span style="font-size:small;">(Also in 27, 28, 29)</span>
  • Fixed an issue where user-did-{resign|become}-active were not emitted properly on macOS. #41528 <span style="font-size:small;">(Also in 28, 29)</span>
  • Fixed an issue where webContents.print(options) failed if options was not passed or undefined is passed. #41480 <span style="font-size:small;">(Also in 28, 29)</span>
  • Fixed an issue where webContents.printToPDF could fail when certain combinations of margins and pageSize values are passed. #41157 <span style="font-size:small;">(Also in 28, 29)</span>
  • Fixed an issue where badge text set using the Badging API no longer appeared correctly on Windows. #41629 <span style="font-size:small;">(Also in 29)</span>
  • Fixed an issue where crashes in node::Environment destruction potentially wouldn't be propagated to the NodeService exit handler. #41277 <span style="font-size:small;">(Also in 27, 28, 29)</span>
  • Fixed an issue where draggable regions didn't work across platforms. #41030 <span style="font-size:small;">(Also in 29)</span>
  • Fixed an issue where emojis weren't properly handled on Windows. #41681 <span style="font-size:small;">(Also in 29)</span>
  • Fixed an issue where non-modal windows with vibrancy could have incorrectly rounded corners on Sonoma. #41003 <span style="font-size:small;">(Also in 27, 28, 29)</span>
  • Fixed an issue where some dependencies using CommonJS would cause ESM apps to fail to open. #41367 <span style="font-size:small;">(Also in 29)</span>
  • Fixed an issue where the -webkit-app-region: drag property was not respected on some windows. #41377 <span style="font-size:small;">(Also in 29)</span>
  • Fixed an issue where the printBackground option in webContents.printToPDF did not work as expected. #41161 <span style="font-size:small;">(Also in 28, 29)</span>
  • Fixed an issue where the serial-port-added event improperly respected filters set by serial.requestPort(). #41635 <span style="font-size:small;">(Also in 28, 29)</span>
  • Fixed crash in MessagePort::close. #41201 <span style="font-size:small;">(Also in 29)</span>
  • Fixed crash in Notification::Close() under libnotify 0.8.x with portal environment. #41708 <span style="font-size:small;">(Also in 28, 29)</span>
  • Fixed default protocol handler behavior on Windows. #40892 <span style="font-size:small;">(Also in 28, 29)</span>
  • Fixed documentation of the default --inspect port. #40665 <span style="font-size:small;">(Also in 27, 28)</span>
  • Fixed forked child process not able to send IPC message under some cases on macOS. #41079 <span style="font-size:small;">(Also in 26, 27, 28, 29)</span>
  • Fixed incorrect title bar shown on frameless transparent windows. #40749 <span style="font-size:small;">(Also in 27, 28, 29)</span>
  • Fixed macOS bug that causes window maximize button to be disabled in full-screen mode. #40994 <span style="font-size:small;">(Also in 27, 28, 29)</span>
  • Fixed missing <__assertion_handler> header when compiling with libc++. #41846 <span style="font-size:small;">(Also in 29)</span>
  • Fixed on-screen-keyboard not hiding for webviews under some cases. #41131 <span style="font-size:small;">(Also in 27, 28, 29)</span>
  • Fixed the GrantFileProtocolExtraPrivileges not correctly preventing fetch() calls to file:// URLs. #40801 <span style="font-size:small;">(Also in 29)</span>
  • Fixed the enabled/disabled behavior of the maximize/fullscreen button of macOS windows. #40705 <span style="font-size:small;">(Also in 27, 28, 29)</span>
  • Fixed usage of Storage.{get|set|clear}Cookies via the Chrome DevTools Protocol. #41740 <span style="font-size:small;">(Also in 28, 29)</span>
  • Fixed various bugs which could prevent forwarding requests intercepted with protocol.handle(). #41052 <span style="font-size:small;">(Also in 29)</span>
  • Unset all Node envs in node process when parent is a foreign process. #40770 <span style="font-size:small;">(Also in 26, 27, 28, 29)</span>

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.