Release Comparison

From:
To:

Dependency Changes

Google ChromeChromium
152.0.7977.130
Node.jsNode.js
24.21.0
24.22.1Updated
V8V8
15.2.124.28
15.2.124.45Updated

Combined Release Notes

Features

    • Added filtering options to session.registerPreloadScript - matches, excludeMatches, includeGlobs, excludeGlobs, matchOriginAsFallback. #55182 (Also in 45)

    • Added app shims on macOS to show windows under another app's Dock icon. #55073 (Also in 45)

    • Added support for Notification action buttons on Linux. #54890 (Also in 45)

    • The macOS autoUpdater now streams update downloads to disk, resumes an interrupted download on the next check instead of starting over, and applies a binary delta when the update feed offers one for the running version. #54204

    • Added the experimental protocol.registerSource() to serve a custom scheme from directories on disk without a JavaScript handler. #54522 (Also in 45)

    • Added launch-failure reporting with systemErrorCode to the app child-process-gone event. #54231 (Also in 45)

Fixes

    • Fixed a crash on Linux when a D-Bus method call was made on a disconnected bus. #55290 (Also in 45, 46)

    • Fixed a main process crash when onSendHeaders observed Blob uploads. #55168 (Also in 45)

    • Fixed app.getLoginItemSettings() not finding login items on Windows when the executable path contains spaces. #55207 (Also in 45)

    • Fixed Europe/London and Europe/Dublin time zone names showing as "GMT+00:00" in winter by updating ICU to tzdata 2026e. #55335

    • Fixed File System Access blocklist gaps for .git/hooks writes and hypervisor UNC shares. #55330

    • Fixed handling of malformed asar archives whose size fields do not match the file length. #55176 (Also in 43, 45)

    • Fixed inconsistent handling of asar archive paths between the main process and child processes. #55183 (Also in 43, 45)

    • Fixed Menu.popup() on macOS sometimes not showing a menu after another closed. #55325 (Also in 45, 46)

    • Fixed MV3 extension events not arriving to background service workers. #55152 (Also in 43, 45)

    • Fixed paste hanging indefinitely on Linux X11 until the app was restarted. #55327

    • Fixed protocol.registerSource schemes not applying the same fetch rules as protocol.handle schemes. #55177 (Also in 45)

    • Fixed utilityProcess not emitting an exit event when the app quit while the process was still launching. #55273 (Also in 43, 45, 46)

    • Fixed link-opened windows not using the opener's session and webPreferences. #55048 (Also in 42, 43, 45)

    • Fixed setCertificateVerifyProc occasionally not being applied to a request issued concurrently with the first request to a host. #55046 (Also in 42, 43, 45)

    • Fixed mouse cursor missing over native dialogs in certain scenarios on Windows. #54987

    • Fixed net.fetch and session.fetch failing permanently with net::ERR_FAILED after the Network Service process restarts. #54909 (Also in 42, 43, 45)

    • Fixed utilityProcess dropping messages posted with process.parentPort.postMessage() right before the process exits. #54960 (Also in 42, 43, 45)

    • Fixed win.isFullScreen() being stale in fullscreen events on Windows. #55009 (Also in 45)

    • Fixed an issue where clicks posted to a background app were dropped on macOS. #54819 (Also in 45)

    • Fixed interrupted macOS updates leaving a broken app behind. #54844 (Also in 45)

    • Fixed a crash when starting without an available display server on Linux. #54794 (Also in 45)

    • Fixed a Linux crash creating a window with a menu bar when GTK failed to load. #54859 (Also in 45)

    • Fixed a WebContentsView that was removed with removeChildView() and re-added with addChildView() staying hidden behind its sibling views on Linux. #54798

    • Fixed asar archives in non-ASCII folders failing to load on Linux. #54849 (Also in 45)

    • Fixed renderer crashes during garbage collection inside ShadowRealms. #54865 (Also in 45)

    • Fixed an uncatchable TypeError in net.fetch when receiving response headers with non-ASCII characters, and preserved multiple Set-Cookie headers. #54672

    • Fixed a crash on launch on macOS when the system refused to register the app for sleep/wake notifications. #54596

    • Fixed a crash on navigator.usb.requestDevice() in in-memory sessions. #54616 (Also in 45)

    • Fixed webview.findInPage() hanging when the host page also has an iframe. #54586 (Also in 43, 45)

    • Updated time zone data to tzdata 2026d, including British Columbia's move to permanent UTC-7. #54623

    • Changed the default trash implementation on KDE Plasma 6 to kioclient. #54361 (Also in 45)

    • DevTools zoom in/out now uses the same zoom steps as Chromium. #54387 (Also in 45)

    • Fixed --xdg-portal-required-version having no effect and a spurious portal warning being logged for file dialogs on Linux. #54303 (Also in 43, 45)

    • Fixed a child WebContentsView losing focus when its window is reactivated. #54455 (Also in 43, 45)

    • Fixed a crash when a WebAuthn request used a security key that required its PIN. #54403 (Also in 45)

    • Fixed a crash when creating a framed window on Wayland in environments where GTK could not initialize. #54420 (Also in 45)

    • Fixed a crash when sending a DevTools protocol command with a non-string value for an optional string parameter via webContents.debugger. #54445 (Also in 43, 45)

    • Fixed a GPU process crash on startup when another instance of the app is using the same session data directory. #54469

    • Fixed a grey border around frameless windows on Linux WMs without compositing. #54391 (Also in 43, 45)

    • Fixed a main process crash when a native API method was called with a this value of a different native type; it now throws a TypeError. #54315 (Also in 43)

    • Fixed a possible crash during process exit when vm.Script or vm contexts created in the main process had been garbage collected shortly before quitting. #54266 (Also in 43, 45)

    • Fixed a possible crash on Windows on ARM when powerMonitor is torn down. #54408 (Also in 45)

    • Fixed a renderer crash calling image.toPNG() from a sandboxed preload script. #54502 (Also in 43, 45)

    • Fixed a renderer crash when a ResizeObserver loop-limit error handler modified layout. #54290 (Also in 45)

    • Fixed accent-color-changed on Windows reporting a colour that differed from systemPreferences.getAccentColor(). #54409 (Also in 45)

    • Fixed an issue where crashReporter.setUploadToServer() had no effect after crashReporter.start() was called. #54518 (Also in 45)

    • Fixed app.getRecentDocuments() omitting documents with non-ASCII paths on Windows. #54407 (Also in 45)

    • Fixed clipboard.read(), readText() and has() resolving seconds late on Linux while the app was idle. #54308 (Also in 42, 43, 45)

    • Fixed desktopCapturer.getSources() leaving non-resizable windows resizable on macOS. #54397 (Also in 43, 45)

    • Fixed fs.rmSync failing to remove read-only files on Windows. #54255 (Also in 42, 43, 45)

    • Fixed GDK_BACKEND leaking into processes spawned by Electron apps on Linux. #54425 (Also in 43, 45)

    • Fixed hidden windows continuing to render at full frame rate after setBackgroundThrottling(false) followed by setBackgroundThrottling(true). #54341 (Also in 45)

    • Fixed pointerLock permission requests from some iframes reporting the parent frame. #54464 (Also in 42, 43, 45)

    • Fixed setContentProtection(true) having no effect in Windows remote sessions. #54500 (Also in 45)

    • Fixed setIgnoreMouseEvents() taking effect late on X11. #54497 (Also in 43, 45)

    • Fixed setIgnoreMouseEvents(true) being undone by the next resize on X11. #54393 (Also in 43, 45)

      • Added setIgnoreMouseEvents support on Wayland.

    • Fixed shell.showItemInFolder() on Linux for paths containing #, ? or % when the file manager is reached over D-Bus. #54406 (Also in 45)

    • Fixed the default action label on Linux notifications not being localized. #54401 (Also in 43, 45)

    • Fixed the GPU process crash-looping on Windows when the sandbox cannot read the install folder; the folder is now reported instead. #54484 (Also in 43, 45)

    • Fixed the zoom level resetting on file: and other host-less pages after a location.hash change. #54442 (Also in 43, 45)

    • Fixed typing not working after closing an alert() or confirm() on Windows. #54461 (Also in 43, 45)

    • Fixed utilityProcess dropping stdout/stderr output that the child wrote immediately before exiting. #54278 (Also in 42, 43, 45)

    • Fixed visual zoom limits resetting on navigation and not applying to webviews. #54449 (Also in 43, 45)

    • Fixed WebAssembly modules loaded from the code cache crashing or throwing RuntimeError: unreachable after updating between certain patch releases. #54246 (Also in 42, 43, 45)

    • Fixed win.setEnabled(false) and modal child windows not blocking input on Wayland. #54447 (Also in 43, 45)

    • Fixed zoom in/out getting stuck after zooming past the 25%-500% range. #54421 (Also in 43, 45)

      • Fixed setVisualZoomLevelLimits() shrinking pages when the minimum is under 1.

Documentation

Other Changes

    • Updated Chromium to 152.0.7977.169. #55033

    • Updated Node.js to v24.22.1. #55162

    • Backported fixes from upstream ANGLE, Chromium, PDFium, Skia and V8. #55149

    • Backported fixes from upstream Chromium and V8. #55034

    • Updated Chromium to 152.0.7977.167. #54928

    • Updated Node.js to v24.22.0. #55004

    • Backported fixes from upstream ANGLE, Chromium, PDFium and V8. #54898

    • Refactored mouse forwarding on Windows to fix setIgnoreMouseEvents(true, { forward: true }) related issues. #54802 (Also in 45)

    • Updated Chromium to 152.0.7977.149. #54085

    • Backported fixes from upstream ANGLE, Chromium, Dawn, fontconfig, Skia, V8 and WebRTC. #54666

    • Backported fixes from upstream ANGLE, Chromium, Skia, V8 and WebRTC. #54657

    • Backported fixes from upstream ANGLE, Chromium, Dawn and V8. #54564

Performance Improvements

    • Improved the performance of APIs that return rectangles, sizes, points and display objects. #54215 (Also in 45)

    • Improved the performance of session.getUserAgent(). #54244 (Also in 45)