Electron v29.0.0-alpha.2

npm
npm install --save-dev electron@29.0.0-alpha.2
yarn
yarn add --dev electron@29.0.0-alpha.2
Google ChromeChromium
121.0.6147.0
Node.jsNode.js
20.9.0
V8V8
12.1.221

Release Notes

Features

  • Added keyboardLock to ses.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 replace File.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 including detected, maximumCursorSize, and nativeOrigin. #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

    • Correctly support the throwIfNoEntry option in fs.statSync/fs.lstatSync in asar files. #40221 (Also in 28)

  • 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 on app has been deprecated. #40169 (Also in 28)

  • The deprecated gpu-process-crashed event on app has been removed. #40255

  • The deprecated renderer-process-crashed event on app and crashed event on WebContents 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