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@29.0.0-alpha.1
.
Release Notes for v29.0.0-alpha.1
Features
- Added
keyboardLock
toses.setPermissionRequestHandler(handler)
. #40369 (Also in 26, 27, 28) - Added an option in
protocol.registerSchemesAsPrivileged
to allow V8 code cache in custom schemes. #40544 - Added new Electron Fuse that opts the
file://
protocol into more secure and restrictive behaviour that matches Chromium. #40372 - Added new
webUtils.getPathForFile
method to replaceFile.path
augmentation. #38776 - Added support for configuring
use_remote_checksums
via.npmrc
. #40253 - Migrated
app.{set|get}LoginItemSettings(settings)
to use Apple's new recommended underlying framework on macOS. #37244 - This PR adds several properties to the
display
object includingdetected
,maximumCursorSize
, andnativeOrigin
. #40497 (Also in 28)
Fixes
- Backported fix for AVX related crashes on certain linux machines. #40536 (Also in 26, 27, 28)
- Fixed "will-navigate" not being emitted when pressing links in
chrome:
pages. #40390 (Also in 27, 28) - Fixed a potential issue with
async_hook
corruption in some error contexts. #40574 (Also in 26, 27, 28) - Fixed a unexpectedly thrown error in some unsupported chrome extensions. #40500 (Also in 26, 27, 28)
- Fixed an error changing file format in
dialog.showOpenDialog
on macOS. #40308 (Also in 27, 28) - Fixed an issue where WebViews could sometimes crash on unload. #40400 (Also in 26, 27, 28)
- Fixed an issue where Windows Toast notifications weren't properly dismissed from the Action Center on
notification.close()
if they'd previously been dismissed. #40197 (Also in 26, 27, 28) - Fixed an issue where
MessagePorts
were not being correctly garbage collected when not referenced. #40189 (Also in 28) - Fixed an issue where
navigator.keyboard.lock()
did not work per latest expected behavior. #40365 (Also in 26, 27, 28) - Fixed an issue where devtools could not be re-opened. #40666 (Also in 28)
- Fixed an issue where font requests were incorrectly being sent to dev tools multiple times per resource. #40681 (Also in 28)
- Fixed an issue where fully occluded windows would return an empty image from
webContents.capturePage()
on Windows and Linux. #39730 (Also in 25, 26, 27, 28) - Fixed an issue where zoom level settings did not persist per-session for webviews. #40650
- Fixed an issue with webContents interaction with fullscreen and WCO on macOS. #40179 (Also in 25, 26, 27, 28)
- Fixed app incorrectly activating panel windows on macOS Sonoma. #40307 (Also in 28)
- Fixed child window opening in non-active macOS apps. #40546 (Also in 26, 28)
- Fixed file paths passed to
shell.showItemInFolder
not being escaped in Linux. #40527 (Also in 27, 28) - Fixed loading nested ESM dependencies in
node_modules
- Fixed problem with bounds of maximized window when toggle BrowserWindow.setResizable function. #40503 (Also in 26, 27, 28)
- Fixed resizing performance issue on macOS. #40577 (Also in 26, 27, 28)
- Fixed some redundant permission dialogs while screen sharing on Wayland. #40098 (Also in 26, 27, 28)
- Functions called over the
contextBridge
are now called with the expected receiver (this
). #39978 (Also in 27, 28) - Prevent node mode to be used as script runner by other apps on macOS. #40579
- Use
activateIgnoringOtherApps
for focusing non-panels on macOS. #40570 (Also in 28)
Other Changes
- Re-enabled partition alloc on Mac. #33981 (Also in 28)
- The
gpu-process-crashed
event onapp
has been deprecated. #40169 (Also in 28) - The deprecated
gpu-process-crashed
event onapp
has been removed. #40255 - The deprecated
renderer-process-crashed
event onapp
andcrashed
event onWebContents
and<webview>
have been removed. #40115 - Updated Chromium to 121.0.6147.0. #40523
- Updated Node.js to v18.18.2. #40205 (Also in 28)
- Upgraded to Node.js v20. #40545