Skip to content

perf: speed up fs operations on paths inside asar archives (44-x-y) - #54051

Merged
MarshallOfSound merged 2 commits into
44-x-yfrom
bp/44-x-y/asar-fs-fast-path
Sep 18, 2026
Merged

MarshallOfSound merged 2 commits into
44-x-yfrom
bp/44-x-y/asar-fs-fast-path

Conversation

@MarshallOfSound

Copy link
Copy Markdown
Member

Human: @MarshallOfSound

Requested by Sam

Backport of #53852 (with the #53930 spec fix on top).

See that PR for details.

Notes: Improved the performance of fs operations and require() on files inside asar archives.

MarshallOfSound and others added 2 commits September 17, 2026 23:09
* perf: make fs operations on paths inside an asar archive cheaper than real files

Loading modules from app.asar was measurably slower than loading the same
files from disk because every stat/realpath/readdir on an archive path paid
for a native path split that built a V8 dictionary, a fake Stats array built
through the slow iterable path, and a real realpath() of the archive file.

- splitPath: find the archive prefix in JS and memoise the native verdict per
  prefix, with a last-prefix fast path; skip path.normalize() for already
  normalized absolute POSIX paths.
- internalModuleStat: consult the module stat cache before splitting the path.
- Fill a shared scratch Float64Array/BigInt64Array for Stats instead of
  allocating one from a JS array per call.
- Memoise the archive file's own realpath per archive; honour the `encoding`
  option for asar realpath results (previously threw for 'buffer').
- readdir(withFileTypes)/opendir: one native readdirWithTypes() call instead
  of a stat per child.
- Native: allocation-free header walk over string_view, a per-archive
  path->node memo, zero-copy ASCII path arguments, and DictionaryTemplate
  results for stat()/getFileInfo().
- Wrap child_process eagerly instead of through a Module._load hook (init.ts
  already requires it; the hook taxed every require() and missed ESM
  imports of node:child_process).
- Read ELECTRON_LOG_ASAR_READS once.

* perf: locate the archive component of a path natively in one call

Replace the JS-side prefix memo and normalization regexes in the asar fs
wrapper with a lean native asar.splitPath(): it reads the path without
copying when it is ASCII, walks the components once, memoises "is this
*.asar prefix an archive file" by string, and reports when the path has
"."/".."/empty components so the caller can path.normalize() and ask again
(user-supplied paths only; the module loader's are already normalized).

The JS splitPath() is reduced to the type coercion, the /\.asar/i pre-check
that keeps unrelated paths out of native code, the call, and two slices.
Spec coverage for the binding is updated to the new integer contract and a
wrapper-level test for un-normalized archive paths is added.

* test: cover native asar path splitting and archive lookups; fix edge cases

Add an "internals" suite to asar-spec that builds its own archives (nested
directories, link chains and cycles, non-ASCII names, an upper-case .ASAR,
an archive inside a real directory named *.asar, a bogus *.asar file) and
exercises the electron_common_asar binding directly: splitPath() prefix
detection and its normalization contract, Archive.stat/getFileInfo/readdir/
readdirWithTypes/realpath, the lookup memo past its size limit, concurrent
use from worker threads, and the fs wrapper on Buffer/URL/relative/
un-normalized paths.

Fixes found while writing them and by review:
- splitPath() returned a UTF-8 byte offset; report UTF-16 code units so an
  archive under a non-ASCII directory splits correctly.
- Decide "needs normalization" lexically before probing the disk, and ignore
  any number of trailing separators.
- internalModuleStat goes through the normalizing splitPath() again so
  un-normalized NODE_PATH / require.resolve({ paths }) entries keep working.
- Keep separate archive realpath memos for realpath() and realpath.native().
- Skip empty components in the archive header walk.
- Read ELECTRON_LOG_ASAR_READS per call again so it can be set from main.js.

* fix: keep un-openable and not-yet-existing *.asar paths behaving as before

Follow-ups from review of the asar fast path:

- Native splitPath() now rejects paths containing control characters, as the
  base::FilePath converter used by Archive::New() does, so an .asar file under
  such a directory stays an ordinary file instead of an "Invalid package".
- IsDirectoryCached()/IsArchivePrefix() only memoise answers for paths that
  exist. A *.asar path probed before anything is created there (the win32
  mkdir wrapper does this) is re-evaluated later instead of being pinned as
  an archive for the life of the process. This predates the branch for
  IsDirectoryCached().
- getFileInfo() fills the integrity slot with undefined when absent so the
  DictionaryTemplate result keeps using its cached map.
- Spec: create the *.asar-named fixture directory through original-fs, derive
  the realpath.native expectation with the native flavour (8.3 temp paths on
  Windows runners), and cover the cases above.

* perf: read ELECTRON_LOG_ASAR_READS once per process

process.env goes through Node's env interceptor (getenv under a lock) and the
flag was checked on every read of a packed file. Sample it at startup instead
and document that it must be set in the launching environment.

(cherry picked from commit d6b4cf6)
…eanup (#53930)

The asar internals suite writes its archives to a temp directory and
removes it in an after hook. Every archive the suite touches stays open
for the rest of the process (the asar layer caches its Archive objects,
and Archive opens the file without FILE_SHARE_DELETE), and Windows will
not delete an open file, so the hook fails there with EPERM from
rmSync (a sharing violation surfaced as std::errc::permission_denied).

Keep the cleanup, but only let it fail on platforms where it can work.

Claude-Session: https://claude.ai/code/session_01DtsTxhCv8KyVejsgxcHg8J

Co-authored-by: Claude <[email protected]>
(cherry picked from commit 010fb2d)
@MarshallOfSound MarshallOfSound added backport This is a backport PR semver/patch backwards-compatible bug fixes 44-x-y labels Sep 17, 2026
@MarshallOfSound MarshallOfSound self-assigned this Sep 17, 2026
@MarshallOfSound
MarshallOfSound merged commit 37e4061 into 44-x-y Sep 18, 2026
136 of 138 checks passed
@release-clerk

release-clerk Bot commented Sep 18, 2026

Copy link
Copy Markdown

Release Notes Persisted

Improved the performance of fs operations and require() on files inside asar archives.

@MarshallOfSound
MarshallOfSound deleted the bp/44-x-y/asar-fs-fast-path branch September 18, 2026 06:17
renovate Bot added a commit to cigaleapp/cigale that referenced this pull request Oct 5, 2026
##### [v44.4.5](https://github.com/electron/electron/releases/tag/v44.4.5)

### Release Notes for v44.4.5

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, Dawn, PDFium and V8. [#54222](electron/electron#54222)
##### [v44.4.4](https://github.com/electron/electron/releases/tag/v44.4.4)

### Release Notes for v44.4.4

#### Fixes

- Fixed a `Cannot read properties of undefined (reading 'startTime')` error thrown in pages while the DevTools Performance panel's live metrics were active. [#54162](electron/electron#54162)
- Fixed a crash when calling `setIgnoreMenuShortcuts()` on DevTools. [#54116](electron/electron#54116) <sup>(Also in [43](electron/electron#54117), [45](https://github.com/electron/electron/pull/54115))</sup>
- Fixed a spurious "`sandboxed_renderer.bundle.js` script failed to run" console error when DevTools attached to a sandboxed frame before its first navigation. [#54155](electron/electron#54155) <sup>(Also in [42](electron/electron#54175), [43](https://github.com/electron/electron/pull/54176))</sup>
- Fixed alignment of the text label and popup menu in the macOS save dialog. [#54143](electron/electron#54143) <sup>(Also in [45](https://github.com/electron/electron/pull/54144))</sup>
- Fixed an "Invalid `guestInstanceId`" error when removing a loaded `<webview>` from the DOM. [#54099](electron/electron#54099) <sup>(Also in [42](electron/electron#54098), [43](electron/electron#54097), [45](https://github.com/electron/electron/pull/54096))</sup>
- Fixed GPU shaders compiled by Skia not being cached between launches. [#54161](electron/electron#54161) <sup>(Also in [45](https://github.com/electron/electron/pull/54156))</sup>
- Fixed `ready-to-show` never firing for some hidden windows on Windows and Linux. [#54118](electron/electron#54118) <sup>(Also in [43](electron/electron#54119), [45](https://github.com/electron/electron/pull/54110))</sup>
- Fixed the tray context menu not working for snap-confined apps because AppArmor blocked the `/org/chromium/DbusMenu` path. [#54103](electron/electron#54103) <sup>(Also in [45](https://github.com/electron/electron/pull/54102))</sup>
##### [v44.4.3](https://github.com/electron/electron/releases/tag/v44.4.3)

### Release Notes for v44.4.3

#### Fixes

- Fixed `net.fetch()` / `net.request()` spending seconds of main-process time buffering large streamed request bodies. [#54061](electron/electron#54061) <sup>(Also in [45](https://github.com/electron/electron/pull/54062))</sup>

#### Performance Improvements

- Improved the performance of `fs` operations and `require()` on files inside asar archives. [#54051](electron/electron#54051) <sup>(Also in [45](https://github.com/electron/electron/pull/53951))</sup>

#### Other Changes

- Backported fixes from upstream Chromium, PDFium, Skia and V8. [#54081](electron/electron#54081)
##### [v44.4.2](https://github.com/electron/electron/releases/tag/v44.4.2)

### Release Notes for v44.4.2

#### Fixes

- Fixed a potential UAF when a `select-usb-device` handler destroys the requesting `webContents`. [#54009](electron/electron#54009) <sup>(Also in [43](electron/electron#54007), [45](https://github.com/electron/electron/pull/54008))</sup>

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, Skia and V8. [#53985](electron/electron#53985)
- Updated Chromium to 152.0.7977.130. [#53778](electron/electron#53778)
##### [v44.4.1](https://github.com/electron/electron/releases/tag/v44.4.1)

### Release Notes for v44.4.1

#### Fixes

- Fixed default protocol client APIs falsely returning `true` on Windows. [#53959](electron/electron#53959) <sup>(Also in [43](electron/electron#53960), [45](https://github.com/electron/electron/pull/53958))</sup>
- Fixed several object lifetime issues in `Debugger`, `Menu`, `Tray`, `Notification`, `globalShortcut`, `utilityProcess`, `ServiceWorkerMain`, `WebFrameMain`, `webFrame`, `sharedTexture`, `systemPreferences`, `netLog`, `MessagePortMain`, `net.request` and `shell.openPath()`. [#53968](electron/electron#53968) <sup>(Also in [45](https://github.com/electron/electron/pull/53805))</sup>
##### [v44.4.0](https://github.com/electron/electron/releases/tag/v44.4.0)

### Release Notes for v44.4.0

#### Features

- Added `initiatorOrigin` to webRequest and protocol handler requests, `DownloadItem.getInitiatorOrigin()`, and a trailing `frame` argument to the `will-download` and `preconnect` session events. [#53703](electron/electron#53703) <sup>(Also in [43](electron/electron#53704), [45](https://github.com/electron/electron/pull/53700))</sup>

#### Fixes

- Added validation to `protocol.registerSchemesAsPrivileged()` to reject protocol names that do not conform to RFC 3986 URI scheme grammar. [#53743](electron/electron#53743) <sup>(Also in [45](https://github.com/electron/electron/pull/53742))</sup>
- Fixed a crash when a webContents navigated to the Chrome Web Store and the page invoked the unsupported `chrome.webstorePrivate` API. [#53776](electron/electron#53776) <sup>(Also in [45](https://github.com/electron/electron/pull/53775))</sup>
- Fixed a main-process crash when an app called `loadURL()` again right after a load failed because the renderer process exited before the page committed. [#53943](electron/electron#53943) <sup>(Also in [43](electron/electron#53944), [45](https://github.com/electron/electron/pull/53942))</sup>
- Fixed a memory leak on Windows when `app.getPreferredSystemLanguages()` was called. [#53868](electron/electron#53868) <sup>(Also in [43](electron/electron#53867), [45](https://github.com/electron/electron/pull/53869))</sup>
- Fixed a potential UAF in `app.getPreferredSystemLanguages()` on Windows. [#53865](electron/electron#53865) <sup>(Also in [43](electron/electron#53866), [45](https://github.com/electron/electron/pull/53864))</sup>
- Fixed a renderer crash that could occur when printing from an iframe. [#53762](electron/electron#53762) <sup>(Also in [43](electron/electron#53761), [45](https://github.com/electron/electron/pull/53763))</sup>
- Fixed a renderer crash when an iframe was removed right after loading with `nodeIntegrationInSubFrames` enabled and `sandbox` disabled, e.g. on pages that embed Meta Pixel. [#53885](electron/electron#53885) <sup>(Also in [42](electron/electron#53886), [43](electron/electron#53884), [45](https://github.com/electron/electron/pull/53883))</sup>
- Fixed a Windows renderer crash when no default locale could be determined. [#53947](electron/electron#53947)
- Fixed an issue where the browser-side check that blocks drag and drop between cross-site frames of the same page was disabled. [#53749](electron/electron#53749) <sup>(Also in [43](electron/electron#53750), [45](https://github.com/electron/electron/pull/53748))</sup>
- Fixed helper executables on macOS starting a second app instance when launched without a process type, for example through `child_process.fork()` with the `runAsNode` fuse disabled; `fork()` now throws in that configuration. [#53840](electron/electron#53840) <sup>(Also in [45](https://github.com/electron/electron/pull/53839))</sup>
- Fixed V8 code caching for https scripts loaded by `file://` and custom-scheme pages. [#53745](electron/electron#53745) <sup>(Also in [45](https://github.com/electron/electron/pull/53746))</sup>
- Fixed `webContents` emitting `unresponsive` right after the system wakes from sleep on Windows, and emitting `responsive` when a hung window was hidden rather than when it recovered. [#53764](electron/electron#53764) <sup>(Also in [45](https://github.com/electron/electron/pull/53760))</sup>
- Fixed `webContents.capturePage()` on offscreen windows returning an image resampled to the display's scale factor instead of rendered at the window's `offscreen.deviceScaleFactor`. [#53816](electron/electron#53816) <sup>(Also in [43](electron/electron#53818), [45](https://github.com/electron/electron/pull/53817))</sup>
- Fixed Window Controls Overlay CSS environment variables and `navigator.windowControlsOverlay` not being populated for `WebContentsView`s in a `BaseWindow`. [#53812](electron/electron#53812) <sup>(Also in [45](https://github.com/electron/electron/pull/53811))</sup>

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, libyuv, PDFium and V8. [#53769](electron/electron#53769)
- Updated Node.js to v24.21.0. [#53779](electron/electron#53779)
##### [v44.3.0](https://github.com/electron/electron/releases/tag/v44.3.0)

### Release Notes for v44.3.0

#### Features

- Added the `ELECTRON_DEBUG_DRAGGABLE_REGIONS` environment variable, which visualizes and logs draggable regions in unpackaged apps to help debug custom title bars. [#53627](electron/electron#53627) <sup>(Also in [43](electron/electron#53633), [45](https://github.com/electron/electron/pull/53626))</sup>

#### Fixes

- File System Access permission requests and the `file-system-access-restricted` event are scoped to the requesting document, grants are reset when the origin's last page closes, and write access works in in-memory sessions. [#53691](electron/electron#53691) <sup>(Also in [42](electron/electron#53695), [43](electron/electron#53694), [45](https://github.com/electron/electron/pull/53690))</sup>
- Fixed Ctrl+Y not yanking text killed with Ctrl+K in text fields on macOS. [#53714](electron/electron#53714) <sup>(Also in [45](https://github.com/electron/electron/pull/53715))</sup>
- Fixed `Tray` icons not appearing when running inside Flatpak or Snap sandboxes on Linux. [#53653](electron/electron#53653) <sup>(Also in [45](https://github.com/electron/electron/pull/53654))</sup>
- Fixed `app.getGPUInfo('complete')` stalling the GPU process for several seconds on some Windows systems. [#53644](electron/electron#53644) <sup>(Also in [45](https://github.com/electron/electron/pull/53645))</sup>
- Fixed `session.setPermissionCheckHandler` receiving the top-level origin and a null `webContents` for `hid` and `usb` checks made from a subframe. [#53688](electron/electron#53688) <sup>(Also in [42](electron/electron#53736), [43](electron/electron#53689), [45](https://github.com/electron/electron/pull/53679))</sup>
- Fixed `webContents.on()`, `removeListener()` and `removeAllListeners()` throwing "Object has been destroyed" for `console-message` listeners after the WebContents was destroyed. [#53494](electron/electron#53494) <sup>(Also in [42](electron/electron#53497), [43](electron/electron#53496), [45](https://github.com/electron/electron/pull/53495))</sup>
- Fixed a crash on Linux when `process.env` was written while another thread was reading the environment, and a memory leak when a worker thread exits. [#53509](electron/electron#53509) <sup>(Also in [42](electron/electron#53511), [43](electron/electron#53510), [45](https://github.com/electron/electron/pull/53508))</sup>
- Fixed a possible crash on Windows when a file dialog was shown for a window that was being closed at the same time. [#53583](electron/electron#53583) <sup>(Also in [42](electron/electron#53585), [43](electron/electron#53584), [45](https://github.com/electron/electron/pull/53586))</sup>
- Fixed a renderer crash when the main process sent IPC to, or a page navigated, a same-process `window.open()` child whose `contextIsolation` differed from its opener's. [#53539](electron/electron#53539) <sup>(Also in [42](electron/electron#53541), [43](electron/electron#53540), [45](https://github.com/electron/electron/pull/53538))</sup>
- Fixed a spurious `node_init` error being logged when creating a `ShadowRealm` with Node.js integration enabled. [#53579](electron/electron#53579) <sup>(Also in [45](https://github.com/electron/electron/pull/53578))</sup>
- Fixed crashes in `setDisplayMediaRequestHandler` when the granted frame had been destroyed or another tab was granted by id. [#53672](electron/electron#53672) <sup>(Also in [42](electron/electron#53674), [43](electron/electron#53671), [45](https://github.com/electron/electron/pull/53673))</sup>
- Fixed several non-functional DevTools integrations: the Security panel's "View certificate" button, Ctrl+wheel zooming inside DevTools, and DevTools keyboard shortcuts (e.g. F8) while the inspected page has focus. [#53630](electron/electron#53630) <sup>(Also in [43](electron/electron#53631), [45](https://github.com/electron/electron/pull/53471))</sup>
- Fixed window state not being persisted when a window entered or left fullscreen, or was maximized or unmaximized, without also being moved or resized. [#53576](electron/electron#53576) <sup>(Also in [45](https://github.com/electron/electron/pull/53577))</sup>
- Internal `<webview>`, `window.close()` and `executeJavaScript` reply IPCs are validated against the sending frame. [#53723](electron/electron#53723) <sup>(Also in [42](electron/electron#53727), [43](electron/electron#53726), [45](https://github.com/electron/electron/pull/53724))</sup>
- `<webview>` without `allowpopups` also blocks links opened into a new window by modifier-click, and such windows navigate as the clicking document rather than as a browser-initiated load. [#53721](electron/electron#53721) <sup>(Also in [42](electron/electron#53719), [43](electron/electron#53718), [45](https://github.com/electron/electron/pull/53717))</sup>
- `getUserMedia` with `chromeMediaSource: 'desktop'` no longer accepts WebContents source ids; use `chromeMediaSource: 'tab'` with `webContents.getMediaSourceId()` or `setDisplayMediaRequestHandler` to capture a WebContents. [#53709](electron/electron#53709) <sup>(Also in [42](electron/electron#53710), [43](electron/electron#53707), [45](https://github.com/electron/electron/pull/53708))</sup>
- `nodeIntegrationInWorker` now applies only to workers created by frames that themselves have Node integration; enable `nodeIntegrationInSubFrames` to keep Node in workers created by subframes. [#53711](electron/electron#53711) <sup>(Also in [42](electron/electron#53713), [43](electron/electron#53712), [45](https://github.com/electron/electron/pull/53706))</sup>
- `openExternal` permission requests started by a frame that has since gone away are attributed to that frame's origin rather than to the navigating page. [#53699](electron/electron#53699) <sup>(Also in [42](electron/electron#53697), [43](electron/electron#53698), [45](https://github.com/electron/electron/pull/53696))</sup>
- `pointerLock` and `keyboardLock` permission requests now report the requesting frame, and `execCommand('paste')` requires user activation in the frame that calls it. [#53693](electron/electron#53693) <sup>(Also in [42](electron/electron#53702), [43](electron/electron#53701), [45](https://github.com/electron/electron/pull/53692))</sup>

#### Other Changes

- Fixed the app becoming unresponsive when a page has a very large number of `app-region` draggable elements. [#53597](electron/electron#53597) <sup>(Also in [43](electron/electron#53632), [45](https://github.com/electron/electron/pull/53596))</sup>
- Updated Chromium to 152.0.7977.78. [#53523](electron/electron#53523)
renovate Bot added a commit to cigaleapp/cigale that referenced this pull request Oct 5, 2026
##### [v44.4.5](https://github.com/electron/electron/releases/tag/v44.4.5)

### Release Notes for v44.4.5

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, Dawn, PDFium and V8. [#54222](electron/electron#54222)
##### [v44.4.4](https://github.com/electron/electron/releases/tag/v44.4.4)

### Release Notes for v44.4.4

#### Fixes

- Fixed a `Cannot read properties of undefined (reading 'startTime')` error thrown in pages while the DevTools Performance panel's live metrics were active. [#54162](electron/electron#54162)
- Fixed a crash when calling `setIgnoreMenuShortcuts()` on DevTools. [#54116](electron/electron#54116) <sup>(Also in [43](electron/electron#54117), [45](https://github.com/electron/electron/pull/54115))</sup>
- Fixed a spurious "`sandboxed_renderer.bundle.js` script failed to run" console error when DevTools attached to a sandboxed frame before its first navigation. [#54155](electron/electron#54155) <sup>(Also in [42](electron/electron#54175), [43](https://github.com/electron/electron/pull/54176))</sup>
- Fixed alignment of the text label and popup menu in the macOS save dialog. [#54143](electron/electron#54143) <sup>(Also in [45](https://github.com/electron/electron/pull/54144))</sup>
- Fixed an "Invalid `guestInstanceId`" error when removing a loaded `<webview>` from the DOM. [#54099](electron/electron#54099) <sup>(Also in [42](electron/electron#54098), [43](electron/electron#54097), [45](https://github.com/electron/electron/pull/54096))</sup>
- Fixed GPU shaders compiled by Skia not being cached between launches. [#54161](electron/electron#54161) <sup>(Also in [45](https://github.com/electron/electron/pull/54156))</sup>
- Fixed `ready-to-show` never firing for some hidden windows on Windows and Linux. [#54118](electron/electron#54118) <sup>(Also in [43](electron/electron#54119), [45](https://github.com/electron/electron/pull/54110))</sup>
- Fixed the tray context menu not working for snap-confined apps because AppArmor blocked the `/org/chromium/DbusMenu` path. [#54103](electron/electron#54103) <sup>(Also in [45](https://github.com/electron/electron/pull/54102))</sup>
##### [v44.4.3](https://github.com/electron/electron/releases/tag/v44.4.3)

### Release Notes for v44.4.3

#### Fixes

- Fixed `net.fetch()` / `net.request()` spending seconds of main-process time buffering large streamed request bodies. [#54061](electron/electron#54061) <sup>(Also in [45](https://github.com/electron/electron/pull/54062))</sup>

#### Performance Improvements

- Improved the performance of `fs` operations and `require()` on files inside asar archives. [#54051](electron/electron#54051) <sup>(Also in [45](https://github.com/electron/electron/pull/53951))</sup>

#### Other Changes

- Backported fixes from upstream Chromium, PDFium, Skia and V8. [#54081](electron/electron#54081)
##### [v44.4.2](https://github.com/electron/electron/releases/tag/v44.4.2)

### Release Notes for v44.4.2

#### Fixes

- Fixed a potential UAF when a `select-usb-device` handler destroys the requesting `webContents`. [#54009](electron/electron#54009) <sup>(Also in [43](electron/electron#54007), [45](https://github.com/electron/electron/pull/54008))</sup>

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, Skia and V8. [#53985](electron/electron#53985)
- Updated Chromium to 152.0.7977.130. [#53778](electron/electron#53778)
##### [v44.4.1](https://github.com/electron/electron/releases/tag/v44.4.1)

### Release Notes for v44.4.1

#### Fixes

- Fixed default protocol client APIs falsely returning `true` on Windows. [#53959](electron/electron#53959) <sup>(Also in [43](electron/electron#53960), [45](https://github.com/electron/electron/pull/53958))</sup>
- Fixed several object lifetime issues in `Debugger`, `Menu`, `Tray`, `Notification`, `globalShortcut`, `utilityProcess`, `ServiceWorkerMain`, `WebFrameMain`, `webFrame`, `sharedTexture`, `systemPreferences`, `netLog`, `MessagePortMain`, `net.request` and `shell.openPath()`. [#53968](electron/electron#53968) <sup>(Also in [45](https://github.com/electron/electron/pull/53805))</sup>
##### [v44.4.0](https://github.com/electron/electron/releases/tag/v44.4.0)

### Release Notes for v44.4.0

#### Features

- Added `initiatorOrigin` to webRequest and protocol handler requests, `DownloadItem.getInitiatorOrigin()`, and a trailing `frame` argument to the `will-download` and `preconnect` session events. [#53703](electron/electron#53703) <sup>(Also in [43](electron/electron#53704), [45](https://github.com/electron/electron/pull/53700))</sup>

#### Fixes

- Added validation to `protocol.registerSchemesAsPrivileged()` to reject protocol names that do not conform to RFC 3986 URI scheme grammar. [#53743](electron/electron#53743) <sup>(Also in [45](https://github.com/electron/electron/pull/53742))</sup>
- Fixed a crash when a webContents navigated to the Chrome Web Store and the page invoked the unsupported `chrome.webstorePrivate` API. [#53776](electron/electron#53776) <sup>(Also in [45](https://github.com/electron/electron/pull/53775))</sup>
- Fixed a main-process crash when an app called `loadURL()` again right after a load failed because the renderer process exited before the page committed. [#53943](electron/electron#53943) <sup>(Also in [43](electron/electron#53944), [45](https://github.com/electron/electron/pull/53942))</sup>
- Fixed a memory leak on Windows when `app.getPreferredSystemLanguages()` was called. [#53868](electron/electron#53868) <sup>(Also in [43](electron/electron#53867), [45](https://github.com/electron/electron/pull/53869))</sup>
- Fixed a potential UAF in `app.getPreferredSystemLanguages()` on Windows. [#53865](electron/electron#53865) <sup>(Also in [43](electron/electron#53866), [45](https://github.com/electron/electron/pull/53864))</sup>
- Fixed a renderer crash that could occur when printing from an iframe. [#53762](electron/electron#53762) <sup>(Also in [43](electron/electron#53761), [45](https://github.com/electron/electron/pull/53763))</sup>
- Fixed a renderer crash when an iframe was removed right after loading with `nodeIntegrationInSubFrames` enabled and `sandbox` disabled, e.g. on pages that embed Meta Pixel. [#53885](electron/electron#53885) <sup>(Also in [42](electron/electron#53886), [43](electron/electron#53884), [45](https://github.com/electron/electron/pull/53883))</sup>
- Fixed a Windows renderer crash when no default locale could be determined. [#53947](electron/electron#53947)
- Fixed an issue where the browser-side check that blocks drag and drop between cross-site frames of the same page was disabled. [#53749](electron/electron#53749) <sup>(Also in [43](electron/electron#53750), [45](https://github.com/electron/electron/pull/53748))</sup>
- Fixed helper executables on macOS starting a second app instance when launched without a process type, for example through `child_process.fork()` with the `runAsNode` fuse disabled; `fork()` now throws in that configuration. [#53840](electron/electron#53840) <sup>(Also in [45](https://github.com/electron/electron/pull/53839))</sup>
- Fixed V8 code caching for https scripts loaded by `file://` and custom-scheme pages. [#53745](electron/electron#53745) <sup>(Also in [45](https://github.com/electron/electron/pull/53746))</sup>
- Fixed `webContents` emitting `unresponsive` right after the system wakes from sleep on Windows, and emitting `responsive` when a hung window was hidden rather than when it recovered. [#53764](electron/electron#53764) <sup>(Also in [45](https://github.com/electron/electron/pull/53760))</sup>
- Fixed `webContents.capturePage()` on offscreen windows returning an image resampled to the display's scale factor instead of rendered at the window's `offscreen.deviceScaleFactor`. [#53816](electron/electron#53816) <sup>(Also in [43](electron/electron#53818), [45](https://github.com/electron/electron/pull/53817))</sup>
- Fixed Window Controls Overlay CSS environment variables and `navigator.windowControlsOverlay` not being populated for `WebContentsView`s in a `BaseWindow`. [#53812](electron/electron#53812) <sup>(Also in [45](https://github.com/electron/electron/pull/53811))</sup>

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, libyuv, PDFium and V8. [#53769](electron/electron#53769)
- Updated Node.js to v24.21.0. [#53779](electron/electron#53779)
##### [v44.3.0](https://github.com/electron/electron/releases/tag/v44.3.0)

### Release Notes for v44.3.0

#### Features

- Added the `ELECTRON_DEBUG_DRAGGABLE_REGIONS` environment variable, which visualizes and logs draggable regions in unpackaged apps to help debug custom title bars. [#53627](electron/electron#53627) <sup>(Also in [43](electron/electron#53633), [45](https://github.com/electron/electron/pull/53626))</sup>

#### Fixes

- File System Access permission requests and the `file-system-access-restricted` event are scoped to the requesting document, grants are reset when the origin's last page closes, and write access works in in-memory sessions. [#53691](electron/electron#53691) <sup>(Also in [42](electron/electron#53695), [43](electron/electron#53694), [45](https://github.com/electron/electron/pull/53690))</sup>
- Fixed Ctrl+Y not yanking text killed with Ctrl+K in text fields on macOS. [#53714](electron/electron#53714) <sup>(Also in [45](https://github.com/electron/electron/pull/53715))</sup>
- Fixed `Tray` icons not appearing when running inside Flatpak or Snap sandboxes on Linux. [#53653](electron/electron#53653) <sup>(Also in [45](https://github.com/electron/electron/pull/53654))</sup>
- Fixed `app.getGPUInfo('complete')` stalling the GPU process for several seconds on some Windows systems. [#53644](electron/electron#53644) <sup>(Also in [45](https://github.com/electron/electron/pull/53645))</sup>
- Fixed `session.setPermissionCheckHandler` receiving the top-level origin and a null `webContents` for `hid` and `usb` checks made from a subframe. [#53688](electron/electron#53688) <sup>(Also in [42](electron/electron#53736), [43](electron/electron#53689), [45](https://github.com/electron/electron/pull/53679))</sup>
- Fixed `webContents.on()`, `removeListener()` and `removeAllListeners()` throwing "Object has been destroyed" for `console-message` listeners after the WebContents was destroyed. [#53494](electron/electron#53494) <sup>(Also in [42](electron/electron#53497), [43](electron/electron#53496), [45](https://github.com/electron/electron/pull/53495))</sup>
- Fixed a crash on Linux when `process.env` was written while another thread was reading the environment, and a memory leak when a worker thread exits. [#53509](electron/electron#53509) <sup>(Also in [42](electron/electron#53511), [43](electron/electron#53510), [45](https://github.com/electron/electron/pull/53508))</sup>
- Fixed a possible crash on Windows when a file dialog was shown for a window that was being closed at the same time. [#53583](electron/electron#53583) <sup>(Also in [42](electron/electron#53585), [43](electron/electron#53584), [45](https://github.com/electron/electron/pull/53586))</sup>
- Fixed a renderer crash when the main process sent IPC to, or a page navigated, a same-process `window.open()` child whose `contextIsolation` differed from its opener's. [#53539](electron/electron#53539) <sup>(Also in [42](electron/electron#53541), [43](electron/electron#53540), [45](https://github.com/electron/electron/pull/53538))</sup>
- Fixed a spurious `node_init` error being logged when creating a `ShadowRealm` with Node.js integration enabled. [#53579](electron/electron#53579) <sup>(Also in [45](https://github.com/electron/electron/pull/53578))</sup>
- Fixed crashes in `setDisplayMediaRequestHandler` when the granted frame had been destroyed or another tab was granted by id. [#53672](electron/electron#53672) <sup>(Also in [42](electron/electron#53674), [43](electron/electron#53671), [45](https://github.com/electron/electron/pull/53673))</sup>
- Fixed several non-functional DevTools integrations: the Security panel's "View certificate" button, Ctrl+wheel zooming inside DevTools, and DevTools keyboard shortcuts (e.g. F8) while the inspected page has focus. [#53630](electron/electron#53630) <sup>(Also in [43](electron/electron#53631), [45](https://github.com/electron/electron/pull/53471))</sup>
- Fixed window state not being persisted when a window entered or left fullscreen, or was maximized or unmaximized, without also being moved or resized. [#53576](electron/electron#53576) <sup>(Also in [45](https://github.com/electron/electron/pull/53577))</sup>
- Internal `<webview>`, `window.close()` and `executeJavaScript` reply IPCs are validated against the sending frame. [#53723](electron/electron#53723) <sup>(Also in [42](electron/electron#53727), [43](electron/electron#53726), [45](https://github.com/electron/electron/pull/53724))</sup>
- `<webview>` without `allowpopups` also blocks links opened into a new window by modifier-click, and such windows navigate as the clicking document rather than as a browser-initiated load. [#53721](electron/electron#53721) <sup>(Also in [42](electron/electron#53719), [43](electron/electron#53718), [45](https://github.com/electron/electron/pull/53717))</sup>
- `getUserMedia` with `chromeMediaSource: 'desktop'` no longer accepts WebContents source ids; use `chromeMediaSource: 'tab'` with `webContents.getMediaSourceId()` or `setDisplayMediaRequestHandler` to capture a WebContents. [#53709](electron/electron#53709) <sup>(Also in [42](electron/electron#53710), [43](electron/electron#53707), [45](https://github.com/electron/electron/pull/53708))</sup>
- `nodeIntegrationInWorker` now applies only to workers created by frames that themselves have Node integration; enable `nodeIntegrationInSubFrames` to keep Node in workers created by subframes. [#53711](electron/electron#53711) <sup>(Also in [42](electron/electron#53713), [43](electron/electron#53712), [45](https://github.com/electron/electron/pull/53706))</sup>
- `openExternal` permission requests started by a frame that has since gone away are attributed to that frame's origin rather than to the navigating page. [#53699](electron/electron#53699) <sup>(Also in [42](electron/electron#53697), [43](electron/electron#53698), [45](https://github.com/electron/electron/pull/53696))</sup>
- `pointerLock` and `keyboardLock` permission requests now report the requesting frame, and `execCommand('paste')` requires user activation in the frame that calls it. [#53693](electron/electron#53693) <sup>(Also in [42](electron/electron#53702), [43](electron/electron#53701), [45](https://github.com/electron/electron/pull/53692))</sup>

#### Other Changes

- Fixed the app becoming unresponsive when a page has a very large number of `app-region` draggable elements. [#53597](electron/electron#53597) <sup>(Also in [43](electron/electron#53632), [45](https://github.com/electron/electron/pull/53596))</sup>
- Updated Chromium to 152.0.7977.78. [#53523](electron/electron#53523)
renovate Bot added a commit to cigaleapp/cigale that referenced this pull request Oct 5, 2026
##### [v44.4.5](https://github.com/electron/electron/releases/tag/v44.4.5)

### Release Notes for v44.4.5

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, Dawn, PDFium and V8. [#54222](electron/electron#54222)
##### [v44.4.4](https://github.com/electron/electron/releases/tag/v44.4.4)

### Release Notes for v44.4.4

#### Fixes

- Fixed a `Cannot read properties of undefined (reading 'startTime')` error thrown in pages while the DevTools Performance panel's live metrics were active. [#54162](electron/electron#54162)
- Fixed a crash when calling `setIgnoreMenuShortcuts()` on DevTools. [#54116](electron/electron#54116) <sup>(Also in [43](electron/electron#54117), [45](https://github.com/electron/electron/pull/54115))</sup>
- Fixed a spurious "`sandboxed_renderer.bundle.js` script failed to run" console error when DevTools attached to a sandboxed frame before its first navigation. [#54155](electron/electron#54155) <sup>(Also in [42](electron/electron#54175), [43](https://github.com/electron/electron/pull/54176))</sup>
- Fixed alignment of the text label and popup menu in the macOS save dialog. [#54143](electron/electron#54143) <sup>(Also in [45](https://github.com/electron/electron/pull/54144))</sup>
- Fixed an "Invalid `guestInstanceId`" error when removing a loaded `<webview>` from the DOM. [#54099](electron/electron#54099) <sup>(Also in [42](electron/electron#54098), [43](electron/electron#54097), [45](https://github.com/electron/electron/pull/54096))</sup>
- Fixed GPU shaders compiled by Skia not being cached between launches. [#54161](electron/electron#54161) <sup>(Also in [45](https://github.com/electron/electron/pull/54156))</sup>
- Fixed `ready-to-show` never firing for some hidden windows on Windows and Linux. [#54118](electron/electron#54118) <sup>(Also in [43](electron/electron#54119), [45](https://github.com/electron/electron/pull/54110))</sup>
- Fixed the tray context menu not working for snap-confined apps because AppArmor blocked the `/org/chromium/DbusMenu` path. [#54103](electron/electron#54103) <sup>(Also in [45](https://github.com/electron/electron/pull/54102))</sup>
##### [v44.4.3](https://github.com/electron/electron/releases/tag/v44.4.3)

### Release Notes for v44.4.3

#### Fixes

- Fixed `net.fetch()` / `net.request()` spending seconds of main-process time buffering large streamed request bodies. [#54061](electron/electron#54061) <sup>(Also in [45](https://github.com/electron/electron/pull/54062))</sup>

#### Performance Improvements

- Improved the performance of `fs` operations and `require()` on files inside asar archives. [#54051](electron/electron#54051) <sup>(Also in [45](https://github.com/electron/electron/pull/53951))</sup>

#### Other Changes

- Backported fixes from upstream Chromium, PDFium, Skia and V8. [#54081](electron/electron#54081)
##### [v44.4.2](https://github.com/electron/electron/releases/tag/v44.4.2)

### Release Notes for v44.4.2

#### Fixes

- Fixed a potential UAF when a `select-usb-device` handler destroys the requesting `webContents`. [#54009](electron/electron#54009) <sup>(Also in [43](electron/electron#54007), [45](https://github.com/electron/electron/pull/54008))</sup>

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, Skia and V8. [#53985](electron/electron#53985)
- Updated Chromium to 152.0.7977.130. [#53778](electron/electron#53778)
##### [v44.4.1](https://github.com/electron/electron/releases/tag/v44.4.1)

### Release Notes for v44.4.1

#### Fixes

- Fixed default protocol client APIs falsely returning `true` on Windows. [#53959](electron/electron#53959) <sup>(Also in [43](electron/electron#53960), [45](https://github.com/electron/electron/pull/53958))</sup>
- Fixed several object lifetime issues in `Debugger`, `Menu`, `Tray`, `Notification`, `globalShortcut`, `utilityProcess`, `ServiceWorkerMain`, `WebFrameMain`, `webFrame`, `sharedTexture`, `systemPreferences`, `netLog`, `MessagePortMain`, `net.request` and `shell.openPath()`. [#53968](electron/electron#53968) <sup>(Also in [45](https://github.com/electron/electron/pull/53805))</sup>
##### [v44.4.0](https://github.com/electron/electron/releases/tag/v44.4.0)

### Release Notes for v44.4.0

#### Features

- Added `initiatorOrigin` to webRequest and protocol handler requests, `DownloadItem.getInitiatorOrigin()`, and a trailing `frame` argument to the `will-download` and `preconnect` session events. [#53703](electron/electron#53703) <sup>(Also in [43](electron/electron#53704), [45](https://github.com/electron/electron/pull/53700))</sup>

#### Fixes

- Added validation to `protocol.registerSchemesAsPrivileged()` to reject protocol names that do not conform to RFC 3986 URI scheme grammar. [#53743](electron/electron#53743) <sup>(Also in [45](https://github.com/electron/electron/pull/53742))</sup>
- Fixed a crash when a webContents navigated to the Chrome Web Store and the page invoked the unsupported `chrome.webstorePrivate` API. [#53776](electron/electron#53776) <sup>(Also in [45](https://github.com/electron/electron/pull/53775))</sup>
- Fixed a main-process crash when an app called `loadURL()` again right after a load failed because the renderer process exited before the page committed. [#53943](electron/electron#53943) <sup>(Also in [43](electron/electron#53944), [45](https://github.com/electron/electron/pull/53942))</sup>
- Fixed a memory leak on Windows when `app.getPreferredSystemLanguages()` was called. [#53868](electron/electron#53868) <sup>(Also in [43](electron/electron#53867), [45](https://github.com/electron/electron/pull/53869))</sup>
- Fixed a potential UAF in `app.getPreferredSystemLanguages()` on Windows. [#53865](electron/electron#53865) <sup>(Also in [43](electron/electron#53866), [45](https://github.com/electron/electron/pull/53864))</sup>
- Fixed a renderer crash that could occur when printing from an iframe. [#53762](electron/electron#53762) <sup>(Also in [43](electron/electron#53761), [45](https://github.com/electron/electron/pull/53763))</sup>
- Fixed a renderer crash when an iframe was removed right after loading with `nodeIntegrationInSubFrames` enabled and `sandbox` disabled, e.g. on pages that embed Meta Pixel. [#53885](electron/electron#53885) <sup>(Also in [42](electron/electron#53886), [43](electron/electron#53884), [45](https://github.com/electron/electron/pull/53883))</sup>
- Fixed a Windows renderer crash when no default locale could be determined. [#53947](electron/electron#53947)
- Fixed an issue where the browser-side check that blocks drag and drop between cross-site frames of the same page was disabled. [#53749](electron/electron#53749) <sup>(Also in [43](electron/electron#53750), [45](https://github.com/electron/electron/pull/53748))</sup>
- Fixed helper executables on macOS starting a second app instance when launched without a process type, for example through `child_process.fork()` with the `runAsNode` fuse disabled; `fork()` now throws in that configuration. [#53840](electron/electron#53840) <sup>(Also in [45](https://github.com/electron/electron/pull/53839))</sup>
- Fixed V8 code caching for https scripts loaded by `file://` and custom-scheme pages. [#53745](electron/electron#53745) <sup>(Also in [45](https://github.com/electron/electron/pull/53746))</sup>
- Fixed `webContents` emitting `unresponsive` right after the system wakes from sleep on Windows, and emitting `responsive` when a hung window was hidden rather than when it recovered. [#53764](electron/electron#53764) <sup>(Also in [45](https://github.com/electron/electron/pull/53760))</sup>
- Fixed `webContents.capturePage()` on offscreen windows returning an image resampled to the display's scale factor instead of rendered at the window's `offscreen.deviceScaleFactor`. [#53816](electron/electron#53816) <sup>(Also in [43](electron/electron#53818), [45](https://github.com/electron/electron/pull/53817))</sup>
- Fixed Window Controls Overlay CSS environment variables and `navigator.windowControlsOverlay` not being populated for `WebContentsView`s in a `BaseWindow`. [#53812](electron/electron#53812) <sup>(Also in [45](https://github.com/electron/electron/pull/53811))</sup>

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, libyuv, PDFium and V8. [#53769](electron/electron#53769)
- Updated Node.js to v24.21.0. [#53779](electron/electron#53779)
##### [v44.3.0](https://github.com/electron/electron/releases/tag/v44.3.0)

### Release Notes for v44.3.0

#### Features

- Added the `ELECTRON_DEBUG_DRAGGABLE_REGIONS` environment variable, which visualizes and logs draggable regions in unpackaged apps to help debug custom title bars. [#53627](electron/electron#53627) <sup>(Also in [43](electron/electron#53633), [45](https://github.com/electron/electron/pull/53626))</sup>

#### Fixes

- File System Access permission requests and the `file-system-access-restricted` event are scoped to the requesting document, grants are reset when the origin's last page closes, and write access works in in-memory sessions. [#53691](electron/electron#53691) <sup>(Also in [42](electron/electron#53695), [43](electron/electron#53694), [45](https://github.com/electron/electron/pull/53690))</sup>
- Fixed Ctrl+Y not yanking text killed with Ctrl+K in text fields on macOS. [#53714](electron/electron#53714) <sup>(Also in [45](https://github.com/electron/electron/pull/53715))</sup>
- Fixed `Tray` icons not appearing when running inside Flatpak or Snap sandboxes on Linux. [#53653](electron/electron#53653) <sup>(Also in [45](https://github.com/electron/electron/pull/53654))</sup>
- Fixed `app.getGPUInfo('complete')` stalling the GPU process for several seconds on some Windows systems. [#53644](electron/electron#53644) <sup>(Also in [45](https://github.com/electron/electron/pull/53645))</sup>
- Fixed `session.setPermissionCheckHandler` receiving the top-level origin and a null `webContents` for `hid` and `usb` checks made from a subframe. [#53688](electron/electron#53688) <sup>(Also in [42](electron/electron#53736), [43](electron/electron#53689), [45](https://github.com/electron/electron/pull/53679))</sup>
- Fixed `webContents.on()`, `removeListener()` and `removeAllListeners()` throwing "Object has been destroyed" for `console-message` listeners after the WebContents was destroyed. [#53494](electron/electron#53494) <sup>(Also in [42](electron/electron#53497), [43](electron/electron#53496), [45](https://github.com/electron/electron/pull/53495))</sup>
- Fixed a crash on Linux when `process.env` was written while another thread was reading the environment, and a memory leak when a worker thread exits. [#53509](electron/electron#53509) <sup>(Also in [42](electron/electron#53511), [43](electron/electron#53510), [45](https://github.com/electron/electron/pull/53508))</sup>
- Fixed a possible crash on Windows when a file dialog was shown for a window that was being closed at the same time. [#53583](electron/electron#53583) <sup>(Also in [42](electron/electron#53585), [43](electron/electron#53584), [45](https://github.com/electron/electron/pull/53586))</sup>
- Fixed a renderer crash when the main process sent IPC to, or a page navigated, a same-process `window.open()` child whose `contextIsolation` differed from its opener's. [#53539](electron/electron#53539) <sup>(Also in [42](electron/electron#53541), [43](electron/electron#53540), [45](https://github.com/electron/electron/pull/53538))</sup>
- Fixed a spurious `node_init` error being logged when creating a `ShadowRealm` with Node.js integration enabled. [#53579](electron/electron#53579) <sup>(Also in [45](https://github.com/electron/electron/pull/53578))</sup>
- Fixed crashes in `setDisplayMediaRequestHandler` when the granted frame had been destroyed or another tab was granted by id. [#53672](electron/electron#53672) <sup>(Also in [42](electron/electron#53674), [43](electron/electron#53671), [45](https://github.com/electron/electron/pull/53673))</sup>
- Fixed several non-functional DevTools integrations: the Security panel's "View certificate" button, Ctrl+wheel zooming inside DevTools, and DevTools keyboard shortcuts (e.g. F8) while the inspected page has focus. [#53630](electron/electron#53630) <sup>(Also in [43](electron/electron#53631), [45](https://github.com/electron/electron/pull/53471))</sup>
- Fixed window state not being persisted when a window entered or left fullscreen, or was maximized or unmaximized, without also being moved or resized. [#53576](electron/electron#53576) <sup>(Also in [45](https://github.com/electron/electron/pull/53577))</sup>
- Internal `<webview>`, `window.close()` and `executeJavaScript` reply IPCs are validated against the sending frame. [#53723](electron/electron#53723) <sup>(Also in [42](electron/electron#53727), [43](electron/electron#53726), [45](https://github.com/electron/electron/pull/53724))</sup>
- `<webview>` without `allowpopups` also blocks links opened into a new window by modifier-click, and such windows navigate as the clicking document rather than as a browser-initiated load. [#53721](electron/electron#53721) <sup>(Also in [42](electron/electron#53719), [43](electron/electron#53718), [45](https://github.com/electron/electron/pull/53717))</sup>
- `getUserMedia` with `chromeMediaSource: 'desktop'` no longer accepts WebContents source ids; use `chromeMediaSource: 'tab'` with `webContents.getMediaSourceId()` or `setDisplayMediaRequestHandler` to capture a WebContents. [#53709](electron/electron#53709) <sup>(Also in [42](electron/electron#53710), [43](electron/electron#53707), [45](https://github.com/electron/electron/pull/53708))</sup>
- `nodeIntegrationInWorker` now applies only to workers created by frames that themselves have Node integration; enable `nodeIntegrationInSubFrames` to keep Node in workers created by subframes. [#53711](electron/electron#53711) <sup>(Also in [42](electron/electron#53713), [43](electron/electron#53712), [45](https://github.com/electron/electron/pull/53706))</sup>
- `openExternal` permission requests started by a frame that has since gone away are attributed to that frame's origin rather than to the navigating page. [#53699](electron/electron#53699) <sup>(Also in [42](electron/electron#53697), [43](electron/electron#53698), [45](https://github.com/electron/electron/pull/53696))</sup>
- `pointerLock` and `keyboardLock` permission requests now report the requesting frame, and `execCommand('paste')` requires user activation in the frame that calls it. [#53693](electron/electron#53693) <sup>(Also in [42](electron/electron#53702), [43](electron/electron#53701), [45](https://github.com/electron/electron/pull/53692))</sup>

#### Other Changes

- Fixed the app becoming unresponsive when a page has a very large number of `app-region` draggable elements. [#53597](electron/electron#53597) <sup>(Also in [43](electron/electron#53632), [45](https://github.com/electron/electron/pull/53596))</sup>
- Updated Chromium to 152.0.7977.78. [#53523](electron/electron#53523)
renovate Bot added a commit to cigaleapp/cigale that referenced this pull request Oct 5, 2026
##### [v44.4.5](https://github.com/electron/electron/releases/tag/v44.4.5)

### Release Notes for v44.4.5

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, Dawn, PDFium and V8. [#54222](electron/electron#54222)
##### [v44.4.4](https://github.com/electron/electron/releases/tag/v44.4.4)

### Release Notes for v44.4.4

#### Fixes

- Fixed a `Cannot read properties of undefined (reading 'startTime')` error thrown in pages while the DevTools Performance panel's live metrics were active. [#54162](electron/electron#54162)
- Fixed a crash when calling `setIgnoreMenuShortcuts()` on DevTools. [#54116](electron/electron#54116) <sup>(Also in [43](electron/electron#54117), [45](https://github.com/electron/electron/pull/54115))</sup>
- Fixed a spurious "`sandboxed_renderer.bundle.js` script failed to run" console error when DevTools attached to a sandboxed frame before its first navigation. [#54155](electron/electron#54155) <sup>(Also in [42](electron/electron#54175), [43](https://github.com/electron/electron/pull/54176))</sup>
- Fixed alignment of the text label and popup menu in the macOS save dialog. [#54143](electron/electron#54143) <sup>(Also in [45](https://github.com/electron/electron/pull/54144))</sup>
- Fixed an "Invalid `guestInstanceId`" error when removing a loaded `<webview>` from the DOM. [#54099](electron/electron#54099) <sup>(Also in [42](electron/electron#54098), [43](electron/electron#54097), [45](https://github.com/electron/electron/pull/54096))</sup>
- Fixed GPU shaders compiled by Skia not being cached between launches. [#54161](electron/electron#54161) <sup>(Also in [45](https://github.com/electron/electron/pull/54156))</sup>
- Fixed `ready-to-show` never firing for some hidden windows on Windows and Linux. [#54118](electron/electron#54118) <sup>(Also in [43](electron/electron#54119), [45](https://github.com/electron/electron/pull/54110))</sup>
- Fixed the tray context menu not working for snap-confined apps because AppArmor blocked the `/org/chromium/DbusMenu` path. [#54103](electron/electron#54103) <sup>(Also in [45](https://github.com/electron/electron/pull/54102))</sup>
##### [v44.4.3](https://github.com/electron/electron/releases/tag/v44.4.3)

### Release Notes for v44.4.3

#### Fixes

- Fixed `net.fetch()` / `net.request()` spending seconds of main-process time buffering large streamed request bodies. [#54061](electron/electron#54061) <sup>(Also in [45](https://github.com/electron/electron/pull/54062))</sup>

#### Performance Improvements

- Improved the performance of `fs` operations and `require()` on files inside asar archives. [#54051](electron/electron#54051) <sup>(Also in [45](https://github.com/electron/electron/pull/53951))</sup>

#### Other Changes

- Backported fixes from upstream Chromium, PDFium, Skia and V8. [#54081](electron/electron#54081)
##### [v44.4.2](https://github.com/electron/electron/releases/tag/v44.4.2)

### Release Notes for v44.4.2

#### Fixes

- Fixed a potential UAF when a `select-usb-device` handler destroys the requesting `webContents`. [#54009](electron/electron#54009) <sup>(Also in [43](electron/electron#54007), [45](https://github.com/electron/electron/pull/54008))</sup>

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, Skia and V8. [#53985](electron/electron#53985)
- Updated Chromium to 152.0.7977.130. [#53778](electron/electron#53778)
##### [v44.4.1](https://github.com/electron/electron/releases/tag/v44.4.1)

### Release Notes for v44.4.1

#### Fixes

- Fixed default protocol client APIs falsely returning `true` on Windows. [#53959](electron/electron#53959) <sup>(Also in [43](electron/electron#53960), [45](https://github.com/electron/electron/pull/53958))</sup>
- Fixed several object lifetime issues in `Debugger`, `Menu`, `Tray`, `Notification`, `globalShortcut`, `utilityProcess`, `ServiceWorkerMain`, `WebFrameMain`, `webFrame`, `sharedTexture`, `systemPreferences`, `netLog`, `MessagePortMain`, `net.request` and `shell.openPath()`. [#53968](electron/electron#53968) <sup>(Also in [45](https://github.com/electron/electron/pull/53805))</sup>
##### [v44.4.0](https://github.com/electron/electron/releases/tag/v44.4.0)

### Release Notes for v44.4.0

#### Features

- Added `initiatorOrigin` to webRequest and protocol handler requests, `DownloadItem.getInitiatorOrigin()`, and a trailing `frame` argument to the `will-download` and `preconnect` session events. [#53703](electron/electron#53703) <sup>(Also in [43](electron/electron#53704), [45](https://github.com/electron/electron/pull/53700))</sup>

#### Fixes

- Added validation to `protocol.registerSchemesAsPrivileged()` to reject protocol names that do not conform to RFC 3986 URI scheme grammar. [#53743](electron/electron#53743) <sup>(Also in [45](https://github.com/electron/electron/pull/53742))</sup>
- Fixed a crash when a webContents navigated to the Chrome Web Store and the page invoked the unsupported `chrome.webstorePrivate` API. [#53776](electron/electron#53776) <sup>(Also in [45](https://github.com/electron/electron/pull/53775))</sup>
- Fixed a main-process crash when an app called `loadURL()` again right after a load failed because the renderer process exited before the page committed. [#53943](electron/electron#53943) <sup>(Also in [43](electron/electron#53944), [45](https://github.com/electron/electron/pull/53942))</sup>
- Fixed a memory leak on Windows when `app.getPreferredSystemLanguages()` was called. [#53868](electron/electron#53868) <sup>(Also in [43](electron/electron#53867), [45](https://github.com/electron/electron/pull/53869))</sup>
- Fixed a potential UAF in `app.getPreferredSystemLanguages()` on Windows. [#53865](electron/electron#53865) <sup>(Also in [43](electron/electron#53866), [45](https://github.com/electron/electron/pull/53864))</sup>
- Fixed a renderer crash that could occur when printing from an iframe. [#53762](electron/electron#53762) <sup>(Also in [43](electron/electron#53761), [45](https://github.com/electron/electron/pull/53763))</sup>
- Fixed a renderer crash when an iframe was removed right after loading with `nodeIntegrationInSubFrames` enabled and `sandbox` disabled, e.g. on pages that embed Meta Pixel. [#53885](electron/electron#53885) <sup>(Also in [42](electron/electron#53886), [43](electron/electron#53884), [45](https://github.com/electron/electron/pull/53883))</sup>
- Fixed a Windows renderer crash when no default locale could be determined. [#53947](electron/electron#53947)
- Fixed an issue where the browser-side check that blocks drag and drop between cross-site frames of the same page was disabled. [#53749](electron/electron#53749) <sup>(Also in [43](electron/electron#53750), [45](https://github.com/electron/electron/pull/53748))</sup>
- Fixed helper executables on macOS starting a second app instance when launched without a process type, for example through `child_process.fork()` with the `runAsNode` fuse disabled; `fork()` now throws in that configuration. [#53840](electron/electron#53840) <sup>(Also in [45](https://github.com/electron/electron/pull/53839))</sup>
- Fixed V8 code caching for https scripts loaded by `file://` and custom-scheme pages. [#53745](electron/electron#53745) <sup>(Also in [45](https://github.com/electron/electron/pull/53746))</sup>
- Fixed `webContents` emitting `unresponsive` right after the system wakes from sleep on Windows, and emitting `responsive` when a hung window was hidden rather than when it recovered. [#53764](electron/electron#53764) <sup>(Also in [45](https://github.com/electron/electron/pull/53760))</sup>
- Fixed `webContents.capturePage()` on offscreen windows returning an image resampled to the display's scale factor instead of rendered at the window's `offscreen.deviceScaleFactor`. [#53816](electron/electron#53816) <sup>(Also in [43](electron/electron#53818), [45](https://github.com/electron/electron/pull/53817))</sup>
- Fixed Window Controls Overlay CSS environment variables and `navigator.windowControlsOverlay` not being populated for `WebContentsView`s in a `BaseWindow`. [#53812](electron/electron#53812) <sup>(Also in [45](https://github.com/electron/electron/pull/53811))</sup>

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, libyuv, PDFium and V8. [#53769](electron/electron#53769)
- Updated Node.js to v24.21.0. [#53779](electron/electron#53779)
##### [v44.3.0](https://github.com/electron/electron/releases/tag/v44.3.0)

### Release Notes for v44.3.0

#### Features

- Added the `ELECTRON_DEBUG_DRAGGABLE_REGIONS` environment variable, which visualizes and logs draggable regions in unpackaged apps to help debug custom title bars. [#53627](electron/electron#53627) <sup>(Also in [43](electron/electron#53633), [45](https://github.com/electron/electron/pull/53626))</sup>

#### Fixes

- File System Access permission requests and the `file-system-access-restricted` event are scoped to the requesting document, grants are reset when the origin's last page closes, and write access works in in-memory sessions. [#53691](electron/electron#53691) <sup>(Also in [42](electron/electron#53695), [43](electron/electron#53694), [45](https://github.com/electron/electron/pull/53690))</sup>
- Fixed Ctrl+Y not yanking text killed with Ctrl+K in text fields on macOS. [#53714](electron/electron#53714) <sup>(Also in [45](https://github.com/electron/electron/pull/53715))</sup>
- Fixed `Tray` icons not appearing when running inside Flatpak or Snap sandboxes on Linux. [#53653](electron/electron#53653) <sup>(Also in [45](https://github.com/electron/electron/pull/53654))</sup>
- Fixed `app.getGPUInfo('complete')` stalling the GPU process for several seconds on some Windows systems. [#53644](electron/electron#53644) <sup>(Also in [45](https://github.com/electron/electron/pull/53645))</sup>
- Fixed `session.setPermissionCheckHandler` receiving the top-level origin and a null `webContents` for `hid` and `usb` checks made from a subframe. [#53688](electron/electron#53688) <sup>(Also in [42](electron/electron#53736), [43](electron/electron#53689), [45](https://github.com/electron/electron/pull/53679))</sup>
- Fixed `webContents.on()`, `removeListener()` and `removeAllListeners()` throwing "Object has been destroyed" for `console-message` listeners after the WebContents was destroyed. [#53494](electron/electron#53494) <sup>(Also in [42](electron/electron#53497), [43](electron/electron#53496), [45](https://github.com/electron/electron/pull/53495))</sup>
- Fixed a crash on Linux when `process.env` was written while another thread was reading the environment, and a memory leak when a worker thread exits. [#53509](electron/electron#53509) <sup>(Also in [42](electron/electron#53511), [43](electron/electron#53510), [45](https://github.com/electron/electron/pull/53508))</sup>
- Fixed a possible crash on Windows when a file dialog was shown for a window that was being closed at the same time. [#53583](electron/electron#53583) <sup>(Also in [42](electron/electron#53585), [43](electron/electron#53584), [45](https://github.com/electron/electron/pull/53586))</sup>
- Fixed a renderer crash when the main process sent IPC to, or a page navigated, a same-process `window.open()` child whose `contextIsolation` differed from its opener's. [#53539](electron/electron#53539) <sup>(Also in [42](electron/electron#53541), [43](electron/electron#53540), [45](https://github.com/electron/electron/pull/53538))</sup>
- Fixed a spurious `node_init` error being logged when creating a `ShadowRealm` with Node.js integration enabled. [#53579](electron/electron#53579) <sup>(Also in [45](https://github.com/electron/electron/pull/53578))</sup>
- Fixed crashes in `setDisplayMediaRequestHandler` when the granted frame had been destroyed or another tab was granted by id. [#53672](electron/electron#53672) <sup>(Also in [42](electron/electron#53674), [43](electron/electron#53671), [45](https://github.com/electron/electron/pull/53673))</sup>
- Fixed several non-functional DevTools integrations: the Security panel's "View certificate" button, Ctrl+wheel zooming inside DevTools, and DevTools keyboard shortcuts (e.g. F8) while the inspected page has focus. [#53630](electron/electron#53630) <sup>(Also in [43](electron/electron#53631), [45](https://github.com/electron/electron/pull/53471))</sup>
- Fixed window state not being persisted when a window entered or left fullscreen, or was maximized or unmaximized, without also being moved or resized. [#53576](electron/electron#53576) <sup>(Also in [45](https://github.com/electron/electron/pull/53577))</sup>
- Internal `<webview>`, `window.close()` and `executeJavaScript` reply IPCs are validated against the sending frame. [#53723](electron/electron#53723) <sup>(Also in [42](electron/electron#53727), [43](electron/electron#53726), [45](https://github.com/electron/electron/pull/53724))</sup>
- `<webview>` without `allowpopups` also blocks links opened into a new window by modifier-click, and such windows navigate as the clicking document rather than as a browser-initiated load. [#53721](electron/electron#53721) <sup>(Also in [42](electron/electron#53719), [43](electron/electron#53718), [45](https://github.com/electron/electron/pull/53717))</sup>
- `getUserMedia` with `chromeMediaSource: 'desktop'` no longer accepts WebContents source ids; use `chromeMediaSource: 'tab'` with `webContents.getMediaSourceId()` or `setDisplayMediaRequestHandler` to capture a WebContents. [#53709](electron/electron#53709) <sup>(Also in [42](electron/electron#53710), [43](electron/electron#53707), [45](https://github.com/electron/electron/pull/53708))</sup>
- `nodeIntegrationInWorker` now applies only to workers created by frames that themselves have Node integration; enable `nodeIntegrationInSubFrames` to keep Node in workers created by subframes. [#53711](electron/electron#53711) <sup>(Also in [42](electron/electron#53713), [43](electron/electron#53712), [45](https://github.com/electron/electron/pull/53706))</sup>
- `openExternal` permission requests started by a frame that has since gone away are attributed to that frame's origin rather than to the navigating page. [#53699](electron/electron#53699) <sup>(Also in [42](electron/electron#53697), [43](electron/electron#53698), [45](https://github.com/electron/electron/pull/53696))</sup>
- `pointerLock` and `keyboardLock` permission requests now report the requesting frame, and `execCommand('paste')` requires user activation in the frame that calls it. [#53693](electron/electron#53693) <sup>(Also in [42](electron/electron#53702), [43](electron/electron#53701), [45](https://github.com/electron/electron/pull/53692))</sup>

#### Other Changes

- Fixed the app becoming unresponsive when a page has a very large number of `app-region` draggable elements. [#53597](electron/electron#53597) <sup>(Also in [43](electron/electron#53632), [45](https://github.com/electron/electron/pull/53596))</sup>
- Updated Chromium to 152.0.7977.78. [#53523](electron/electron#53523)
renovate Bot added a commit to cigaleapp/cigale that referenced this pull request Oct 5, 2026
##### [v44.4.5](https://github.com/electron/electron/releases/tag/v44.4.5)

### Release Notes for v44.4.5

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, Dawn, PDFium and V8. [#54222](electron/electron#54222)
##### [v44.4.4](https://github.com/electron/electron/releases/tag/v44.4.4)

### Release Notes for v44.4.4

#### Fixes

- Fixed a `Cannot read properties of undefined (reading 'startTime')` error thrown in pages while the DevTools Performance panel's live metrics were active. [#54162](electron/electron#54162)
- Fixed a crash when calling `setIgnoreMenuShortcuts()` on DevTools. [#54116](electron/electron#54116) <sup>(Also in [43](electron/electron#54117), [45](https://github.com/electron/electron/pull/54115))</sup>
- Fixed a spurious "`sandboxed_renderer.bundle.js` script failed to run" console error when DevTools attached to a sandboxed frame before its first navigation. [#54155](electron/electron#54155) <sup>(Also in [42](electron/electron#54175), [43](https://github.com/electron/electron/pull/54176))</sup>
- Fixed alignment of the text label and popup menu in the macOS save dialog. [#54143](electron/electron#54143) <sup>(Also in [45](https://github.com/electron/electron/pull/54144))</sup>
- Fixed an "Invalid `guestInstanceId`" error when removing a loaded `<webview>` from the DOM. [#54099](electron/electron#54099) <sup>(Also in [42](electron/electron#54098), [43](electron/electron#54097), [45](https://github.com/electron/electron/pull/54096))</sup>
- Fixed GPU shaders compiled by Skia not being cached between launches. [#54161](electron/electron#54161) <sup>(Also in [45](https://github.com/electron/electron/pull/54156))</sup>
- Fixed `ready-to-show` never firing for some hidden windows on Windows and Linux. [#54118](electron/electron#54118) <sup>(Also in [43](electron/electron#54119), [45](https://github.com/electron/electron/pull/54110))</sup>
- Fixed the tray context menu not working for snap-confined apps because AppArmor blocked the `/org/chromium/DbusMenu` path. [#54103](electron/electron#54103) <sup>(Also in [45](https://github.com/electron/electron/pull/54102))</sup>
##### [v44.4.3](https://github.com/electron/electron/releases/tag/v44.4.3)

### Release Notes for v44.4.3

#### Fixes

- Fixed `net.fetch()` / `net.request()` spending seconds of main-process time buffering large streamed request bodies. [#54061](electron/electron#54061) <sup>(Also in [45](https://github.com/electron/electron/pull/54062))</sup>

#### Performance Improvements

- Improved the performance of `fs` operations and `require()` on files inside asar archives. [#54051](electron/electron#54051) <sup>(Also in [45](https://github.com/electron/electron/pull/53951))</sup>

#### Other Changes

- Backported fixes from upstream Chromium, PDFium, Skia and V8. [#54081](electron/electron#54081)
##### [v44.4.2](https://github.com/electron/electron/releases/tag/v44.4.2)

### Release Notes for v44.4.2

#### Fixes

- Fixed a potential UAF when a `select-usb-device` handler destroys the requesting `webContents`. [#54009](electron/electron#54009) <sup>(Also in [43](electron/electron#54007), [45](https://github.com/electron/electron/pull/54008))</sup>

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, Skia and V8. [#53985](electron/electron#53985)
- Updated Chromium to 152.0.7977.130. [#53778](electron/electron#53778)
##### [v44.4.1](https://github.com/electron/electron/releases/tag/v44.4.1)

### Release Notes for v44.4.1

#### Fixes

- Fixed default protocol client APIs falsely returning `true` on Windows. [#53959](electron/electron#53959) <sup>(Also in [43](electron/electron#53960), [45](https://github.com/electron/electron/pull/53958))</sup>
- Fixed several object lifetime issues in `Debugger`, `Menu`, `Tray`, `Notification`, `globalShortcut`, `utilityProcess`, `ServiceWorkerMain`, `WebFrameMain`, `webFrame`, `sharedTexture`, `systemPreferences`, `netLog`, `MessagePortMain`, `net.request` and `shell.openPath()`. [#53968](electron/electron#53968) <sup>(Also in [45](https://github.com/electron/electron/pull/53805))</sup>
##### [v44.4.0](https://github.com/electron/electron/releases/tag/v44.4.0)

### Release Notes for v44.4.0

#### Features

- Added `initiatorOrigin` to webRequest and protocol handler requests, `DownloadItem.getInitiatorOrigin()`, and a trailing `frame` argument to the `will-download` and `preconnect` session events. [#53703](electron/electron#53703) <sup>(Also in [43](electron/electron#53704), [45](https://github.com/electron/electron/pull/53700))</sup>

#### Fixes

- Added validation to `protocol.registerSchemesAsPrivileged()` to reject protocol names that do not conform to RFC 3986 URI scheme grammar. [#53743](electron/electron#53743) <sup>(Also in [45](https://github.com/electron/electron/pull/53742))</sup>
- Fixed a crash when a webContents navigated to the Chrome Web Store and the page invoked the unsupported `chrome.webstorePrivate` API. [#53776](electron/electron#53776) <sup>(Also in [45](https://github.com/electron/electron/pull/53775))</sup>
- Fixed a main-process crash when an app called `loadURL()` again right after a load failed because the renderer process exited before the page committed. [#53943](electron/electron#53943) <sup>(Also in [43](electron/electron#53944), [45](https://github.com/electron/electron/pull/53942))</sup>
- Fixed a memory leak on Windows when `app.getPreferredSystemLanguages()` was called. [#53868](electron/electron#53868) <sup>(Also in [43](electron/electron#53867), [45](https://github.com/electron/electron/pull/53869))</sup>
- Fixed a potential UAF in `app.getPreferredSystemLanguages()` on Windows. [#53865](electron/electron#53865) <sup>(Also in [43](electron/electron#53866), [45](https://github.com/electron/electron/pull/53864))</sup>
- Fixed a renderer crash that could occur when printing from an iframe. [#53762](electron/electron#53762) <sup>(Also in [43](electron/electron#53761), [45](https://github.com/electron/electron/pull/53763))</sup>
- Fixed a renderer crash when an iframe was removed right after loading with `nodeIntegrationInSubFrames` enabled and `sandbox` disabled, e.g. on pages that embed Meta Pixel. [#53885](electron/electron#53885) <sup>(Also in [42](electron/electron#53886), [43](electron/electron#53884), [45](https://github.com/electron/electron/pull/53883))</sup>
- Fixed a Windows renderer crash when no default locale could be determined. [#53947](electron/electron#53947)
- Fixed an issue where the browser-side check that blocks drag and drop between cross-site frames of the same page was disabled. [#53749](electron/electron#53749) <sup>(Also in [43](electron/electron#53750), [45](https://github.com/electron/electron/pull/53748))</sup>
- Fixed helper executables on macOS starting a second app instance when launched without a process type, for example through `child_process.fork()` with the `runAsNode` fuse disabled; `fork()` now throws in that configuration. [#53840](electron/electron#53840) <sup>(Also in [45](https://github.com/electron/electron/pull/53839))</sup>
- Fixed V8 code caching for https scripts loaded by `file://` and custom-scheme pages. [#53745](electron/electron#53745) <sup>(Also in [45](https://github.com/electron/electron/pull/53746))</sup>
- Fixed `webContents` emitting `unresponsive` right after the system wakes from sleep on Windows, and emitting `responsive` when a hung window was hidden rather than when it recovered. [#53764](electron/electron#53764) <sup>(Also in [45](https://github.com/electron/electron/pull/53760))</sup>
- Fixed `webContents.capturePage()` on offscreen windows returning an image resampled to the display's scale factor instead of rendered at the window's `offscreen.deviceScaleFactor`. [#53816](electron/electron#53816) <sup>(Also in [43](electron/electron#53818), [45](https://github.com/electron/electron/pull/53817))</sup>
- Fixed Window Controls Overlay CSS environment variables and `navigator.windowControlsOverlay` not being populated for `WebContentsView`s in a `BaseWindow`. [#53812](electron/electron#53812) <sup>(Also in [45](https://github.com/electron/electron/pull/53811))</sup>

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, libyuv, PDFium and V8. [#53769](electron/electron#53769)
- Updated Node.js to v24.21.0. [#53779](electron/electron#53779)
##### [v44.3.0](https://github.com/electron/electron/releases/tag/v44.3.0)

### Release Notes for v44.3.0

#### Features

- Added the `ELECTRON_DEBUG_DRAGGABLE_REGIONS` environment variable, which visualizes and logs draggable regions in unpackaged apps to help debug custom title bars. [#53627](electron/electron#53627) <sup>(Also in [43](electron/electron#53633), [45](https://github.com/electron/electron/pull/53626))</sup>

#### Fixes

- File System Access permission requests and the `file-system-access-restricted` event are scoped to the requesting document, grants are reset when the origin's last page closes, and write access works in in-memory sessions. [#53691](electron/electron#53691) <sup>(Also in [42](electron/electron#53695), [43](electron/electron#53694), [45](https://github.com/electron/electron/pull/53690))</sup>
- Fixed Ctrl+Y not yanking text killed with Ctrl+K in text fields on macOS. [#53714](electron/electron#53714) <sup>(Also in [45](https://github.com/electron/electron/pull/53715))</sup>
- Fixed `Tray` icons not appearing when running inside Flatpak or Snap sandboxes on Linux. [#53653](electron/electron#53653) <sup>(Also in [45](https://github.com/electron/electron/pull/53654))</sup>
- Fixed `app.getGPUInfo('complete')` stalling the GPU process for several seconds on some Windows systems. [#53644](electron/electron#53644) <sup>(Also in [45](https://github.com/electron/electron/pull/53645))</sup>
- Fixed `session.setPermissionCheckHandler` receiving the top-level origin and a null `webContents` for `hid` and `usb` checks made from a subframe. [#53688](electron/electron#53688) <sup>(Also in [42](electron/electron#53736), [43](electron/electron#53689), [45](https://github.com/electron/electron/pull/53679))</sup>
- Fixed `webContents.on()`, `removeListener()` and `removeAllListeners()` throwing "Object has been destroyed" for `console-message` listeners after the WebContents was destroyed. [#53494](electron/electron#53494) <sup>(Also in [42](electron/electron#53497), [43](electron/electron#53496), [45](https://github.com/electron/electron/pull/53495))</sup>
- Fixed a crash on Linux when `process.env` was written while another thread was reading the environment, and a memory leak when a worker thread exits. [#53509](electron/electron#53509) <sup>(Also in [42](electron/electron#53511), [43](electron/electron#53510), [45](https://github.com/electron/electron/pull/53508))</sup>
- Fixed a possible crash on Windows when a file dialog was shown for a window that was being closed at the same time. [#53583](electron/electron#53583) <sup>(Also in [42](electron/electron#53585), [43](electron/electron#53584), [45](https://github.com/electron/electron/pull/53586))</sup>
- Fixed a renderer crash when the main process sent IPC to, or a page navigated, a same-process `window.open()` child whose `contextIsolation` differed from its opener's. [#53539](electron/electron#53539) <sup>(Also in [42](electron/electron#53541), [43](electron/electron#53540), [45](https://github.com/electron/electron/pull/53538))</sup>
- Fixed a spurious `node_init` error being logged when creating a `ShadowRealm` with Node.js integration enabled. [#53579](electron/electron#53579) <sup>(Also in [45](https://github.com/electron/electron/pull/53578))</sup>
- Fixed crashes in `setDisplayMediaRequestHandler` when the granted frame had been destroyed or another tab was granted by id. [#53672](electron/electron#53672) <sup>(Also in [42](electron/electron#53674), [43](electron/electron#53671), [45](https://github.com/electron/electron/pull/53673))</sup>
- Fixed several non-functional DevTools integrations: the Security panel's "View certificate" button, Ctrl+wheel zooming inside DevTools, and DevTools keyboard shortcuts (e.g. F8) while the inspected page has focus. [#53630](electron/electron#53630) <sup>(Also in [43](electron/electron#53631), [45](https://github.com/electron/electron/pull/53471))</sup>
- Fixed window state not being persisted when a window entered or left fullscreen, or was maximized or unmaximized, without also being moved or resized. [#53576](electron/electron#53576) <sup>(Also in [45](https://github.com/electron/electron/pull/53577))</sup>
- Internal `<webview>`, `window.close()` and `executeJavaScript` reply IPCs are validated against the sending frame. [#53723](electron/electron#53723) <sup>(Also in [42](electron/electron#53727), [43](electron/electron#53726), [45](https://github.com/electron/electron/pull/53724))</sup>
- `<webview>` without `allowpopups` also blocks links opened into a new window by modifier-click, and such windows navigate as the clicking document rather than as a browser-initiated load. [#53721](electron/electron#53721) <sup>(Also in [42](electron/electron#53719), [43](electron/electron#53718), [45](https://github.com/electron/electron/pull/53717))</sup>
- `getUserMedia` with `chromeMediaSource: 'desktop'` no longer accepts WebContents source ids; use `chromeMediaSource: 'tab'` with `webContents.getMediaSourceId()` or `setDisplayMediaRequestHandler` to capture a WebContents. [#53709](electron/electron#53709) <sup>(Also in [42](electron/electron#53710), [43](electron/electron#53707), [45](https://github.com/electron/electron/pull/53708))</sup>
- `nodeIntegrationInWorker` now applies only to workers created by frames that themselves have Node integration; enable `nodeIntegrationInSubFrames` to keep Node in workers created by subframes. [#53711](electron/electron#53711) <sup>(Also in [42](electron/electron#53713), [43](electron/electron#53712), [45](https://github.com/electron/electron/pull/53706))</sup>
- `openExternal` permission requests started by a frame that has since gone away are attributed to that frame's origin rather than to the navigating page. [#53699](electron/electron#53699) <sup>(Also in [42](electron/electron#53697), [43](electron/electron#53698), [45](https://github.com/electron/electron/pull/53696))</sup>
- `pointerLock` and `keyboardLock` permission requests now report the requesting frame, and `execCommand('paste')` requires user activation in the frame that calls it. [#53693](electron/electron#53693) <sup>(Also in [42](electron/electron#53702), [43](electron/electron#53701), [45](https://github.com/electron/electron/pull/53692))</sup>

#### Other Changes

- Fixed the app becoming unresponsive when a page has a very large number of `app-region` draggable elements. [#53597](electron/electron#53597) <sup>(Also in [43](electron/electron#53632), [45](https://github.com/electron/electron/pull/53596))</sup>
- Updated Chromium to 152.0.7977.78. [#53523](electron/electron#53523)
renovate Bot added a commit to cigaleapp/cigale that referenced this pull request Oct 5, 2026
##### [v44.4.5](https://github.com/electron/electron/releases/tag/v44.4.5)

### Release Notes for v44.4.5

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, Dawn, PDFium and V8. [#54222](electron/electron#54222)
##### [v44.4.4](https://github.com/electron/electron/releases/tag/v44.4.4)

### Release Notes for v44.4.4

#### Fixes

- Fixed a `Cannot read properties of undefined (reading 'startTime')` error thrown in pages while the DevTools Performance panel's live metrics were active. [#54162](electron/electron#54162)
- Fixed a crash when calling `setIgnoreMenuShortcuts()` on DevTools. [#54116](electron/electron#54116) <sup>(Also in [43](electron/electron#54117), [45](https://github.com/electron/electron/pull/54115))</sup>
- Fixed a spurious "`sandboxed_renderer.bundle.js` script failed to run" console error when DevTools attached to a sandboxed frame before its first navigation. [#54155](electron/electron#54155) <sup>(Also in [42](electron/electron#54175), [43](https://github.com/electron/electron/pull/54176))</sup>
- Fixed alignment of the text label and popup menu in the macOS save dialog. [#54143](electron/electron#54143) <sup>(Also in [45](https://github.com/electron/electron/pull/54144))</sup>
- Fixed an "Invalid `guestInstanceId`" error when removing a loaded `<webview>` from the DOM. [#54099](electron/electron#54099) <sup>(Also in [42](electron/electron#54098), [43](electron/electron#54097), [45](https://github.com/electron/electron/pull/54096))</sup>
- Fixed GPU shaders compiled by Skia not being cached between launches. [#54161](electron/electron#54161) <sup>(Also in [45](https://github.com/electron/electron/pull/54156))</sup>
- Fixed `ready-to-show` never firing for some hidden windows on Windows and Linux. [#54118](electron/electron#54118) <sup>(Also in [43](electron/electron#54119), [45](https://github.com/electron/electron/pull/54110))</sup>
- Fixed the tray context menu not working for snap-confined apps because AppArmor blocked the `/org/chromium/DbusMenu` path. [#54103](electron/electron#54103) <sup>(Also in [45](https://github.com/electron/electron/pull/54102))</sup>
##### [v44.4.3](https://github.com/electron/electron/releases/tag/v44.4.3)

### Release Notes for v44.4.3

#### Fixes

- Fixed `net.fetch()` / `net.request()` spending seconds of main-process time buffering large streamed request bodies. [#54061](electron/electron#54061) <sup>(Also in [45](https://github.com/electron/electron/pull/54062))</sup>

#### Performance Improvements

- Improved the performance of `fs` operations and `require()` on files inside asar archives. [#54051](electron/electron#54051) <sup>(Also in [45](https://github.com/electron/electron/pull/53951))</sup>

#### Other Changes

- Backported fixes from upstream Chromium, PDFium, Skia and V8. [#54081](electron/electron#54081)
##### [v44.4.2](https://github.com/electron/electron/releases/tag/v44.4.2)

### Release Notes for v44.4.2

#### Fixes

- Fixed a potential UAF when a `select-usb-device` handler destroys the requesting `webContents`. [#54009](electron/electron#54009) <sup>(Also in [43](electron/electron#54007), [45](https://github.com/electron/electron/pull/54008))</sup>

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, Skia and V8. [#53985](electron/electron#53985)
- Updated Chromium to 152.0.7977.130. [#53778](electron/electron#53778)
##### [v44.4.1](https://github.com/electron/electron/releases/tag/v44.4.1)

### Release Notes for v44.4.1

#### Fixes

- Fixed default protocol client APIs falsely returning `true` on Windows. [#53959](electron/electron#53959) <sup>(Also in [43](electron/electron#53960), [45](https://github.com/electron/electron/pull/53958))</sup>
- Fixed several object lifetime issues in `Debugger`, `Menu`, `Tray`, `Notification`, `globalShortcut`, `utilityProcess`, `ServiceWorkerMain`, `WebFrameMain`, `webFrame`, `sharedTexture`, `systemPreferences`, `netLog`, `MessagePortMain`, `net.request` and `shell.openPath()`. [#53968](electron/electron#53968) <sup>(Also in [45](https://github.com/electron/electron/pull/53805))</sup>
##### [v44.4.0](https://github.com/electron/electron/releases/tag/v44.4.0)

### Release Notes for v44.4.0

#### Features

- Added `initiatorOrigin` to webRequest and protocol handler requests, `DownloadItem.getInitiatorOrigin()`, and a trailing `frame` argument to the `will-download` and `preconnect` session events. [#53703](electron/electron#53703) <sup>(Also in [43](electron/electron#53704), [45](https://github.com/electron/electron/pull/53700))</sup>

#### Fixes

- Added validation to `protocol.registerSchemesAsPrivileged()` to reject protocol names that do not conform to RFC 3986 URI scheme grammar. [#53743](electron/electron#53743) <sup>(Also in [45](https://github.com/electron/electron/pull/53742))</sup>
- Fixed a crash when a webContents navigated to the Chrome Web Store and the page invoked the unsupported `chrome.webstorePrivate` API. [#53776](electron/electron#53776) <sup>(Also in [45](https://github.com/electron/electron/pull/53775))</sup>
- Fixed a main-process crash when an app called `loadURL()` again right after a load failed because the renderer process exited before the page committed. [#53943](electron/electron#53943) <sup>(Also in [43](electron/electron#53944), [45](https://github.com/electron/electron/pull/53942))</sup>
- Fixed a memory leak on Windows when `app.getPreferredSystemLanguages()` was called. [#53868](electron/electron#53868) <sup>(Also in [43](electron/electron#53867), [45](https://github.com/electron/electron/pull/53869))</sup>
- Fixed a potential UAF in `app.getPreferredSystemLanguages()` on Windows. [#53865](electron/electron#53865) <sup>(Also in [43](electron/electron#53866), [45](https://github.com/electron/electron/pull/53864))</sup>
- Fixed a renderer crash that could occur when printing from an iframe. [#53762](electron/electron#53762) <sup>(Also in [43](electron/electron#53761), [45](https://github.com/electron/electron/pull/53763))</sup>
- Fixed a renderer crash when an iframe was removed right after loading with `nodeIntegrationInSubFrames` enabled and `sandbox` disabled, e.g. on pages that embed Meta Pixel. [#53885](electron/electron#53885) <sup>(Also in [42](electron/electron#53886), [43](electron/electron#53884), [45](https://github.com/electron/electron/pull/53883))</sup>
- Fixed a Windows renderer crash when no default locale could be determined. [#53947](electron/electron#53947)
- Fixed an issue where the browser-side check that blocks drag and drop between cross-site frames of the same page was disabled. [#53749](electron/electron#53749) <sup>(Also in [43](electron/electron#53750), [45](https://github.com/electron/electron/pull/53748))</sup>
- Fixed helper executables on macOS starting a second app instance when launched without a process type, for example through `child_process.fork()` with the `runAsNode` fuse disabled; `fork()` now throws in that configuration. [#53840](electron/electron#53840) <sup>(Also in [45](https://github.com/electron/electron/pull/53839))</sup>
- Fixed V8 code caching for https scripts loaded by `file://` and custom-scheme pages. [#53745](electron/electron#53745) <sup>(Also in [45](https://github.com/electron/electron/pull/53746))</sup>
- Fixed `webContents` emitting `unresponsive` right after the system wakes from sleep on Windows, and emitting `responsive` when a hung window was hidden rather than when it recovered. [#53764](electron/electron#53764) <sup>(Also in [45](https://github.com/electron/electron/pull/53760))</sup>
- Fixed `webContents.capturePage()` on offscreen windows returning an image resampled to the display's scale factor instead of rendered at the window's `offscreen.deviceScaleFactor`. [#53816](electron/electron#53816) <sup>(Also in [43](electron/electron#53818), [45](https://github.com/electron/electron/pull/53817))</sup>
- Fixed Window Controls Overlay CSS environment variables and `navigator.windowControlsOverlay` not being populated for `WebContentsView`s in a `BaseWindow`. [#53812](electron/electron#53812) <sup>(Also in [45](https://github.com/electron/electron/pull/53811))</sup>

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, libyuv, PDFium and V8. [#53769](electron/electron#53769)
- Updated Node.js to v24.21.0. [#53779](electron/electron#53779)
##### [v44.3.0](https://github.com/electron/electron/releases/tag/v44.3.0)

### Release Notes for v44.3.0

#### Features

- Added the `ELECTRON_DEBUG_DRAGGABLE_REGIONS` environment variable, which visualizes and logs draggable regions in unpackaged apps to help debug custom title bars. [#53627](electron/electron#53627) <sup>(Also in [43](electron/electron#53633), [45](https://github.com/electron/electron/pull/53626))</sup>

#### Fixes

- File System Access permission requests and the `file-system-access-restricted` event are scoped to the requesting document, grants are reset when the origin's last page closes, and write access works in in-memory sessions. [#53691](electron/electron#53691) <sup>(Also in [42](electron/electron#53695), [43](electron/electron#53694), [45](https://github.com/electron/electron/pull/53690))</sup>
- Fixed Ctrl+Y not yanking text killed with Ctrl+K in text fields on macOS. [#53714](electron/electron#53714) <sup>(Also in [45](https://github.com/electron/electron/pull/53715))</sup>
- Fixed `Tray` icons not appearing when running inside Flatpak or Snap sandboxes on Linux. [#53653](electron/electron#53653) <sup>(Also in [45](https://github.com/electron/electron/pull/53654))</sup>
- Fixed `app.getGPUInfo('complete')` stalling the GPU process for several seconds on some Windows systems. [#53644](electron/electron#53644) <sup>(Also in [45](https://github.com/electron/electron/pull/53645))</sup>
- Fixed `session.setPermissionCheckHandler` receiving the top-level origin and a null `webContents` for `hid` and `usb` checks made from a subframe. [#53688](electron/electron#53688) <sup>(Also in [42](electron/electron#53736), [43](electron/electron#53689), [45](https://github.com/electron/electron/pull/53679))</sup>
- Fixed `webContents.on()`, `removeListener()` and `removeAllListeners()` throwing "Object has been destroyed" for `console-message` listeners after the WebContents was destroyed. [#53494](electron/electron#53494) <sup>(Also in [42](electron/electron#53497), [43](electron/electron#53496), [45](https://github.com/electron/electron/pull/53495))</sup>
- Fixed a crash on Linux when `process.env` was written while another thread was reading the environment, and a memory leak when a worker thread exits. [#53509](electron/electron#53509) <sup>(Also in [42](electron/electron#53511), [43](electron/electron#53510), [45](https://github.com/electron/electron/pull/53508))</sup>
- Fixed a possible crash on Windows when a file dialog was shown for a window that was being closed at the same time. [#53583](electron/electron#53583) <sup>(Also in [42](electron/electron#53585), [43](electron/electron#53584), [45](https://github.com/electron/electron/pull/53586))</sup>
- Fixed a renderer crash when the main process sent IPC to, or a page navigated, a same-process `window.open()` child whose `contextIsolation` differed from its opener's. [#53539](electron/electron#53539) <sup>(Also in [42](electron/electron#53541), [43](electron/electron#53540), [45](https://github.com/electron/electron/pull/53538))</sup>
- Fixed a spurious `node_init` error being logged when creating a `ShadowRealm` with Node.js integration enabled. [#53579](electron/electron#53579) <sup>(Also in [45](https://github.com/electron/electron/pull/53578))</sup>
- Fixed crashes in `setDisplayMediaRequestHandler` when the granted frame had been destroyed or another tab was granted by id. [#53672](electron/electron#53672) <sup>(Also in [42](electron/electron#53674), [43](electron/electron#53671), [45](https://github.com/electron/electron/pull/53673))</sup>
- Fixed several non-functional DevTools integrations: the Security panel's "View certificate" button, Ctrl+wheel zooming inside DevTools, and DevTools keyboard shortcuts (e.g. F8) while the inspected page has focus. [#53630](electron/electron#53630) <sup>(Also in [43](electron/electron#53631), [45](https://github.com/electron/electron/pull/53471))</sup>
- Fixed window state not being persisted when a window entered or left fullscreen, or was maximized or unmaximized, without also being moved or resized. [#53576](electron/electron#53576) <sup>(Also in [45](https://github.com/electron/electron/pull/53577))</sup>
- Internal `<webview>`, `window.close()` and `executeJavaScript` reply IPCs are validated against the sending frame. [#53723](electron/electron#53723) <sup>(Also in [42](electron/electron#53727), [43](electron/electron#53726), [45](https://github.com/electron/electron/pull/53724))</sup>
- `<webview>` without `allowpopups` also blocks links opened into a new window by modifier-click, and such windows navigate as the clicking document rather than as a browser-initiated load. [#53721](electron/electron#53721) <sup>(Also in [42](electron/electron#53719), [43](electron/electron#53718), [45](https://github.com/electron/electron/pull/53717))</sup>
- `getUserMedia` with `chromeMediaSource: 'desktop'` no longer accepts WebContents source ids; use `chromeMediaSource: 'tab'` with `webContents.getMediaSourceId()` or `setDisplayMediaRequestHandler` to capture a WebContents. [#53709](electron/electron#53709) <sup>(Also in [42](electron/electron#53710), [43](electron/electron#53707), [45](https://github.com/electron/electron/pull/53708))</sup>
- `nodeIntegrationInWorker` now applies only to workers created by frames that themselves have Node integration; enable `nodeIntegrationInSubFrames` to keep Node in workers created by subframes. [#53711](electron/electron#53711) <sup>(Also in [42](electron/electron#53713), [43](electron/electron#53712), [45](https://github.com/electron/electron/pull/53706))</sup>
- `openExternal` permission requests started by a frame that has since gone away are attributed to that frame's origin rather than to the navigating page. [#53699](electron/electron#53699) <sup>(Also in [42](electron/electron#53697), [43](electron/electron#53698), [45](https://github.com/electron/electron/pull/53696))</sup>
- `pointerLock` and `keyboardLock` permission requests now report the requesting frame, and `execCommand('paste')` requires user activation in the frame that calls it. [#53693](electron/electron#53693) <sup>(Also in [42](electron/electron#53702), [43](electron/electron#53701), [45](https://github.com/electron/electron/pull/53692))</sup>

#### Other Changes

- Fixed the app becoming unresponsive when a page has a very large number of `app-region` draggable elements. [#53597](electron/electron#53597) <sup>(Also in [43](electron/electron#53632), [45](https://github.com/electron/electron/pull/53596))</sup>
- Updated Chromium to 152.0.7977.78. [#53523](electron/electron#53523)
renovate Bot added a commit to cigaleapp/cigale that referenced this pull request Oct 5, 2026
##### [v44.4.5](https://github.com/electron/electron/releases/tag/v44.4.5)

### Release Notes for v44.4.5

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, Dawn, PDFium and V8. [#54222](electron/electron#54222)
##### [v44.4.4](https://github.com/electron/electron/releases/tag/v44.4.4)

### Release Notes for v44.4.4

#### Fixes

- Fixed a `Cannot read properties of undefined (reading 'startTime')` error thrown in pages while the DevTools Performance panel's live metrics were active. [#54162](electron/electron#54162)
- Fixed a crash when calling `setIgnoreMenuShortcuts()` on DevTools. [#54116](electron/electron#54116) <sup>(Also in [43](electron/electron#54117), [45](https://github.com/electron/electron/pull/54115))</sup>
- Fixed a spurious "`sandboxed_renderer.bundle.js` script failed to run" console error when DevTools attached to a sandboxed frame before its first navigation. [#54155](electron/electron#54155) <sup>(Also in [42](electron/electron#54175), [43](https://github.com/electron/electron/pull/54176))</sup>
- Fixed alignment of the text label and popup menu in the macOS save dialog. [#54143](electron/electron#54143) <sup>(Also in [45](https://github.com/electron/electron/pull/54144))</sup>
- Fixed an "Invalid `guestInstanceId`" error when removing a loaded `<webview>` from the DOM. [#54099](electron/electron#54099) <sup>(Also in [42](electron/electron#54098), [43](electron/electron#54097), [45](https://github.com/electron/electron/pull/54096))</sup>
- Fixed GPU shaders compiled by Skia not being cached between launches. [#54161](electron/electron#54161) <sup>(Also in [45](https://github.com/electron/electron/pull/54156))</sup>
- Fixed `ready-to-show` never firing for some hidden windows on Windows and Linux. [#54118](electron/electron#54118) <sup>(Also in [43](electron/electron#54119), [45](https://github.com/electron/electron/pull/54110))</sup>
- Fixed the tray context menu not working for snap-confined apps because AppArmor blocked the `/org/chromium/DbusMenu` path. [#54103](electron/electron#54103) <sup>(Also in [45](https://github.com/electron/electron/pull/54102))</sup>
##### [v44.4.3](https://github.com/electron/electron/releases/tag/v44.4.3)

### Release Notes for v44.4.3

#### Fixes

- Fixed `net.fetch()` / `net.request()` spending seconds of main-process time buffering large streamed request bodies. [#54061](electron/electron#54061) <sup>(Also in [45](https://github.com/electron/electron/pull/54062))</sup>

#### Performance Improvements

- Improved the performance of `fs` operations and `require()` on files inside asar archives. [#54051](electron/electron#54051) <sup>(Also in [45](https://github.com/electron/electron/pull/53951))</sup>

#### Other Changes

- Backported fixes from upstream Chromium, PDFium, Skia and V8. [#54081](electron/electron#54081)
##### [v44.4.2](https://github.com/electron/electron/releases/tag/v44.4.2)

### Release Notes for v44.4.2

#### Fixes

- Fixed a potential UAF when a `select-usb-device` handler destroys the requesting `webContents`. [#54009](electron/electron#54009) <sup>(Also in [43](electron/electron#54007), [45](https://github.com/electron/electron/pull/54008))</sup>

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, Skia and V8. [#53985](electron/electron#53985)
- Updated Chromium to 152.0.7977.130. [#53778](electron/electron#53778)
##### [v44.4.1](https://github.com/electron/electron/releases/tag/v44.4.1)

### Release Notes for v44.4.1

#### Fixes

- Fixed default protocol client APIs falsely returning `true` on Windows. [#53959](electron/electron#53959) <sup>(Also in [43](electron/electron#53960), [45](https://github.com/electron/electron/pull/53958))</sup>
- Fixed several object lifetime issues in `Debugger`, `Menu`, `Tray`, `Notification`, `globalShortcut`, `utilityProcess`, `ServiceWorkerMain`, `WebFrameMain`, `webFrame`, `sharedTexture`, `systemPreferences`, `netLog`, `MessagePortMain`, `net.request` and `shell.openPath()`. [#53968](electron/electron#53968) <sup>(Also in [45](https://github.com/electron/electron/pull/53805))</sup>
##### [v44.4.0](https://github.com/electron/electron/releases/tag/v44.4.0)

### Release Notes for v44.4.0

#### Features

- Added `initiatorOrigin` to webRequest and protocol handler requests, `DownloadItem.getInitiatorOrigin()`, and a trailing `frame` argument to the `will-download` and `preconnect` session events. [#53703](electron/electron#53703) <sup>(Also in [43](electron/electron#53704), [45](https://github.com/electron/electron/pull/53700))</sup>

#### Fixes

- Added validation to `protocol.registerSchemesAsPrivileged()` to reject protocol names that do not conform to RFC 3986 URI scheme grammar. [#53743](electron/electron#53743) <sup>(Also in [45](https://github.com/electron/electron/pull/53742))</sup>
- Fixed a crash when a webContents navigated to the Chrome Web Store and the page invoked the unsupported `chrome.webstorePrivate` API. [#53776](electron/electron#53776) <sup>(Also in [45](https://github.com/electron/electron/pull/53775))</sup>
- Fixed a main-process crash when an app called `loadURL()` again right after a load failed because the renderer process exited before the page committed. [#53943](electron/electron#53943) <sup>(Also in [43](electron/electron#53944), [45](https://github.com/electron/electron/pull/53942))</sup>
- Fixed a memory leak on Windows when `app.getPreferredSystemLanguages()` was called. [#53868](electron/electron#53868) <sup>(Also in [43](electron/electron#53867), [45](https://github.com/electron/electron/pull/53869))</sup>
- Fixed a potential UAF in `app.getPreferredSystemLanguages()` on Windows. [#53865](electron/electron#53865) <sup>(Also in [43](electron/electron#53866), [45](https://github.com/electron/electron/pull/53864))</sup>
- Fixed a renderer crash that could occur when printing from an iframe. [#53762](electron/electron#53762) <sup>(Also in [43](electron/electron#53761), [45](https://github.com/electron/electron/pull/53763))</sup>
- Fixed a renderer crash when an iframe was removed right after loading with `nodeIntegrationInSubFrames` enabled and `sandbox` disabled, e.g. on pages that embed Meta Pixel. [#53885](electron/electron#53885) <sup>(Also in [42](electron/electron#53886), [43](electron/electron#53884), [45](https://github.com/electron/electron/pull/53883))</sup>
- Fixed a Windows renderer crash when no default locale could be determined. [#53947](electron/electron#53947)
- Fixed an issue where the browser-side check that blocks drag and drop between cross-site frames of the same page was disabled. [#53749](electron/electron#53749) <sup>(Also in [43](electron/electron#53750), [45](https://github.com/electron/electron/pull/53748))</sup>
- Fixed helper executables on macOS starting a second app instance when launched without a process type, for example through `child_process.fork()` with the `runAsNode` fuse disabled; `fork()` now throws in that configuration. [#53840](electron/electron#53840) <sup>(Also in [45](https://github.com/electron/electron/pull/53839))</sup>
- Fixed V8 code caching for https scripts loaded by `file://` and custom-scheme pages. [#53745](electron/electron#53745) <sup>(Also in [45](https://github.com/electron/electron/pull/53746))</sup>
- Fixed `webContents` emitting `unresponsive` right after the system wakes from sleep on Windows, and emitting `responsive` when a hung window was hidden rather than when it recovered. [#53764](electron/electron#53764) <sup>(Also in [45](https://github.com/electron/electron/pull/53760))</sup>
- Fixed `webContents.capturePage()` on offscreen windows returning an image resampled to the display's scale factor instead of rendered at the window's `offscreen.deviceScaleFactor`. [#53816](electron/electron#53816) <sup>(Also in [43](electron/electron#53818), [45](https://github.com/electron/electron/pull/53817))</sup>
- Fixed Window Controls Overlay CSS environment variables and `navigator.windowControlsOverlay` not being populated for `WebContentsView`s in a `BaseWindow`. [#53812](electron/electron#53812) <sup>(Also in [45](https://github.com/electron/electron/pull/53811))</sup>

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, libyuv, PDFium and V8. [#53769](electron/electron#53769)
- Updated Node.js to v24.21.0. [#53779](electron/electron#53779)
##### [v44.3.0](https://github.com/electron/electron/releases/tag/v44.3.0)

### Release Notes for v44.3.0

#### Features

- Added the `ELECTRON_DEBUG_DRAGGABLE_REGIONS` environment variable, which visualizes and logs draggable regions in unpackaged apps to help debug custom title bars. [#53627](electron/electron#53627) <sup>(Also in [43](electron/electron#53633), [45](https://github.com/electron/electron/pull/53626))</sup>

#### Fixes

- File System Access permission requests and the `file-system-access-restricted` event are scoped to the requesting document, grants are reset when the origin's last page closes, and write access works in in-memory sessions. [#53691](electron/electron#53691) <sup>(Also in [42](electron/electron#53695), [43](electron/electron#53694), [45](https://github.com/electron/electron/pull/53690))</sup>
- Fixed Ctrl+Y not yanking text killed with Ctrl+K in text fields on macOS. [#53714](electron/electron#53714) <sup>(Also in [45](https://github.com/electron/electron/pull/53715))</sup>
- Fixed `Tray` icons not appearing when running inside Flatpak or Snap sandboxes on Linux. [#53653](electron/electron#53653) <sup>(Also in [45](https://github.com/electron/electron/pull/53654))</sup>
- Fixed `app.getGPUInfo('complete')` stalling the GPU process for several seconds on some Windows systems. [#53644](electron/electron#53644) <sup>(Also in [45](https://github.com/electron/electron/pull/53645))</sup>
- Fixed `session.setPermissionCheckHandler` receiving the top-level origin and a null `webContents` for `hid` and `usb` checks made from a subframe. [#53688](electron/electron#53688) <sup>(Also in [42](electron/electron#53736), [43](electron/electron#53689), [45](https://github.com/electron/electron/pull/53679))</sup>
- Fixed `webContents.on()`, `removeListener()` and `removeAllListeners()` throwing "Object has been destroyed" for `console-message` listeners after the WebContents was destroyed. [#53494](electron/electron#53494) <sup>(Also in [42](electron/electron#53497), [43](electron/electron#53496), [45](https://github.com/electron/electron/pull/53495))</sup>
- Fixed a crash on Linux when `process.env` was written while another thread was reading the environment, and a memory leak when a worker thread exits. [#53509](electron/electron#53509) <sup>(Also in [42](electron/electron#53511), [43](electron/electron#53510), [45](https://github.com/electron/electron/pull/53508))</sup>
- Fixed a possible crash on Windows when a file dialog was shown for a window that was being closed at the same time. [#53583](electron/electron#53583) <sup>(Also in [42](electron/electron#53585), [43](electron/electron#53584), [45](https://github.com/electron/electron/pull/53586))</sup>
- Fixed a renderer crash when the main process sent IPC to, or a page navigated, a same-process `window.open()` child whose `contextIsolation` differed from its opener's. [#53539](electron/electron#53539) <sup>(Also in [42](electron/electron#53541), [43](electron/electron#53540), [45](https://github.com/electron/electron/pull/53538))</sup>
- Fixed a spurious `node_init` error being logged when creating a `ShadowRealm` with Node.js integration enabled. [#53579](electron/electron#53579) <sup>(Also in [45](https://github.com/electron/electron/pull/53578))</sup>
- Fixed crashes in `setDisplayMediaRequestHandler` when the granted frame had been destroyed or another tab was granted by id. [#53672](electron/electron#53672) <sup>(Also in [42](electron/electron#53674), [43](electron/electron#53671), [45](https://github.com/electron/electron/pull/53673))</sup>
- Fixed several non-functional DevTools integrations: the Security panel's "View certificate" button, Ctrl+wheel zooming inside DevTools, and DevTools keyboard shortcuts (e.g. F8) while the inspected page has focus. [#53630](electron/electron#53630) <sup>(Also in [43](electron/electron#53631), [45](https://github.com/electron/electron/pull/53471))</sup>
- Fixed window state not being persisted when a window entered or left fullscreen, or was maximized or unmaximized, without also being moved or resized. [#53576](electron/electron#53576) <sup>(Also in [45](https://github.com/electron/electron/pull/53577))</sup>
- Internal `<webview>`, `window.close()` and `executeJavaScript` reply IPCs are validated against the sending frame. [#53723](electron/electron#53723) <sup>(Also in [42](electron/electron#53727), [43](electron/electron#53726), [45](https://github.com/electron/electron/pull/53724))</sup>
- `<webview>` without `allowpopups` also blocks links opened into a new window by modifier-click, and such windows navigate as the clicking document rather than as a browser-initiated load. [#53721](electron/electron#53721) <sup>(Also in [42](electron/electron#53719), [43](electron/electron#53718), [45](https://github.com/electron/electron/pull/53717))</sup>
- `getUserMedia` with `chromeMediaSource: 'desktop'` no longer accepts WebContents source ids; use `chromeMediaSource: 'tab'` with `webContents.getMediaSourceId()` or `setDisplayMediaRequestHandler` to capture a WebContents. [#53709](electron/electron#53709) <sup>(Also in [42](electron/electron#53710), [43](electron/electron#53707), [45](https://github.com/electron/electron/pull/53708))</sup>
- `nodeIntegrationInWorker` now applies only to workers created by frames that themselves have Node integration; enable `nodeIntegrationInSubFrames` to keep Node in workers created by subframes. [#53711](electron/electron#53711) <sup>(Also in [42](electron/electron#53713), [43](electron/electron#53712), [45](https://github.com/electron/electron/pull/53706))</sup>
- `openExternal` permission requests started by a frame that has since gone away are attributed to that frame's origin rather than to the navigating page. [#53699](electron/electron#53699) <sup>(Also in [42](electron/electron#53697), [43](electron/electron#53698), [45](https://github.com/electron/electron/pull/53696))</sup>
- `pointerLock` and `keyboardLock` permission requests now report the requesting frame, and `execCommand('paste')` requires user activation in the frame that calls it. [#53693](electron/electron#53693) <sup>(Also in [42](electron/electron#53702), [43](electron/electron#53701), [45](https://github.com/electron/electron/pull/53692))</sup>

#### Other Changes

- Fixed the app becoming unresponsive when a page has a very large number of `app-region` draggable elements. [#53597](electron/electron#53597) <sup>(Also in [43](electron/electron#53632), [45](https://github.com/electron/electron/pull/53596))</sup>
- Updated Chromium to 152.0.7977.78. [#53523](electron/electron#53523)
gwennlbh pushed a commit to cigaleapp/cigale that referenced this pull request Oct 6, 2026
##### [v44.4.5](https://github.com/electron/electron/releases/tag/v44.4.5)

### Release Notes for v44.4.5

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, Dawn, PDFium and V8. [#54222](electron/electron#54222)
##### [v44.4.4](https://github.com/electron/electron/releases/tag/v44.4.4)

### Release Notes for v44.4.4

#### Fixes

- Fixed a `Cannot read properties of undefined (reading 'startTime')` error thrown in pages while the DevTools Performance panel's live metrics were active. [#54162](electron/electron#54162)
- Fixed a crash when calling `setIgnoreMenuShortcuts()` on DevTools. [#54116](electron/electron#54116) <sup>(Also in [43](electron/electron#54117), [45](https://github.com/electron/electron/pull/54115))</sup>
- Fixed a spurious "`sandboxed_renderer.bundle.js` script failed to run" console error when DevTools attached to a sandboxed frame before its first navigation. [#54155](electron/electron#54155) <sup>(Also in [42](electron/electron#54175), [43](https://github.com/electron/electron/pull/54176))</sup>
- Fixed alignment of the text label and popup menu in the macOS save dialog. [#54143](electron/electron#54143) <sup>(Also in [45](https://github.com/electron/electron/pull/54144))</sup>
- Fixed an "Invalid `guestInstanceId`" error when removing a loaded `<webview>` from the DOM. [#54099](electron/electron#54099) <sup>(Also in [42](electron/electron#54098), [43](electron/electron#54097), [45](https://github.com/electron/electron/pull/54096))</sup>
- Fixed GPU shaders compiled by Skia not being cached between launches. [#54161](electron/electron#54161) <sup>(Also in [45](https://github.com/electron/electron/pull/54156))</sup>
- Fixed `ready-to-show` never firing for some hidden windows on Windows and Linux. [#54118](electron/electron#54118) <sup>(Also in [43](electron/electron#54119), [45](https://github.com/electron/electron/pull/54110))</sup>
- Fixed the tray context menu not working for snap-confined apps because AppArmor blocked the `/org/chromium/DbusMenu` path. [#54103](electron/electron#54103) <sup>(Also in [45](https://github.com/electron/electron/pull/54102))</sup>
##### [v44.4.3](https://github.com/electron/electron/releases/tag/v44.4.3)

### Release Notes for v44.4.3

#### Fixes

- Fixed `net.fetch()` / `net.request()` spending seconds of main-process time buffering large streamed request bodies. [#54061](electron/electron#54061) <sup>(Also in [45](https://github.com/electron/electron/pull/54062))</sup>

#### Performance Improvements

- Improved the performance of `fs` operations and `require()` on files inside asar archives. [#54051](electron/electron#54051) <sup>(Also in [45](https://github.com/electron/electron/pull/53951))</sup>

#### Other Changes

- Backported fixes from upstream Chromium, PDFium, Skia and V8. [#54081](electron/electron#54081)
##### [v44.4.2](https://github.com/electron/electron/releases/tag/v44.4.2)

### Release Notes for v44.4.2

#### Fixes

- Fixed a potential UAF when a `select-usb-device` handler destroys the requesting `webContents`. [#54009](electron/electron#54009) <sup>(Also in [43](electron/electron#54007), [45](https://github.com/electron/electron/pull/54008))</sup>

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, Skia and V8. [#53985](electron/electron#53985)
- Updated Chromium to 152.0.7977.130. [#53778](electron/electron#53778)
##### [v44.4.1](https://github.com/electron/electron/releases/tag/v44.4.1)

### Release Notes for v44.4.1

#### Fixes

- Fixed default protocol client APIs falsely returning `true` on Windows. [#53959](electron/electron#53959) <sup>(Also in [43](electron/electron#53960), [45](https://github.com/electron/electron/pull/53958))</sup>
- Fixed several object lifetime issues in `Debugger`, `Menu`, `Tray`, `Notification`, `globalShortcut`, `utilityProcess`, `ServiceWorkerMain`, `WebFrameMain`, `webFrame`, `sharedTexture`, `systemPreferences`, `netLog`, `MessagePortMain`, `net.request` and `shell.openPath()`. [#53968](electron/electron#53968) <sup>(Also in [45](https://github.com/electron/electron/pull/53805))</sup>
##### [v44.4.0](https://github.com/electron/electron/releases/tag/v44.4.0)

### Release Notes for v44.4.0

#### Features

- Added `initiatorOrigin` to webRequest and protocol handler requests, `DownloadItem.getInitiatorOrigin()`, and a trailing `frame` argument to the `will-download` and `preconnect` session events. [#53703](electron/electron#53703) <sup>(Also in [43](electron/electron#53704), [45](https://github.com/electron/electron/pull/53700))</sup>

#### Fixes

- Added validation to `protocol.registerSchemesAsPrivileged()` to reject protocol names that do not conform to RFC 3986 URI scheme grammar. [#53743](electron/electron#53743) <sup>(Also in [45](https://github.com/electron/electron/pull/53742))</sup>
- Fixed a crash when a webContents navigated to the Chrome Web Store and the page invoked the unsupported `chrome.webstorePrivate` API. [#53776](electron/electron#53776) <sup>(Also in [45](https://github.com/electron/electron/pull/53775))</sup>
- Fixed a main-process crash when an app called `loadURL()` again right after a load failed because the renderer process exited before the page committed. [#53943](electron/electron#53943) <sup>(Also in [43](electron/electron#53944), [45](https://github.com/electron/electron/pull/53942))</sup>
- Fixed a memory leak on Windows when `app.getPreferredSystemLanguages()` was called. [#53868](electron/electron#53868) <sup>(Also in [43](electron/electron#53867), [45](https://github.com/electron/electron/pull/53869))</sup>
- Fixed a potential UAF in `app.getPreferredSystemLanguages()` on Windows. [#53865](electron/electron#53865) <sup>(Also in [43](electron/electron#53866), [45](https://github.com/electron/electron/pull/53864))</sup>
- Fixed a renderer crash that could occur when printing from an iframe. [#53762](electron/electron#53762) <sup>(Also in [43](electron/electron#53761), [45](https://github.com/electron/electron/pull/53763))</sup>
- Fixed a renderer crash when an iframe was removed right after loading with `nodeIntegrationInSubFrames` enabled and `sandbox` disabled, e.g. on pages that embed Meta Pixel. [#53885](electron/electron#53885) <sup>(Also in [42](electron/electron#53886), [43](electron/electron#53884), [45](https://github.com/electron/electron/pull/53883))</sup>
- Fixed a Windows renderer crash when no default locale could be determined. [#53947](electron/electron#53947)
- Fixed an issue where the browser-side check that blocks drag and drop between cross-site frames of the same page was disabled. [#53749](electron/electron#53749) <sup>(Also in [43](electron/electron#53750), [45](https://github.com/electron/electron/pull/53748))</sup>
- Fixed helper executables on macOS starting a second app instance when launched without a process type, for example through `child_process.fork()` with the `runAsNode` fuse disabled; `fork()` now throws in that configuration. [#53840](electron/electron#53840) <sup>(Also in [45](https://github.com/electron/electron/pull/53839))</sup>
- Fixed V8 code caching for https scripts loaded by `file://` and custom-scheme pages. [#53745](electron/electron#53745) <sup>(Also in [45](https://github.com/electron/electron/pull/53746))</sup>
- Fixed `webContents` emitting `unresponsive` right after the system wakes from sleep on Windows, and emitting `responsive` when a hung window was hidden rather than when it recovered. [#53764](electron/electron#53764) <sup>(Also in [45](https://github.com/electron/electron/pull/53760))</sup>
- Fixed `webContents.capturePage()` on offscreen windows returning an image resampled to the display's scale factor instead of rendered at the window's `offscreen.deviceScaleFactor`. [#53816](electron/electron#53816) <sup>(Also in [43](electron/electron#53818), [45](https://github.com/electron/electron/pull/53817))</sup>
- Fixed Window Controls Overlay CSS environment variables and `navigator.windowControlsOverlay` not being populated for `WebContentsView`s in a `BaseWindow`. [#53812](electron/electron#53812) <sup>(Also in [45](https://github.com/electron/electron/pull/53811))</sup>

#### Other Changes

- Backported fixes from upstream ANGLE, Chromium, libyuv, PDFium and V8. [#53769](electron/electron#53769)
- Updated Node.js to v24.21.0. [#53779](electron/electron#53779)
##### [v44.3.0](https://github.com/electron/electron/releases/tag/v44.3.0)

### Release Notes for v44.3.0

#### Features

- Added the `ELECTRON_DEBUG_DRAGGABLE_REGIONS` environment variable, which visualizes and logs draggable regions in unpackaged apps to help debug custom title bars. [#53627](electron/electron#53627) <sup>(Also in [43](electron/electron#53633), [45](https://github.com/electron/electron/pull/53626))</sup>

#### Fixes

- File System Access permission requests and the `file-system-access-restricted` event are scoped to the requesting document, grants are reset when the origin's last page closes, and write access works in in-memory sessions. [#53691](electron/electron#53691) <sup>(Also in [42](electron/electron#53695), [43](electron/electron#53694), [45](https://github.com/electron/electron/pull/53690))</sup>
- Fixed Ctrl+Y not yanking text killed with Ctrl+K in text fields on macOS. [#53714](electron/electron#53714) <sup>(Also in [45](https://github.com/electron/electron/pull/53715))</sup>
- Fixed `Tray` icons not appearing when running inside Flatpak or Snap sandboxes on Linux. [#53653](electron/electron#53653) <sup>(Also in [45](https://github.com/electron/electron/pull/53654))</sup>
- Fixed `app.getGPUInfo('complete')` stalling the GPU process for several seconds on some Windows systems. [#53644](electron/electron#53644) <sup>(Also in [45](https://github.com/electron/electron/pull/53645))</sup>
- Fixed `session.setPermissionCheckHandler` receiving the top-level origin and a null `webContents` for `hid` and `usb` checks made from a subframe. [#53688](electron/electron#53688) <sup>(Also in [42](electron/electron#53736), [43](electron/electron#53689), [45](https://github.com/electron/electron/pull/53679))</sup>
- Fixed `webContents.on()`, `removeListener()` and `removeAllListeners()` throwing "Object has been destroyed" for `console-message` listeners after the WebContents was destroyed. [#53494](electron/electron#53494) <sup>(Also in [42](electron/electron#53497), [43](electron/electron#53496), [45](https://github.com/electron/electron/pull/53495))</sup>
- Fixed a crash on Linux when `process.env` was written while another thread was reading the environment, and a memory leak when a worker thread exits. [#53509](electron/electron#53509) <sup>(Also in [42](electron/electron#53511), [43](electron/electron#53510), [45](https://github.com/electron/electron/pull/53508))</sup>
- Fixed a possible crash on Windows when a file dialog was shown for a window that was being closed at the same time. [#53583](electron/electron#53583) <sup>(Also in [42](electron/electron#53585), [43](electron/electron#53584), [45](https://github.com/electron/electron/pull/53586))</sup>
- Fixed a renderer crash when the main process sent IPC to, or a page navigated, a same-process `window.open()` child whose `contextIsolation` differed from its opener's. [#53539](electron/electron#53539) <sup>(Also in [42](electron/electron#53541), [43](electron/electron#53540), [45](https://github.com/electron/electron/pull/53538))</sup>
- Fixed a spurious `node_init` error being logged when creating a `ShadowRealm` with Node.js integration enabled. [#53579](electron/electron#53579) <sup>(Also in [45](https://github.com/electron/electron/pull/53578))</sup>
- Fixed crashes in `setDisplayMediaRequestHandler` when the granted frame had been destroyed or another tab was granted by id. [#53672](electron/electron#53672) <sup>(Also in [42](electron/electron#53674), [43](electron/electron#53671), [45](https://github.com/electron/electron/pull/53673))</sup>
- Fixed several non-functional DevTools integrations: the Security panel's "View certificate" button, Ctrl+wheel zooming inside DevTools, and DevTools keyboard shortcuts (e.g. F8) while the inspected page has focus. [#53630](electron/electron#53630) <sup>(Also in [43](electron/electron#53631), [45](https://github.com/electron/electron/pull/53471))</sup>
- Fixed window state not being persisted when a window entered or left fullscreen, or was maximized or unmaximized, without also being moved or resized. [#53576](electron/electron#53576) <sup>(Also in [45](https://github.com/electron/electron/pull/53577))</sup>
- Internal `<webview>`, `window.close()` and `executeJavaScript` reply IPCs are validated against the sending frame. [#53723](electron/electron#53723) <sup>(Also in [42](electron/electron#53727), [43](electron/electron#53726), [45](https://github.com/electron/electron/pull/53724))</sup>
- `<webview>` without `allowpopups` also blocks links opened into a new window by modifier-click, and such windows navigate as the clicking document rather than as a browser-initiated load. [#53721](electron/electron#53721) <sup>(Also in [42](electron/electron#53719), [43](electron/electron#53718), [45](https://github.com/electron/electron/pull/53717))</sup>
- `getUserMedia` with `chromeMediaSource: 'desktop'` no longer accepts WebContents source ids; use `chromeMediaSource: 'tab'` with `webContents.getMediaSourceId()` or `setDisplayMediaRequestHandler` to capture a WebContents. [#53709](electron/electron#53709) <sup>(Also in [42](electron/electron#53710), [43](electron/electron#53707), [45](https://github.com/electron/electron/pull/53708))</sup>
- `nodeIntegrationInWorker` now applies only to workers created by frames that themselves have Node integration; enable `nodeIntegrationInSubFrames` to keep Node in workers created by subframes. [#53711](electron/electron#53711) <sup>(Also in [42](electron/electron#53713), [43](electron/electron#53712), [45](https://github.com/electron/electron/pull/53706))</sup>
- `openExternal` permission requests started by a frame that has since gone away are attributed to that frame's origin rather than to the navigating page. [#53699](electron/electron#53699) <sup>(Also in [42](electron/electron#53697), [43](electron/electron#53698), [45](https://github.com/electron/electron/pull/53696))</sup>
- `pointerLock` and `keyboardLock` permission requests now report the requesting frame, and `execCommand('paste')` requires user activation in the frame that calls it. [#53693](electron/electron#53693) <sup>(Also in [42](electron/electron#53702), [43](electron/electron#53701), [45](https://github.com/electron/electron/pull/53692))</sup>

#### Other Changes

- Fixed the app becoming unresponsive when a page has a very large number of `app-region` draggable elements. [#53597](electron/electron#53597) <sup>(Also in [43](electron/electron#53632), [45](https://github.com/electron/electron/pull/53596))</sup>
- Updated Chromium to 152.0.7977.78. [#53523](electron/electron#53523)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

44-x-y backport This is a backport PR semver/patch backwards-compatible bug fixes

Projects

No open projects
Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants