Electron v28.0.0-alpha.2
Release Notes
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. #39484Added '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 towebContents.printToPDF
to allow generating tagged (accessible) PDFs. #39563Added a
tabbingIdentifier
property toBrowserWindow
. #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
, andshort_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. #38960Detect 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. #39792Fixed 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
androundedCorners: 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 aBrowserWindow
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 whenoptions
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 somewebContents
url loading events could crash. #40143 (Also in 24, 25, 26, 27)Fixed an issue where calling
show()
on a childBrowserWindow
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 ifSharedArrayBuffers
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. #39814Fixed 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. #39253Removed deprecated
app.runningUnderRosettaTranslation()
. #39956The
app.runningUnderRosettaTranslation
property has been deprecated. #39897 (Also in 25, 26, 27)The
renderer-process-crashed
event onapp
andcrashed
event onWebContents
and<webview>
have been deprecated. #40089The
systemPreferences.getAppLevelAppearance
,systemPreferences.setAppLevelAppearance
andsystemPreferences.appLevelAppearance
APIs have been removed, as well as thealternate-selected-control-text
value forsystemPreferences.getColor
. #39696 (Also in 27)The deprecated
getTrafficLightPosition()
/setTrafficLightPosition()
APIs have been removed. #39479The deprecated
ipcRenderer.sendTo()
API has been removed. #39087The 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