Electron v28.0.0-alpha.2

npm
npm install --save-dev electron@28.0.0-alpha.2
yarn
yarn add --dev electron@28.0.0-alpha.2
Google ChromeChromium
119.0.6045.0
Node.jsNode.js
18.18.0
V8V8
11.9.169

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. #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 to webContents.printToPDF to allow generating tagged (accessible) PDFs. #39563

  • Added a tabbingIdentifier property to BrowserWindow. #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, and short_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 and roundedCorners: 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 a BrowserWindow 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 when options 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 some webContents url loading events could crash. #40143 (Also in 24, 25, 26, 27)

  • Fixed an issue where calling show() on a child BrowserWindow 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 if SharedArrayBuffers 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 on app and crashed event on WebContents and <webview> have been deprecated. #40089

  • The systemPreferences.getAppLevelAppearance, systemPreferences.setAppLevelAppearance and systemPreferences.appLevelAppearance APIs have been removed, as well as the alternate-selected-control-text value for systemPreferences.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