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 electron@28.0.0-alpha.2
.
Release Notes for v28.0.0-alpha.2
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. #39484 - Added '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. #39563 - Added 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. #38960 - Detect 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. #39792 - Fixed 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. #39814 - Fixed 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. #39253 - Removed deprecated
app.runningUnderRosettaTranslation()
. #39956 - The
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. #40089 - The
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. #39479 - The deprecated
ipcRenderer.sendTo()
API has been removed. #39087 - The 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