npm electron 43.0.0-alpha.1
electron v43.0.0-alpha.1

6 hours ago

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@43.0.0-alpha.1.

Release Notes for v43.0.0-alpha.1

Features

  • Added Clone method to WebContents. #49959
  • Added JS stack trace to crash reports on renderer OOM. #50043 (Also in 42)
  • Added Linux support for app.getApplicationInfoForProtocol(). #51297
  • Added Notification.getHistory() for macOS, allowing developers to restore all delivered notifications still present in Notification Center. #50325 (Also in 42)
  • Added accessibilityLabel property to MenuItem constructor options and properties for defining screen-reader-friendly labels. #50240
  • Added allowExtensions privilege to protocol.registerSchemesAsPrivileged() to enable Chrome extensions on custom protocols. #49951 (Also in 40, 41, 42)
  • Added app.configureWebAuthn() to enable the Touch ID platform authenticator for WebAuthn on macOS, and a select-webauthn-account session event for choosing between multiple discoverable credentials. #51255 (Also in 41, 42)
  • Added globalShortcut.setSuspended() and globalShortcut.isSuspended() methods to temporarily suspend and resume global shortcut handling. #50425 (Also in 42)
  • Added id and groupId options to the Notification constructor on macOS. id allows custom identifiers for notifications, and groupId visually groups notifications together in Notification Center. #50097 (Also in 42)
  • Added nv12 OSR pixel format support for professional use. #49799
  • Added view.setBackgroundBlur. #51076
  • Added webContents.copyVideoFrameAt(x, y) and webContents.saveVideoFrameAs(x, y) methods. #48149
  • Added id, groupId, and groupTitle support for Windows notifications. #50328 (Also in 42)
  • Added nativeTheme.shouldDifferentiateWithoutColor on macOS. #49912 (Also in 41, 42)
  • Added session support to net module requests from utility process. #51279
  • Added support for heap profiling via contentTracing.enableHeapProfiling(). #50826 (Also in 41, 42)
  • Added support for importing shared textures using the nv16 pixel format. #50728 (Also in 42)
  • Allowed the --experimental-inspector-network-resource Node.js flag to be passed through Electron. #49689
  • Feat: SF Symbol customisation. #48911
  • File downloads will open by default in the user's Downloads folder (or Home directory if Downloads doesn't exist). #49868
  • Fixed contentTracing module to capture Node.js trace categories. #50591
  • Notes: Added support for the urgency option in Notifications on Windows. #50225 (Also in 41, 42)

Fixes

  • Added additional ASAR support to additional fs copy methods. #50226 (Also in 39, 40, 41, 42)
  • Added crash keys to diagnose power monitor shutdown crash on arm64 windows. #51198 (Also in 42)
  • Added missing metadata fields to contentTracing traces. #50892 (Also in 41, 42)
  • BrowserWindow now enforces min/max size constraints on window creation, even if they conflict with the requested width and height. #49906 (Also in 41, 42)
  • Changed the kResizeThreshold to trigger the resize on corners. #50637 (Also in 41, 42)
  • Ensured cross-origin fetch() and XHR are blocked for custom protocols registered with supportFetchAPI: true unless corsEnabled: true is also set; cross-origin mode: 'no-cors' requests now receive an opaque response. #51152 (Also in 39, 40, 41, 42)
  • Fixed DesktopCapturer crash on macOS. #50960 (Also in 42)
  • Fixed Electron child process titles on Linux so they show their types (render, gpu, etc.) and complete command-line arguments and flags in ps aux. #50509 (Also in 42)
  • Fixed ELECTRON_INSTALL_PLATFORM being ignored when resolving the Electron executable path during postinstall, which caused path.txt to be written for the host platform instead of the requested target and made isInstalled() always re-download on subsequent installs. #51029 (Also in 42)
  • Fixed app.getLoginItemSettings() returning undefined for executableWillLaunchAtLogin on macOS; the property is now always a boolean. #51416 (Also in 40, 41, 42)
  • Fixed desktopCapturer.getSources() hanging on macOS. #51128
  • Fixed fs.stat on files inside asar archives returning undefined for blksize and blocks instead of numeric values. #50825 (Also in 40, 41, 42)
  • Fixed webContents.printToPDF rejecting on all subsequent calls after a prior call was rejected with an invalid pageRanges value. #51174 (Also in 40, 41, 42)
  • Fixed a crash when providing invalid HTTP header names or values in the webRequest.onBeforeSendHeaders() callback. #51340 (Also in 40, 41, 42)
  • Fixed a bug where Windows notification icons could fail to save because their temporary filenames contained invalid characters. #50454 (Also in 40, 41, 42)
  • Fixed a bug where errors would occur when using the Chrome DevTools Fetch API. #50744 (Also in 41, 42)
  • Fixed a crash in clipboard.readImage() when the clipboard contains malformed image data. #50475 (Also in 39, 40, 41, 42)
  • Fixed a crash that could occur when an autofill suggestion popup was shown while a window was closing. #51302 (Also in 41, 42)
  • Fixed a crash when calling contentTracing.getTraceBufferUsage() while a trace session is active. #50556 (Also in 39, 40, 41, 42)
  • Fixed a crash when calling an offscreen shared texture's release() after the texture object was garbage collected. #50473 (Also in 39, 40, 41, 42)
  • Fixed a crash when rendering PDFs when Site Isolation is disabled. #50689 (Also in 41, 42)
  • Fixed a memory leak where Menu items were not cleaned up after Menu.setApplicationMenu was called repeatedly. #50806 (Also in 40, 41, 42)
  • Fixed a potential crash when using webContents.print(). #50843 (Also in 42)
  • Fixed a potential race condition crash when closing DevTools. #51420 (Also in 41, 42)
  • Fixed a regression on Linux where transparent frameless windows would have visible borders. Also fixed a longstanding issue where transparent windows on Linux could show smeared and glitched content as windows moved around. #50541 (Also in 41, 42)
  • Fixed a regression on Windows where frameless windows changed their size after calling setResizable. #51252 (Also in 41, 42)
  • Fixed a regression where frameless fullscreen windows had white borders on Windows. #51287 (Also in 41, 42)
  • Fixed a renderer crash when a page uses the <geolocation> HTML element. #51346 (Also in 41, 42)
  • Fixed absent 'Electron Isolated Context' in the execution context dropdown in Dev Tools. #51062 (Also in 41, 42)
  • Fixed an accessibility issue where the AXMenuOpened event was not fired on menu creation. #50377 (Also in 40, 41, 42)
  • Fixed an intermittent Invoke in DisallowJavascriptExecutionScope crash on application quit when a WebContents (or other JS-emitting native object) is garbage-collected during shutdown. #50688 (Also in 40, 41, 42)
  • Fixed an issue on Windows where a transient UnhookWindowsHookEx failure in setIgnoreMouseEvents(true, { forward: true }) teardown could cause duplicate low-level mouse hooks to be installed on the next activation. #51098 (Also in 41, 42)
  • Fixed an issue on macOS where show/hide events and WebContents visibility state could be reported incorrectly when multiple WebContentsViews were attached to a window. #50579 (Also in 40, 41, 42)
  • Fixed an issue where DevTools would re-attach to the window when opened after previously being detached. #50807 (Also in 39, 40, 41, 42)
  • Fixed an issue where app-region: drag inside a hidden WebContentsView would still drag the parent window on Windows. #51200 (Also in 40, 41, 42)
  • Fixed an issue where nodeIntegrationInWorker didn't always work in AudioWorklet. #47244 (Also in 40, 41, 42)
  • Fixed an issue where setSimpleFullScreen on macOS would exit when web content called requestFullscreen(). #50874 (Also in 40, 41, 42)
  • Fixed an issue where an Electron auto-update job would occasionally fail if a macOS system update is pending. #51070 (Also in 42)
  • Fixed an issue where an Electron macOS update would not be applied if another app was previously blocking the macOS system update loop. #51191 (Also in 40, 41, 42)
  • Fixed an issue where an app shortcut may lose its icon after auto-updating on Windows. #50471 (Also in 40, 41, 42)
  • Fixed an issue where calling contentTracing APIs before app.whenReady() would crash the application. #50920 (Also in 41, 42)
  • Fixed an issue where closing devtools immediately after focus caused a crash. #47435 (Also in 41, 42)
  • Fixed an issue where concurrent getFileHandle requests on the same path could stall indefinitely. #50597 (Also in 40, 41, 42)
  • Fixed an issue where custom options in webContents.print() did not prefill the print dialog on macOS. #50600 (Also in 42)
  • Fixed an issue where importing electron via ESM would touch the OS keychain on app-ready even when safeStorage was never used. safeStorage.isAsyncEncryptionAvailable() now returns a Promise as documented. #50419
  • Fixed an issue where margins did not look as expected when printing in silent mode. #50615 (Also in 41, 42)
  • Fixed an issue where saving edited PDF files would fail with a cross-origin SecurityError. #51042 (Also in 41, 42)
  • Fixed an issue where some DevTools functionality didn't work as expected. #50241 (Also in 40, 41, 42)
  • Fixed an issue where some toast notification properties didn't work as expected in WinRT. #51286 (Also in 41, 42)
  • Fixed an issue where the Squirrel.Mac installer could resolve the target bundle path to different locations at different stages of an install. #50745 (Also in 39, 42)
  • Fixed an issue where the webContents.print() callback may not fire correctly in some cases. #50431 (Also in 41, 42)
  • Fixed an issue where webContents.print() would ignore pageSize / mediaSize when silent was true. #50808 (Also in 41, 42)
  • Fixed an issue with the main process where process.exit() with no argument did not exit with process.exitCode
    • Fixed handling of string value arguments to process.exit() in the main process. #51428
  • Fixed aspect ratio min/max size clamping to correctly account for extraSize on macOS. #50794 (Also in 40, 41, 42)
  • Fixed bug that could occasionally cause browserWindow's always-on-top-changed even to fire with incorrect values. #51110 (Also in 40, 41, 42)
  • Fixed buggy behavior where Backspace would accept macOS text replacements inside contenteditable elements. #51289 (Also in 40, 41, 42)
  • Fixed build failure when building with enable_pdf disabled. #51223 (Also in 41, 42)
  • Fixed certain DevTools extension panels not showing without a page reload. #50611 (Also in 42)
  • Fixed crash when app.setPath('sessionData') was called with a non-existent directory. #50891 (Also in 41, 42)
  • Fixed crash when handling JavaScript dialogs from windows opened with invalid or empty URLs. #50062 (Also in 39, 40, 41, 42)
  • Fixed cross-origin isolation failing for non-file origins. #50789 (Also in 41, 42)
  • Fixed frameless transparent windows on Windows losing their transparency after setResizable(false) followed by setResizable(true). #51175 (Also in 41, 42)
  • Fixed improper focus tracking in BaseWindow on MacOS. #49460 (Also in 39, 40, 41, 42)
  • Fixed logic bug that rendered certain window types un-resizable on MAS builds. #50096 (Also in 40, 41, 42)
  • Fixed native notification clicks not focusing the application window on Wayland. #50568 (Also in 42)
  • Fixed printing on Linux failing with "Invalid printer settings". #50430 (Also in 41, 42)
  • Fixed remote debugging via --remote-debugging-port not working when inspecting from Chrome's chrome://inspect page. The DevTools page would appear empty due to the frontend URL pointing to a CDN that returned 404 for Electron's Chromium builds. #51236 (Also in 41)
  • Fixed resize hit targets for frameless windows on Windows. Resize targets now start at the side and bottom edges of the window and extend outward when frame: false, matching the behavior for windows with frames. #50706 (Also in 41, 42)
  • Fixed shutdown crash on windows when power monitor notifications were subscribed. #50878 (Also in 42)
  • Fixed test scaffolding bug when running tests locally on Linux. #51129 (Also in 40, 41, 42)
  • Fixed the appearance of maximized windows on GNOME in Wayland, especially when non-default GTK themes like Breeze are set. #50550 (Also in 41, 42)
  • Fixed the crash keys being lost and the crash reporter hanging on macOS when many dynamic crash keys were registered. #50795 (Also in 40, 41, 42)
  • Fixed user resizing of transparent windows on win32 platform. #49428 (Also in 39, 40, 41, 42)
  • Fixed utilityProcess exit event reporting incorrect exit codes on Windows when the exit code has the high bit. #50256 (Also in 40, 41, 42)
  • Fixed window freeze when failing to enter/exit fullscreen on macOS. #49421 (Also in 39, 40, 41, 42)
  • Improved the way Electron determines the default XDG App ID and WM_CLASS on Linux for better platform compatibility if desktopName is not provided in package.json. #51424 (Also in 41, 42)
  • Moved Electron-specific help menu links to the default app only; unpackaged apps will no longer see these items in their default menu. #50629 (Also in 40, 41, 42)
  • On Linux, apps should now display their names and icons in audio managers instead of all being labeled as Chromium. #49270
  • Removed "representedObject is not a WeakPtrToElectronMenuModelAsNSObject" logging when interacting with macOS menus. #50608 (Also in 41, 42)
  • Removed support for the ELECTRON_SKIP_BINARY_DOWNLOAD environment variable. #50406 (Also in 42)
  • This PR fixes a regression in silent printing where custom DPI values from webContents.print were not honored, causing incorrect output scaling in real-world print flows. #51046 (Also in 41, 42)

Other Changes

  • Added support for using a proxy during yarn install. #50322 (Also in 39, 40, 41, 42)
  • Enabled profile-guided optimization for V8 builtins in release builds, improving JavaScript builtin performance (Array, String, RegExp, etc.). #50416 (Also in 40, 41, 42)
  • Fixed gn gen failing to resolve electron_version when building from a git worktree checkout. #51146 (Also in 39, 40, 41, 42)
  • Improved performance of app.getApplicationNameForProtocol() on Linux. #51251
  • Improved performance of app.isDefaultProtocolClient() and app.setAsDefaultProtocolClient() on Linux. #51316
  • Updated Chromium to 149.0.7827.0. #51481
  • Updated Node.js to v24.15.0. #51091

Documentation

Don't miss a new electron release

NewReleases is sending notifications on new releases.