note: no summary for this older release
We summarize recent releases. The original release notes for this version are below.
release-notesgithub.com/electron/electron · 193 lines
- # Release Notes for v43.0.0
- ## Stack Upgrades
- * Chromium `150.0.7871.46`
- * [New in 150](https://developer.chrome.com/blog/new-in-chrome-146/)
- * [New in 149](https://developer.chrome.com/blog/new-in-chrome-145/)
- * Node `v24.147.0`
- * [Node 24.17.0 blog post](https://nodejs.org/en/blog/release/v24.17.0/)
- * V8 `15.0`
- ## Breaking Changes
- * File downloads will open by default in the user's Downloads folder (or Home directory if Downloads doesn't exist). [#49868](https://github.com/electron/electron/pull/49868)
- * Fix: If a `nativeImage` was passed an image with a color profile, its pixel values will now be normalized to SRGB. This ensures that two visually identical images after color space application will receive similar pixel values when converted to a `nativeImage`. [#51565](https://github.com/electron/electron/pull/51565)
- * On Linux, frameless windows now have rounded corners by default, just like on macOS and Windows. Rounded corners can be disabled on all platforms by setting `roundedCorners: false` on the window. [#52111](https://github.com/electron/electron/pull/52111)
- * Removed `showHiddenFiles` support from the `dialog` API on Linux. [#51880](https://github.com/electron/electron/pull/51880)
- ## Features
- ### Additions
- * Added Clone method to WebContents. [#49959](https://github.com/electron/electron/pull/49959)
- * Added JS stack trace to crash reports on renderer OOM. [#50043](https://github.com/electron/electron/pull/50043) <sup>(Also in [42](https://github.com/electron/electron/pull/50911))</sup>
- * Added Linux support for `app.getApplicationInfoForProtocol()`. [#51297](https://github.com/electron/electron/pull/51297) <sup>(Also in [42](https://github.com/electron/electron/pull/51680))</sup>
- * Added Notification.remove(), removeAll(), and removeGroup() static methods for macOS. [#51690](https://github.com/electron/electron/pull/51690) <sup>(Also in [42](https://github.com/electron/electron/pull/51691))</sup>
- * Added `Notification.getHistory()` for macOS, allowing developers to restore all delivered notifications still present in Notification Center. [#50325](https://github.com/electron/electron/pull/50325) <sup>(Also in [42](https://github.com/electron/electron/pull/51123))</sup>
- * Added `accessibilityLabel` property to `MenuItem` constructor options and properties for defining screen-reader-friendly labels. [#50240](https://github.com/electron/electron/pull/50240)
- * Added `allowExtensions` privilege to `protocol.registerSchemesAsPrivileged()` to enable Chrome extensions on custom protocols. [#49951](https://github.com/electron/electron/pull/49951) <sup>(Also in [40](https://github.com/electron/electron/pull/50588), [41](https://github.com/electron/electron/pull/50529), [42](https://github.com/electron/electron/pull/50530))</sup>
- * Added `app.configureWebAuthn()` to enable the Touch ID platform authenticator for WebAuthn on macOS, and a `select-webauthn-account` session event for choosing between multiple discoverable credentials. [#51255](https://github.com/electron/electron/pull/51255) <sup>(Also in [41](https://github.com/electron/electron/pull/51412), [42](https://github.com/electron/electron/pull/51411))</sup>
- * Added `globalShortcut.setSuspended()` and `globalShortcut.isSuspended()` methods to temporarily suspend and resume global shortcut handling. [#50425](https://github.com/electron/electron/pull/50425) <sup>(Also in [42](https://github.com/electron/electron/pull/50777))</sup>
- * Added `id` and `groupId` options to the Notification constructor on macOS. `id` allows custom identifiers for notifications, and `groupId` visually groups notifications together in Notification Center. [#50097](https://github.com/electron/electron/pull/50097) <sup>(Also in [42](https://github.com/electron/electron/pull/50304))</sup>
- * Added `nv12` OSR pixel format support for professional use. [#49799](https://github.com/electron/electron/pull/49799)
- * Added `view.setBackgroundBlur`. [#51076](https://github.com/electron/electron/pull/51076)
- * Added `webContents.copyVideoFrameAt(x, y)` and `webContents.saveVideoFrameAs(x, y)` methods. [#48149](https://github.com/electron/electron/pull/48149)
- * Added id, groupId, and groupTitle support for Windows notifications. [#50328](https://github.com/electron/electron/pull/50328) <sup>(Also in [42](https://github.com/electron/electron/pull/50895))</sup>
- * Added nativeTheme.shouldDifferentiateWithoutColor on macOS. [#49912](https://github.com/electron/electron/pull/49912) <sup>(Also in [41](https://github.com/electron/electron/pull/50408), [42](https://github.com/electron/electron/pull/50409))</sup>
- * Added session support to net module requests from utility process. [#51279](https://github.com/electron/electron/pull/51279) <sup>(Also in [42](https://github.com/electron/electron/pull/51698))</sup>
- * Added support for heap profiling via `contentTracing.enableHeapProfiling()`. [#50826](https://github.com/electron/electron/pull/50826) <sup>(Also in [41](https://github.com/electron/electron/pull/51178), [42](https://github.com/electron/electron/pull/51162))</sup>
- * Added support for importing shared textures using the nv16 pixel format. [#50728](https://github.com/electron/electron/pull/50728) <sup>(Also in [42](https://github.com/electron/electron/pull/51187))</sup>
- * Added support for the `urgency` option in Notifications on Windows. [#50225](https://github.com/electron/electron/pull/50225) <sup>(Also in [41](https://github.com/electron/electron/pull/50382), [42](https://github.com/electron/electron/pull/50383))</sup>
- * Added support for using a proxy during yarn install. [#50322](https://github.com/electron/electron/pull/50322) <sup>(Also in [39](https://github.com/electron/electron/pull/50349), [40](https://github.com/electron/electron/pull/50352), [41](https://github.com/electron/electron/pull/50350), [42](https://github.com/electron/electron/pull/50351))</sup>
- * Allowed the `--experimental-inspector-network-resource` Node.js flag to be passed through Electron. [#49689](https://github.com/electron/electron/pull/49689) <sup>(Also in [41](https://github.com/electron/electron/pull/51377), [42](https://github.com/electron/electron/pull/51378))</sup>
- * Enabled ThinLTO on macOS builds. [#51819](https://github.com/electron/electron/pull/51819) <sup>(Also in [42](https://github.com/electron/electron/pull/51823))</sup>
- * Enabled profile-guided optimization for V8 builtins in release builds, improving JavaScript builtin performance (Array, String, RegExp, etc.). [#50416](https://github.com/electron/electron/pull/50416) <sup>(Also in [40](https://github.com/electron/electron/pull/50575), [41](https://github.com/electron/electron/pull/50574), [42](https://github.com/electron/electron/pull/50573))</sup>
- * Feat: SF Symbol customisation. [#48911](https://github.com/electron/electron/pull/48911)
- * Fixed contentTracing module to capture Node.js trace categories. [#50591](https://github.com/electron/electron/pull/50591)
- ### Improvements
- * Improved app startup performance — the main process now boots from an embedded Node.js startup snapshot, framework bundles and preload scripts are cached as compiled V8 bytecode, and sandboxed renderer startup data is pushed ahead of navigation instead of fetched via blocking IPC. Preload stack traces now show the correct file path and line number. [#51792](https://github.com/electron/electron/pull/51792) <sup>(Also in [42](https://github.com/electron/electron/pull/51831))</sup>
- * Improved performance of Linux and Windows release builds by enabling ThinLTO link-time optimization for the main Electron binary. [#51820](https://github.com/electron/electron/pull/51820) <sup>(Also in [42](https://github.com/electron/electron/pull/51821))</sup>
- * Improved performance of `app.getApplicationNameForProtocol()` on Linux. [#51251](https://github.com/electron/electron/pull/51251) <sup>(Also in [42](https://github.com/electron/electron/pull/51628))</sup>
- * Improved performance of `app.isDefaultProtocolClient()` and `app.setAsDefaultProtocolClient()` on Linux. [#51316](https://github.com/electron/electron/pull/51316) <sup>(Also in [42](https://github.com/electron/electron/pull/51627))</sup>
- * Improved performance of `webRequest` header conversions and several other gin converter hot paths. [#51608](https://github.com/electron/electron/pull/51608) <sup>(Also in [42](https://github.com/electron/electron/pull/51607))</sup>
- * Improved performance of native event emission, IPC dispatch, and option-dictionary parsing. [#51615](https://github.com/electron/electron/pull/51615) <sup>(Also in [41](https://github.com/electron/electron/pull/51613), [42](https://github.com/electron/electron/pull/51614))</sup>
- * Improved runtime performance. [#51829](https://github.com/electron/electron/pull/51829) <sup>(Also in [42](https://github.com/electron/electron/pull/51828))</sup>
- ## Fixes
- * Fixed `desktopCapturer.getSources()` hanging on macOS. [#51128](https://github.com/electron/electron/pull/51128)
- * Fixed an issue on Linux where the system theme color appeared at the top edge of frameless windows. [#52179](https://github.com/electron/electron/pull/52179)
- * Fixed an issue where frameless windows windows could shrink after applying constraints or toggling resizability on Windows. [#51954](https://github.com/electron/electron/pull/51954)
- * Fixed an issue with the main process where `process.exit()` with no argument did not exit with `process.exitCode`
- * Fixed handling of string value arguments to `process.exit()` in the main process. [#51428](https://github.com/electron/electron/pull/51428)
- * Fixed desktopCapturer thumbnail generation and premature portal timeout on Linux with Wayland. [#51783](https://github.com/electron/electron/pull/51783)
- * Fixed running under tsx import transpilation. [#51978](https://github.com/electron/electron/pull/51978)
- * Fixed runtime toggling of shadows for frameless windows on Linux.
- * Added support for system-configured button layouts in Window Controls Overlay on Linux. [#51658](https://github.com/electron/electron/pull/51658)
- * Fixed titleBarOverlay.color set to `rgba(0,0,0,0)` failing back to default frame color. [#52010](https://github.com/electron/electron/pull/52010)
- * On Linux, apps should now display their names and icons in audio managers instead of all being labeled as Chromium. [#49270](https://github.com/electron/electron/pull/49270)
- ### Also in earlier versions...
- * Added additional ASAR support to additional `fs` copy methods. [#50226](https://github.com/electron/electron/pull/50226) <sup>(Also in [39](https://github.com/electron/electron/pull/50284), [40](https://github.com/electron/electron/pull/50287), [41](https://github.com/electron/electron/pull/50286), [42](https://github.com/electron/electron/pull/50285))</sup>
- * Added crash keys to diagnose power monitor shutdown crash on arm64 windows. [#51198](https://github.com/electron/electron/pull/51198) <sup>(Also in [42](https://github.com/electron/electron/pull/51205))</sup>
- * Added missing `metadata` fields to `contentTracing` traces. [#50892](https://github.com/electron/electron/pull/50892) <sup>(Also in [41](https://github.com/electron/electron/pull/51021), [42](https://github.com/electron/electron/pull/51007))</sup>
- * BrowserWindow now enforces min/max size constraints on window creation, even if they conflict with the requested width and height. [#49906](https://github.com/electron/electron/pull/49906) <sup>(Also in [41](https://github.com/electron/electron/pull/50753), [42](https://github.com/electron/electron/pull/50754))</sup>
- * Changed the `kResizeThreshold` to trigger the resize on corners. [#50637](https://github.com/electron/electron/pull/50637) <sup>(Also in [41](https://github.com/electron/electron/pull/51002), [42](https://github.com/electron/electron/pull/51001))</sup>
- * Ensured cross-origin `fetch()` and XHR are blocked for custom protocols registered with `supportFetchAPI: true` unless `corsEnabled: true` is also set; cross-origin `mode: 'no-cors'` requests now receive an opaque response. [#51152](https://github.com/electron/electron/pull/51152) <sup>(Also in [39](https://github.com/electron/electron/pull/51272), [40](https://github.com/electron/electron/pull/51271), [41](https://github.com/electron/electron/pull/51270), [42](https://github.com/electron/electron/pull/51269))</sup>
- * Fixed DesktopCapturer crash on macOS. [#50960](https://github.com/electron/electron/pull/50960) <sup>(Also in [42](https://github.com/electron/electron/pull/51506))</sup>
- * Fixed DevTools Network panel missing most requests after navigating when webContents.debugger is attached. [#51964](https://github.com/electron/electron/pull/51964) <sup>(Also in [42](https://github.com/electron/electron/pull/51965))</sup>
- * Fixed Electron child process titles on Linux so they show their types (render, gpu, etc.) and complete command-line arguments and flags in `ps aux`. [#50509](https://github.com/electron/electron/pull/50509) <sup>(Also in [42](https://github.com/electron/electron/pull/50533))</sup>
- * Fixed Windows edge case in `NativeWindowViews::MoveBehindTaskBarIfNeeded()`. [#52021](https://github.com/electron/electron/pull/52021) <sup>(Also in [41](https://github.com/electron/electron/pull/52023), [42](https://github.com/electron/electron/pull/52022))</sup>
- * Fixed `ELECTRON_INSTALL_PLATFORM` being ignored when resolving the Electron executable path during postinstall, which caused `path.txt` to be written for the host platform instead of the requested target and made `isInstalled()` always re-download on subsequent installs. [#51029](https://github.com/electron/electron/pull/51029) <sup>(Also in [42](https://github.com/electron/electron/pull/51370))</sup>
- * Fixed `ProtocolResponse.url` requests being made through the default session instead of the session the protocol handler was registered on when `ProtocolResponse.session` was not set. [#52131](https://github.com/electron/electron/pull/52131) <sup>(Also in [40](https://github.com/electron/electron/pull/52135), [41](https://github.com/electron/electron/pull/52134), [42](https://github.com/electron/electron/pull/52132))</sup>
- * Fixed `app.getLoginItemSettings()` returning `undefined` for `executableWillLaunchAtLogin` on macOS; the property is now always a boolean. [#51416](https://github.com/electron/electron/pull/51416) <sup>(Also in [40](https://github.com/electron/electron/pull/51509), [41](https://github.com/electron/electron/pull/51508), [42](https://github.com/electron/electron/pull/51507))</sup>
- * Fixed `fs.stat` on files inside asar archives returning `undefined` for `blksize` and `blocks` instead of numeric values. [#50825](https://github.com/electron/electron/pull/50825) <sup>(Also in [40](https://github.com/electron/electron/pull/50875), [41](https://github.com/electron/electron/pull/50876), [42](https://github.com/electron/electron/pull/50877))</sup>
- * Fixed `webContents.printToPDF` rejecting on all subsequent calls after a prior call was rejected with an invalid `pageRanges` value. [#51174](https://github.com/electron/electron/pull/51174) <sup>(Also in [40](https://github.com/electron/electron/pull/51220), [41](https://github.com/electron/electron/pull/51221), [42](https://github.com/electron/electron/pull/51222))</sup>
- * Fixed a crash when providing invalid HTTP header names or values in the `webRequest.onBeforeSendHeaders()` callback. [#51340](https://github.com/electron/electron/pull/51340) <sup>(Also in [40](https://github.com/electron/electron/pull/51364), [41](https://github.com/electron/electron/pull/51365), [42](https://github.com/electron/electron/pull/51366))</sup>
- * Fixed a browser process crash when calling `webContents.reload()` or navigating synchronously from the `render-process-gone` event; the event is now emitted after the renderer's teardown notification has completed. [#51918](https://github.com/electron/electron/pull/51918) <sup>(Also in [41](https://github.com/electron/electron/pull/51917), [42](https://github.com/electron/electron/pull/51916))</sup>
- * Fixed a bug on Linux where a 1px line appeared at the top of frameless windows if the window and web contents had different background colors. [#51999](https://github.com/electron/electron/pull/51999) <sup>(Also in [41](https://github.com/electron/electron/pull/52004), [42](https://github.com/electron/electron/pull/52005))</sup>
- * Fixed a bug where Windows notification icons could fail to save because their temporary filenames contained invalid characters. [#50454](https://github.com/electron/electron/pull/50454) <sup>(Also in [40](https://github.com/electron/electron/pull/50484), [41](https://github.com/electron/electron/pull/50483), [42](https://github.com/electron/electron/pull/50482))</sup>
- * Fixed a bug where errors would occur when using the Chrome DevTools Fetch API. [#50744](https://github.com/electron/electron/pull/50744) <sup>(Also in [41](https://github.com/electron/electron/pull/51371), [42](https://github.com/electron/electron/pull/51372))</sup>
- * Fixed a crash in `clipboard.readImage()` when the clipboard contains malformed image data. [#50475](https://github.com/electron/electron/pull/50475) <sup>(Also in [39](https://github.com/electron/electron/pull/50493), [40](https://github.com/electron/electron/pull/50491), [41](https://github.com/electron/electron/pull/50492), [42](https://github.com/electron/electron/pull/50494))</sup>
- * Fixed a crash in the macOS Touch ID WebAuthn prompt caused by a missing string resource, and added `touchID.promptReason` to `app.configureWebAuthn()` to customize the prompt text. [#51595](https://github.com/electron/electron/pull/51595) <sup>(Also in [41](https://github.com/electron/electron/pull/51604), [42](https://github.com/electron/electron/pull/51594))</sup>
- * Fixed a crash on MacOS when a user clicked into a title bar or top view. [#51606](https://github.com/electron/electron/pull/51606) <sup>(Also in [42](https://github.com/electron/electron/pull/51605))</sup>
- * Fixed a crash that could occur when an autofill suggestion popup was shown while a window was closing. [#51302](https://github.com/electron/electron/pull/51302) <sup>(Also in [41](https://github.com/electron/electron/pull/51321), [42](https://github.com/electron/electron/pull/51317))</sup>
- * Fixed a crash when calling `contentTracing.getTraceBufferUsage()` while a trace session is active. [#50556](https://github.com/electron/electron/pull/50556) <sup>(Also in [39](https://github.com/electron/electron/pull/50595), [40](https://github.com/electron/electron/pull/50593), [41](https://github.com/electron/electron/pull/50594), [42](https://github.com/electron/electron/pull/50592))</sup>
- * Fixed a crash when calling an offscreen shared texture's `release()` after the texture object was garbage collected. [#50473](https://github.com/electron/electron/pull/50473) <sup>(Also in [39](https://github.com/electron/electron/pull/50499), [40](https://github.com/electron/electron/pull/50500), [41](https://github.com/electron/electron/pull/50501), [42](https://github.com/electron/electron/pull/50502))</sup>
- * Fixed a crash when rendering PDFs when Site Isolation is disabled. [#50689](https://github.com/electron/electron/pull/50689) <sup>(Also in [41](https://github.com/electron/electron/pull/50845), [42](https://github.com/electron/electron/pull/50846))</sup>
- * Fixed a memory leak where Menu items were not cleaned up after Menu.setApplicationMenu was called repeatedly. [#50806](https://github.com/electron/electron/pull/50806) <sup>(Also in [40](https://github.com/electron/electron/pull/50831), [41](https://github.com/electron/electron/pull/50830), [42](https://github.com/electron/electron/pull/50832))</sup>
- * Fixed a potential crash when using `webContents.print()`. [#50843](https://github.com/electron/electron/pull/50843) <sup>(Also in [41](https://github.com/electron/electron/pull/51728), [42](https://github.com/electron/electron/pull/50853))</sup>
- * Fixed a potential race condition crash when closing DevTools. [#51420](https://github.com/electron/electron/pull/51420) <sup>(Also in [41](https://github.com/electron/electron/pull/51474), [42](https://github.com/electron/electron/pull/51473))</sup>
- * Fixed a regression on Linux where transparent frameless windows would have visible borders. Also fixed a longstanding issue where transparent windows on Linux could show smeared and glitched content as windows moved around. [#50541](https://github.com/electron/electron/pull/50541) <sup>(Also in [41](https://github.com/electron/electron/pull/50605), [42](https://github.com/electron/electron/pull/51430))</sup>
- * Fixed a regression on Windows where frameless windows changed their size after calling `setResizable`. [#51252](https://github.com/electron/electron/pull/51252) <sup>(Also in [41](https://github.com/electron/electron/pull/51427), [42](https://github.com/electron/electron/pull/51296))</sup>
- * Fixed a regression where frameless fullscreen windows had white borders on Windows. [#51287](https://github.com/electron/electron/pull/51287) <sup>(Also in [41](https://github.com/electron/electron/pull/51332), [42](https://github.com/electron/electron/pull/51331))</sup>
- * Fixed a renderer crash when a page uses the `<geolocation>` HTML element. [#51346](https://github.com/electron/electron/pull/51346) <sup>(Also in [41](https://github.com/electron/electron/pull/51373), [42](https://github.com/electron/electron/pull/51374))</sup>
- * Fixed a renderer crash when calling `WebAssembly.compileStreaming()` or `WebAssembly.instantiateStreaming()` with `nodeIntegration` enabled. [#51955](https://github.com/electron/electron/pull/51955) <sup>(Also in [42](https://github.com/electron/electron/pull/51956))</sup>
- * Fixed absent 'Electron Isolated Context' in the execution context dropdown in Dev Tools. [#51062](https://github.com/electron/electron/pull/51062) <sup>(Also in [41](https://github.com/electron/electron/pull/51078), [42](https://github.com/electron/electron/pull/51079))</sup>
- * Fixed an accessibility issue where the AXMenuOpened event was not fired on menu creation. [#50377](https://github.com/electron/electron/pull/50377) <sup>(Also in [40](https://github.com/electron/electron/pull/50505), [41](https://github.com/electron/electron/pull/50506), [42](https://github.com/electron/electron/pull/50504))</sup>
- * Fixed an intermittent `Invoke in DisallowJavascriptExecutionScope` crash on application quit when a `WebContents` (or other JS-emitting native object) is garbage-collected during shutdown. [#50688](https://github.com/electron/electron/pull/50688) <sup>(Also in [40](https://github.com/electron/electron/pull/50693), [41](https://github.com/electron/electron/pull/50694), [42](https://github.com/electron/electron/pull/50695))</sup>
- * Fixed an issue on Linux and Windows where frameless windows would shrink when calling `win.center()`. Additionally, fixed an issue where frameless windows would appear slightly off-center on Windows. [#51920](https://github.com/electron/electron/pull/51920) <sup>(Also in [41](https://github.com/electron/electron/pull/51919), [42](https://github.com/electron/electron/pull/51921))</sup>
- * Fixed an issue on Windows where a transient `UnhookWindowsHookEx` failure in `setIgnoreMouseEvents(true, { forward: true })` teardown could cause duplicate low-level mouse hooks to be installed on the next activation. [#51098](https://github.com/electron/electron/pull/51098) <sup>(Also in [41](https://github.com/electron/electron/pull/51419), [42](https://github.com/electron/electron/pull/51418))</sup>
- * Fixed an issue on macOS where `show`/`hide` events and `WebContents` visibility state could be reported incorrectly when multiple `WebContentsView`s were attached to a window. [#50579](https://github.com/electron/electron/pull/50579) <sup>(Also in [40](https://github.com/electron/electron/pull/50713), [41](https://github.com/electron/electron/pull/50715), [42](https://github.com/electron/electron/pull/50712))</sup>
- * Fixed an issue where DevTools would re-attach to the window when opened after previously being detached. [#50807](https://github.com/electron/electron/pull/50807) <sup>(Also in [39](https://github.com/electron/electron/pull/50818), [40](https://github.com/electron/electron/pull/50817), [41](https://github.com/electron/electron/pull/50816), [42](https://github.com/electron/electron/pull/50815))</sup>
- * Fixed an issue where `app-region: drag` inside a hidden `WebContentsView` would still drag the parent window on Windows. [#51200](https://github.com/electron/electron/pull/51200) <sup>(Also in [40](https://github.com/electron/electron/pull/51247), [41](https://github.com/electron/electron/pull/51246), [42](https://github.com/electron/electron/pull/51245))</sup>
- * Fixed an issue where `nodeIntegrationInWorker` didn't always work in AudioWorklet. [#47244](https://github.com/electron/electron/pull/47244) <sup>(Also in [40](https://github.com/electron/electron/pull/51004), [41](https://github.com/electron/electron/pull/51006), [42](https://github.com/electron/electron/pull/51005))</sup>
- * Fixed an issue where `process` and other Node globals were undefined in ESM preload scripts when `contextIsolation` was disabled. [#51723](https://github.com/electron/electron/pull/51723) <sup>(Also in [42](https://github.com/electron/electron/pull/51726))</sup>
- * Fixed an issue where `setSimpleFullScreen` on macOS would exit when web content called `requestFullscreen()`. [#50874](https://github.com/electron/electron/pull/50874) <sup>(Also in [40](https://github.com/electron/electron/pull/50986), [41](https://github.com/electron/electron/pull/50985), [42](https://github.com/electron/electron/pull/50987))</sup>
- * Fixed an issue where an Electron auto-update job would occasionally fail if a macOS system update is pending. [#51070](https://github.com/electron/electron/pull/51070) <sup>(Also in [42](https://github.com/electron/electron/pull/51111))</sup>
- * Fixed an issue where an Electron macOS update would not be applied if another app was previously blocking the macOS system update loop. [#51191](https://github.com/electron/electron/pull/51191) <sup>(Also in [40](https://github.com/electron/electron/pull/51211), [41](https://github.com/electron/electron/pull/51210), [42](https://github.com/electron/electron/pull/51212))</sup>
- * Fixed an issue where an app shortcut may lose its icon after auto-updating on Windows. [#50471](https://github.com/electron/electron/pull/50471) <sup>(Also in [40](https://github.com/electron/electron/pull/50518), [41](https://github.com/electron/electron/pull/50519), [42](https://github.com/electron/electron/pull/50517))</sup>
- * Fixed an issue where calling `contentTracing` APIs before `app.whenReady()` would crash the application. [#50920](https://github.com/electron/electron/pull/50920) <sup>(Also in [41](https://github.com/electron/electron/pull/51352), [42](https://github.com/electron/electron/pull/51353))</sup>
- * Fixed an issue where clicking the maximize button could progressively shrink the window in some Wayland environments. [#52039](https://github.com/electron/electron/pull/52039) <sup>(Also in [42](https://github.com/electron/electron/pull/52045))</sup>
- * Fixed an issue where closing devtools immediately after focus caused a crash. [#47435](https://github.com/electron/electron/pull/47435) <sup>(Also in [40](https://github.com/electron/electron/pull/51702), [41](https://github.com/electron/electron/pull/51037), [42](https://github.com/electron/electron/pull/51036))</sup>
- * Fixed an issue where concurrent `getFileHandle` requests on the same path could stall indefinitely. [#50597](https://github.com/electron/electron/pull/50597) <sup>(Also in [40](https://github.com/electron/electron/pull/50672), [41](https://github.com/electron/electron/pull/50670), [42](https://github.com/electron/electron/pull/50671))</sup>
- * Fixed an issue where custom options in `webContents.print()` did not prefill the print dialog on macOS. [#50600](https://github.com/electron/electron/pull/50600) <sup>(Also in [40](https://github.com/electron/electron/pull/51692), [41](https://github.com/electron/electron/pull/51682), [42](https://github.com/electron/electron/pull/50643))</sup>
- * Fixed an issue where importing `electron` via ESM would touch the OS keychain on app-ready even when `safeStorage` was never used. `safeStorage.isAsyncEncryptionAvailable()` now returns a Promise as documented. [#50419](https://github.com/electron/electron/pull/50419) <sup>(Also in [42](https://github.com/electron/electron/pull/51924))</sup>
- * Fixed an issue where margins did not look as expected when printing in silent mode. [#50615](https://github.com/electron/electron/pull/50615) <sup>(Also in [41](https://github.com/electron/electron/pull/50652), [42](https://github.com/electron/electron/pull/50653))</sup>
- * Fixed an issue where saving edited PDF files would fail with a cross-origin SecurityError. [#51042](https://github.com/electron/electron/pull/51042) <sup>(Also in [41](https://github.com/electron/electron/pull/51073), [42](https://github.com/electron/electron/pull/51072))</sup>
- * Fixed an issue where some DevTools functionality didn't work as expected. [#50241](https://github.com/electron/electron/pull/50241) <sup>(Also in [40](https://github.com/electron/electron/pull/50275), [41](https://github.com/electron/electron/pull/50276), [42](https://github.com/electron/electron/pull/50274))</sup>
- * Fixed an issue where some toast notification properties didn't work as expected in WinRT. [#51286](https://github.com/electron/electron/pull/51286) <sup>(Also in [41](https://github.com/electron/electron/pull/51397), [42](https://github.com/electron/electron/pull/51330))</sup>
- * Fixed an issue where the "Toggle Developer Tools" menu item failed to function correctly with BaseWindow. [#51901](https://github.com/electron/electron/pull/51901) <sup>(Also in [41](https://github.com/electron/electron/pull/51902), [42](https://github.com/electron/electron/pull/51903))</sup>
- * Fixed an issue where the Squirrel.Mac installer could resolve the target bundle path to different locations at different stages of an install. [#50745](https://github.com/electron/electron/pull/50745) <sup>(Also in [39](https://github.com/electron/electron/pull/50766), [42](https://github.com/electron/electron/pull/50765))</sup>
- * Fixed an issue where the `webContents.print()` callback may not fire correctly in some cases. [#50431](https://github.com/electron/electron/pull/50431) <sup>(Also in [41](https://github.com/electron/electron/pull/50604), [42](https://github.com/electron/electron/pull/50603))</sup>
- * Fixed an issue where webContents.print() would ignore pageSize / mediaSize when silent was true. [#50808](https://github.com/electron/electron/pull/50808) <sup>(Also in [41](https://github.com/electron/electron/pull/50856), [42](https://github.com/electron/electron/pull/50855))</sup>
- * Fixed aspect ratio min/max size clamping to correctly account for extraSize on macOS. [#50794](https://github.com/electron/electron/pull/50794) <sup>(Also in [40](https://github.com/electron/electron/pull/50834), [41](https://github.com/electron/electron/pull/50835), [42](https://github.com/electron/electron/pull/50836))</sup>
- * Fixed bug that could occasionally cause browserWindow's `always-on-top-changed` even to fire with incorrect values. [#51110](https://github.com/electron/electron/pull/51110) <sup>(Also in [40](https://github.com/electron/electron/pull/51134), [41](https://github.com/electron/electron/pull/51135), [42](https://github.com/electron/electron/pull/51133))</sup>
- * Fixed buggy behavior where Backspace would accept macOS text replacements inside `contenteditable` elements. [#51289](https://github.com/electron/electron/pull/51289) <sup>(Also in [40](https://github.com/electron/electron/pull/51345), [41](https://github.com/electron/electron/pull/51343), [42](https://github.com/electron/electron/pull/51344))</sup>
- * Fixed build failure when building with `enable_pdf` disabled. [#51223](https://github.com/electron/electron/pull/51223) <sup>(Also in [41](https://github.com/electron/electron/pull/50845), [42](https://github.com/electron/electron/pull/50846))</sup>
- * Fixed certain DevTools extension panels not showing without a page reload. [#50611](https://github.com/electron/electron/pull/50611) <sup>(Also in [42](https://github.com/electron/electron/pull/50640))</sup>
- * Fixed crash for Notification close. [#51655](https://github.com/electron/electron/pull/51655) <sup>(Also in [41](https://github.com/electron/electron/pull/51656), [42](https://github.com/electron/electron/pull/51657))</sup>
- * Fixed crash when `app.setPath('sessionData')` was called with a non-existent directory. [#50891](https://github.com/electron/electron/pull/50891) <sup>(Also in [41](https://github.com/electron/electron/pull/50958), [42](https://github.com/electron/electron/pull/50908))</sup>
- * Fixed crash when handling JavaScript dialogs from windows opened with invalid or empty URLs. [#50062](https://github.com/electron/electron/pull/50062) <sup>(Also in [39](https://github.com/electron/electron/pull/50400), [40](https://github.com/electron/electron/pull/50401), [41](https://github.com/electron/electron/pull/50399), [42](https://github.com/electron/electron/pull/50398))</sup>
- * Fixed cross-origin isolation failing for non-file origins. [#50789](https://github.com/electron/electron/pull/50789) <sup>(Also in [41](https://github.com/electron/electron/pull/51403), [42](https://github.com/electron/electron/pull/51404))</sup>
- * Fixed frameless transparent windows on Windows losing their transparency after `setResizable(false)` followed by `setResizable(true)`. [#51175](https://github.com/electron/electron/pull/51175) <sup>(Also in [41](https://github.com/electron/electron/pull/51217), [42](https://github.com/electron/electron/pull/51218))</sup>
- * Fixed improper focus tracking in BaseWindow on MacOS. [#49460](https://github.com/electron/electron/pull/49460) <sup>(Also in [39](https://github.com/electron/electron/pull/50338), [40](https://github.com/electron/electron/pull/50337), [41](https://github.com/electron/electron/pull/50340), [42](https://github.com/electron/electron/pull/50339))</sup>
- * Fixed logic bug that rendered certain window types un-resizable on MAS builds. [#50096](https://github.com/electron/electron/pull/50096) <sup>(Also in [40](https://github.com/electron/electron/pull/50355), [41](https://github.com/electron/electron/pull/50354), [42](https://github.com/electron/electron/pull/50356))</sup>
- * Fixed native addon compilation failure with undefined msvc intrinsic from v8 headers. [#51705](https://github.com/electron/electron/pull/51705) <sup>(Also in [42](https://github.com/electron/electron/pull/51706))</sup>
- * Fixed native notification clicks not focusing the application window on Wayland. [#50568](https://github.com/electron/electron/pull/50568) <sup>(Also in [42](https://github.com/electron/electron/pull/50669))</sup>
- * Fixed printing on Linux failing with "Invalid printer settings". [#50430](https://github.com/electron/electron/pull/50430) <sup>(Also in [41](https://github.com/electron/electron/pull/50486), [42](https://github.com/electron/electron/pull/50487))</sup>
- * Fixed remote debugging via `--remote-debugging-port` not working when inspecting from Chrome's `chrome://inspect` page. The DevTools page would appear empty due to the frontend URL pointing to a CDN that returned 404 for Electron's Chromium builds. [#51236](https://github.com/electron/electron/pull/51236) <sup>(Also in [41](https://github.com/electron/electron/pull/51413))</sup>
- * Fixed resize hit targets for frameless windows on Windows. Resize targets now start at the side and bottom edges of the window and extend outward when `frame: false`, matching the behavior for windows with frames. [#50706](https://github.com/electron/electron/pull/50706) <sup>(Also in [41](https://github.com/electron/electron/pull/50863), [42](https://github.com/electron/electron/pull/50864))</sup>
- * Fixed sandboxed preload scripts running a stale cached version after the script was modified without its file size changing. [#51932](https://github.com/electron/electron/pull/51932) <sup>(Also in [42](https://github.com/electron/electron/pull/51933))</sup>
- * Fixed shutdown crash on windows when power monitor notifications were subscribed. [#50878](https://github.com/electron/electron/pull/50878) <sup>(Also in [42](https://github.com/electron/electron/pull/50893))</sup>
- * Fixed test scaffolding bug when running tests locally on Linux. [#51129](https://github.com/electron/electron/pull/51129) <sup>(Also in [40](https://github.com/electron/electron/pull/51151), [41](https://github.com/electron/electron/pull/51150), [42](https://github.com/electron/electron/pull/51149))</sup>
- * Fixed the appearance of maximized windows on GNOME in Wayland, especially when non-default GTK themes like Breeze are set. [#50550](https://github.com/electron/electron/pull/50550) <sup>(Also in [41](https://github.com/electron/electron/pull/50645), [42](https://github.com/electron/electron/pull/50644))</sup>
- * Fixed the context menu in a detached DevTools window focusing the inspected page's window instead of the DevTools window. [#51863](https://github.com/electron/electron/pull/51863) <sup>(Also in [42](https://github.com/electron/electron/pull/51864))</sup>
- * Fixed the crash keys being lost and the crash reporter hanging on macOS when many dynamic crash keys were registered. [#50795](https://github.com/electron/electron/pull/50795) <sup>(Also in [40](https://github.com/electron/electron/pull/50838), [41](https://github.com/electron/electron/pull/50837), [42](https://github.com/electron/electron/pull/50839))</sup>
- * Fixed user resizing of transparent windows on win32 platform. [#49428](https://github.com/electron/electron/pull/49428) <sup>(Also in [39](https://github.com/electron/electron/pull/50300), [40](https://github.com/electron/electron/pull/50301), [41](https://github.com/electron/electron/pull/50298), [42](https://github.com/electron/electron/pull/50299))</sup>
- * Fixed utilityProcess exit event reporting incorrect exit codes on Windows when the exit code has the high bit. [#50256](https://github.com/electron/electron/pull/50256) <sup>(Also in [40](https://github.com/electron/electron/pull/50387), [41](https://github.com/electron/electron/pull/50386), [42](https://github.com/electron/electron/pull/50385))</sup>
- * Fixed window freeze when failing to enter/exit fullscreen on macOS. [#49421](https://github.com/electron/electron/pull/49421) <sup>(Also in [39](https://github.com/electron/electron/pull/50341), [40](https://github.com/electron/electron/pull/50344), [41](https://github.com/electron/electron/pull/50343), [42](https://github.com/electron/electron/pull/50342))</sup>
- * Improved external resize band positioning and scaling for frameless windows on Windows. [#51552](https://github.com/electron/electron/pull/51552) <sup>(Also in [41](https://github.com/electron/electron/pull/51560), [42](https://github.com/electron/electron/pull/51561))</sup>
- * Improved the way Electron determines the default XDG App ID and WM_CLASS on Linux for better platform compatibility if `desktopName` is not provided in `package.json`. [#51424](https://github.com/electron/electron/pull/51424) <sup>(Also in [41](https://github.com/electron/electron/pull/51480), [42](https://github.com/electron/electron/pull/51479))</sup>
- * Made "reload" menu items work with `BaseWindow`. [#52119](https://github.com/electron/electron/pull/52119) <sup>(Also in [41](https://github.com/electron/electron/pull/52118), [42](https://github.com/electron/electron/pull/52117))</sup>
- * Moved Electron-specific help menu links to the default app only; unpackaged apps will no longer see these items in their default menu. [#50629](https://github.com/electron/electron/pull/50629) <sup>(Also in [40](https://github.com/electron/electron/pull/50860), [41](https://github.com/electron/electron/pull/50859), [42](https://github.com/electron/electron/pull/50861))</sup>
- * Removed "representedObject is not a WeakPtrToElectronMenuModelAsNSObject" logging when interacting with macOS menus. [#50608](https://github.com/electron/electron/pull/50608) <sup>(Also in [41](https://github.com/electron/electron/pull/50613), [42](https://github.com/electron/electron/pull/50614))</sup>
- * Removed support for the ELECTRON_SKIP_BINARY_DOWNLOAD environment variable. [#50406](https://github.com/electron/electron/pull/50406) <sup>(Also in [42](https://github.com/electron/electron/pull/50459))</sup>
- * This PR fixes a regression in silent printing where custom DPI values from webContents.print were not honored, causing incorrect output scaling in real-world print flows. [#51046](https://github.com/electron/electron/pull/51046) <sup>(Also in [41](https://github.com/electron/electron/pull/51355), [42](https://github.com/electron/electron/pull/51354))</sup>
- * Windows opened from links inside a sandboxed iframe now inherit the iframe's sandbox restrictions unless `allow-popups-to-escape-sandbox` is set. [#52189](https://github.com/electron/electron/pull/52189) <sup>(Also in [42](https://github.com/electron/electron/pull/52190))</sup>
- ## Other Changes
- * Backported fixes from upstream Chromium. [#52116](https://github.com/electron/electron/pull/52116)
- * Backported fixes from upstream Chromium. [#52168](https://github.com/electron/electron/pull/52168)
- * Fixed `gn gen` failing to resolve `electron_version` when building from a `git worktree` checkout. [#51146](https://github.com/electron/electron/pull/51146) <sup>(Also in [39](https://github.com/electron/electron/pull/51163), [40](https://github.com/electron/electron/pull/51164), [41](https://github.com/electron/electron/pull/51165), [42](https://github.com/electron/electron/pull/51166))</sup>
- * Fixed silent data truncation in `Buffer`/`TextEncoder` APIs and a crash in `fs.writeFileSync` with non-ASCII strings on Apple Silicon. [#51850](https://github.com/electron/electron/pull/51850) <sup>(Also in [41](https://github.com/electron/electron/pull/51851), [42](https://github.com/electron/electron/pull/51849))</sup>
- ## Documentation
- * Documentation change
- * [#49379](https://github.com/electron/electron/pull/49379)
- * [#50364](https://github.com/electron/electron/pull/50364)
- * [#51689](https://github.com/electron/electron/pull/51689)
- * [#51926](https://github.com/electron/electron/pull/51926)
- ## Notices
- ### Support for 32-bit platforms ending
- Electron 43.x.y will be the last version series of Electron to ship with prebuilt binaries for 32-bit platforms: Windows x86 (`win32-ia32`) and Linux ARM (`linux-armv7l`). Once the v43 series reaches end of life in January 2027, these 32-bit platforms will no longer be supported.
- ### End of Support for 40.x.y
- Electron 40.x.y has reached end-of-support as per the project's [support policy](https://www.electronjs.org/docs/latest/tutorial/electron-timelines#version-support-policy). Developers and applications are encouraged to upgrade to a newer version of Electron.