electron v30.0.0
sudowoodo-release-bot
released this
16 Apr 00:13
·
32 commits
to 30-x-y
since this release
Release Notes for v30.0.0
Stack Upgrades
- Chromium
124.0.6367.49
- Node
20.11.1
- V8
12.4
Breaking Changes
- Added
WebContentsView
andBaseWindow
, replacing the now-deprecatedBrowserView
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 thecontext-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 withnavigationHistory.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
Fixes
- Fixed and BrowserViews being white instead of transparent by default. #40866
- Fixed
WebContents.loadURL()
incorrectly failing if called immediately after a previous call toloadURL()
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
andScreenCaptureKitStreamPickerSonoma
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 therestore
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 withcontextIsolation
enabled. #40993 (Also in 29) - Fixed an issue where
inAppPurchase.getProducts
andinAppPurchase.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 thefilter
option innavigator.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 ifoptions
was not passed orundefined
is passed. #41480 (Also in 28, 29) - Fixed an issue where
webContents.printToPDF
could fail when certain combinations ofmargins
andpageSize
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 theNodeService
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 inwebContents.printToPDF
did not work as expected. #41161 (Also in 28, 29) - Fixed an issue where the
serial-port-added
event improperly respected filters set byserial.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 preventingfetch()
calls tofile://
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
- Documentation change
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.