note: la sintesi e le note di rilascio sono in inglese
note: nessuna sintesi per questa release più vecchia
Sintetizziamo le release recenti. Le note di rilascio originali di questa versione sono qui sotto.
release-notesgithub.com/electron/electron · 218 righe
- # Release Notes for v42.0.0
- ## Stack Upgrades
- * Chromium `148.0.7778.96`
- * [New in 148](https://developer.chrome.com/blog/new-in-chrome-148/)
- * [New in 147](https://developer.chrome.com/blog/new-in-chrome-147/)
- * Node `v24.15.0`
- * [Node 24.15.0 blog post](https://nodejs.org/en/blog/release/v24.15.0/)
- * V8 `14.8`
- ## Breaking Changes
- ### Behavior Changed: macOS notifications now use `UNNotification` API
- Electron has migrated from the deprecated `NSUserNotification` API to the `UNNotification` API on macOS. The new API requires that an application be code-signed in order for notifications to be displayed. If an application is not code-signed, notifications will emit a `failed` event on the `Notification` object. [#47817](https://github.com/electron/electron/pull/47817)
- ### Behavior Changed: `electron` no longer downloads itself via `postinstall` script
- Previously, the `electron` npm package would download the Electron binary from the repository's GitHub Releases in the package's `postinstall` script. With recent supply chain security attacks against the npm ecosystem with `postinstall` scripts as a common attack vector, Electron will now download itself dynamically the first time that its main `bin` script is run (e.g. via `npx electron`). See [RFC #22](https://github.com/electron/rfcs/pull/22) for more context. [#49328](https://github.com/electron/electron/pull/49328)
- ### Behavior Changed: Offscreen rendering default device scale factor
- Previously, OSR used the primary display's device scale factor for rendering. Starting from Electron 42, the default changes to a constant value of `1.0` for more consistent output sizes. Use `webPreferences.offscreen.deviceScaleFactor` to specify a custom value. [#49683](https://github.com/electron/electron/pull/49683)
- ### Removed: `quotas` object from `Session.clearStorageData(options)`
- When calling `Session.clearStorageData(options)`, the `options.quotas` object is no longer supported because it has been removed from upstream Chromium.
- ### Removed: `ELECTRON_SKIP_BINARY_DOWNLOAD` environment variable
- This environment variable is no longer supported due to the new lazy download behavior. [#50459](https://github.com/electron/electron/pull/50459)
- ## Features
- ### Additions
- * Added `app.configureWebAuthn({ touchID: { keychainAccessGroup } })` to enable the WebAuthn Touch ID platform authenticator on macOS. Also introduces a `select-webauthn-account` session event for discoverable-credential selection. [#51411](https://github.com/electron/electron/pull/51411) (Also in 41)
- * Added `Notification.getHistory()` for macOS. [#51123](https://github.com/electron/electron/pull/51123)
- * Added `Notification.handleActivation(callback)` API on Windows to handle notification clicks, replies, and action buttons - including when the app is launched from a notification (cold start). [#49919](https://github.com/electron/electron/pull/49919)
- * Added `ELECTRON_INSTALL_PLATFORM` and `ELECTRON_INSTALL_ARCH` variables to install binaries from other platforms and architectures. [#49981](https://github.com/electron/electron/pull/49981)
- * Added `allowExtensions` privilege to `protocol.registerSchemesAsPrivileged()` to enable Chrome extensions on custom protocols. [#50530](https://github.com/electron/electron/pull/50530) <sup>(Also in [40](https://github.com/electron/electron/pull/50588), [41](https://github.com/electron/electron/pull/50529))</sup>
- * Added `app.isActive()` to check if the app is the active/foreground application (macOS only). [#49622](https://github.com/electron/electron/pull/49622)
- * Added `globalShortcut.setSuspended()` and `globalShortcut.isSuspended()` methods to temporarily suspend and resume global shortcut handling. [#50777](https://github.com/electron/electron/pull/50777)
- * 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. [#50304](https://github.com/electron/electron/pull/50304)
- * Added `webContents.getOrCreateDevToolsTargetId()`. [#49733](https://github.com/electron/electron/pull/49733) <sup>(Also in [41](https://github.com/electron/electron/pull/50176))</sup>
- * Added a `disclaim` option to the UtilityProcess API to allow for TCC disclaiming on macOS. [#49128](https://github.com/electron/electron/pull/49128) <sup>(Also in [39](https://github.com/electron/electron/pull/49696), [40](https://github.com/electron/electron/pull/49695), [41](https://github.com/electron/electron/pull/49693))</sup>
- * Added a `reason` property to the Notification 'closed' event on Windows to allow developers to know the reason the Notification was dismissed. [#49913](https://github.com/electron/electron/pull/49913) <sup>(Also in [40](https://github.com/electron/electron/pull/50030), [41](https://github.com/electron/electron/pull/50029))</sup>
- * Added an `usePrinterDefaultPageSize` option to `webContents.print()` to allow using the printer's default page size. [#49523](https://github.com/electron/electron/pull/49523) <sup>(Also in [41](https://github.com/electron/electron/pull/49812))</sup>
- * Added animation functionality to `view.setBounds` and added `view.setBackgroundBlur`. [#48812](https://github.com/electron/electron/pull/48812)
- * Added id, groupId, and groupTitle support for Windows notifications. [#50895](https://github.com/electron/electron/pull/50895)
- * Added `nativeTheme.shouldDifferentiateWithoutColor` on macOS. [#50409](https://github.com/electron/electron/pull/50409) <sup>(Also in [41](https://github.com/electron/electron/pull/50408))</sup>
- * Added support for MSIX auto-updating. [#49230](https://github.com/electron/electron/pull/49230) <sup>(Also in [39](https://github.com/electron/electron/pull/49585), [40](https://github.com/electron/electron/pull/49587), [41](https://github.com/electron/electron/pull/49586))</sup>
- * Added support for `--experimental-transform-types`. [#49711](https://github.com/electron/electron/pull/49711) <sup>(Also in [39](https://github.com/electron/electron/pull/49881), [40](https://github.com/electron/electron/pull/49883), [41](https://github.com/electron/electron/pull/49882))</sup>
- * Added support for `long-animation-frame` script attribution (via `--enable-features=AlwaysLogLOAFURL`). [#49706](https://github.com/electron/electron/pull/49706) <sup>(Also in [39](https://github.com/electron/electron/pull/49771), [40](https://github.com/electron/electron/pull/49772), [41](https://github.com/electron/electron/pull/49773))</sup>
- * Added support for heap profiling in `contentTracing`. [#51162](https://github.com/electron/electron/pull/51162) (Also in 41)
- * Added support for importing shared textures using the nv16 pixel format. [#51187](https://github.com/electron/electron/pull/51187)
- * Added support for importing shared textures using the p010le 10-bit YUV pixel format. [#49272](https://github.com/electron/electron/pull/49272)
- * Added support for several more `safeStorage` backends via new asynchronous functionality in safeStorage. [#49054](https://github.com/electron/electron/pull/49054)
- * Added support for the `urgency` option in Notifications on Windows. [#50383](https://github.com/electron/electron/pull/50383) <sup>(Also in [41](https://github.com/electron/electron/pull/50382))</sup>
- * Added the ability to capture JS stack trace on renderer OOM. [#50911](https://github.com/electron/electron/pull/50911)
- * Added the ability to disable auto-focusing of WebContents on navigation using `webPreferences.focusOnNavigation`. [#49425](https://github.com/electron/electron/pull/49425) <sup>(Also in [40](https://github.com/electron/electron/pull/49512), [41](https://github.com/electron/electron/pull/49511))</sup>
- * Electron now downloads its binary into `node_modules` dynamically on first launch instead of running a `postinstall` script. Added the `install-electron` script to manually trigger the download as well. [#49328](https://github.com/electron/electron/pull/49328)
- * Enabled wasm trap handlers behind `WasmTrapHandlers` [fuse](https://www.electronjs.org/docs/latest/tutorial/fuses). [#48983](https://github.com/electron/electron/pull/48983) <sup>(Also in [41](https://github.com/electron/electron/pull/49839))</sup>
- * Extended actions support for Windows notifications to include buttons, select dropdowns, and replies. [#48132](https://github.com/electron/electron/pull/48132) <sup>(Also in [40](https://github.com/electron/electron/pull/49786), [41](https://github.com/electron/electron/pull/49787))</sup>
- * On Wayland (Linux), frameless windows now have GTK drop shadows and extended resize boundaries. To create fully frameless windows with no decorations, set `hasShadow: false` in the window constructor. [#49295](https://github.com/electron/electron/pull/49295) <sup>(Also in [41](https://github.com/electron/electron/pull/49885))</sup>
- * Replaced deprecated NSUserNotification with User Notifications. [#47817](https://github.com/electron/electron/pull/47817)
- ## Fixes
- * Added additional ASAR support to additional `fs` copy methods. [#50285](https://github.com/electron/electron/pull/50285) <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))</sup>
- * Added crash keys to diagnose power monitor shutdown crash on arm64 windows. [#51205](https://github.com/electron/electron/pull/51205)
- * Added missing `metadata` fields to `contentTracing` traces. [#51007](https://github.com/electron/electron/pull/51007) <sup>(Also in [41](https://github.com/electron/electron/pull/51021))</sup>
- * Added validation to protocol client methods to reject protocol names that do not conform to the RFC 3986 URI scheme grammar. [#50141](https://github.com/electron/electron/pull/50141) <sup>(Also in [38](https://github.com/electron/electron/pull/50157), [39](https://github.com/electron/electron/pull/50156), [40](https://github.com/electron/electron/pull/50158), [41](https://github.com/electron/electron/pull/50155))</sup>
- * Addressed upstream Chromium shift to enable `CoreAudio Tap API` for audio capture used in electron's `desktopCapturer` (macOS). [#49717](https://github.com/electron/electron/pull/49717) <sup>(Also in [39](https://github.com/electron/electron/pull/49740), [40](https://github.com/electron/electron/pull/49741), [41](https://github.com/electron/electron/pull/49739))</sup>
- * Allow dynamically updating menu item labels, sublabels, and icons. [#49678](https://github.com/electron/electron/pull/49678) <sup>(Also in [40](https://github.com/electron/electron/pull/49973), [41](https://github.com/electron/electron/pull/49972))</sup>
- * BrowserWindow now enforces min/max size constraints on window creation, even if they conflict with the requested width and height. [#50754](https://github.com/electron/electron/pull/50754) <sup>(Also in [41](https://github.com/electron/electron/pull/50753))</sup>
- * Changed the `kResizeThreshold` to trigger the resize on corners. [#51001](https://github.com/electron/electron/pull/51001) <sup>(Also in [41](https://github.com/electron/electron/pull/51002))</sup>
- * Fixed `AllowUniversalAccessFromFileURLs` not being properly constrained to `file:` origins in agent cluster key assignment. [#51404](https://github.com/electron/electron/pull/51404)
- * Fixed `corsEnabled: false` protocol handlers incorrectly working across protocols. [#51269](https://github.com/electron/electron/pull/51269) (Also in 39, 40, 41)
- * Fixed `printToPDF` queue not resetting after a rejection. [#51222](https://github.com/electron/electron/pull/51222) (Also in 40, 41)
- * Fixed `webContents.print()` not honoring `dpi` horizontal/vertical options. [#51354](https://github.com/electron/electron/pull/51354) (Also in 41)
- * 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`. [#50533](https://github.com/electron/electron/pull/50533)
- * Fixed Fetch-intercepted requests using incorrect header client, which could cause request failures. [#51372](https://github.com/electron/electron/pull/51372) (Also in 41)
- * Fixed `fs.stat` on files inside asar archives returning `undefined` for `blksize` and `blocks` instead of numeric values. [#50877](https://github.com/electron/electron/pull/50877) <sup>(Also in [40](https://github.com/electron/electron/pull/50875), [41](https://github.com/electron/electron/pull/50876))</sup>
- * Fixed `globalShortcut` not working on Wayland with `GlobalShortcutsPortal` feature enabled. [#49842](https://github.com/electron/electron/pull/49842) <sup>(Also in [40](https://github.com/electron/electron/pull/49870), [41](https://github.com/electron/electron/pull/49871))</sup>
- * Fixed a bug that cause offscreen rendering doesn't have valid screen info and unable to get valid result of related media queries. Added `webPreference.offscreen.deviceScaleFactor` to allow user specify a value. [#48730](https://github.com/electron/electron/pull/48730) <sup>(Also in [40](https://github.com/electron/electron/pull/49681), [41](https://github.com/electron/electron/pull/50375))</sup>
- * Fixed a bug where Windows notification icons could fail to save because their temporary filenames contained invalid characters. [#50482](https://github.com/electron/electron/pull/50482) <sup>(Also in [40](https://github.com/electron/electron/pull/50484), [41](https://github.com/electron/electron/pull/50483))</sup>
- * Fixed a crash in `AutofillPopup` teardown. [#51317](https://github.com/electron/electron/pull/51317) (Also in 40, 41)
- * Fixed a crash in `clipboard.readImage()` when the clipboard contains malformed image data. [#50494](https://github.com/electron/electron/pull/50494) <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))</sup>
- * Fixed a crash that could occur when using the File System Access API. [#49578](https://github.com/electron/electron/pull/49578) <sup>(Also in [39](https://github.com/electron/electron/pull/49634), [40](https://github.com/electron/electron/pull/49635), [41](https://github.com/electron/electron/pull/49636))</sup>
- * Fixed a crash when calling `contentTracing` APIs before app is ready. [#51353](https://github.com/electron/electron/pull/51353) (Also in 41)
- * Fixed a crash when calling `contentTracing.getTraceBufferUsage()` while a trace session is active. [#50592](https://github.com/electron/electron/pull/50592) <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))</sup>
- * Fixed a crash when calling `webRequest.onBeforeSendHeaders` with invalid header names or values. [#51366](https://github.com/electron/electron/pull/51366) (Also in 40, 41)
- * Fixed a crash when calling an offscreen shared texture's `release()` after the texture object was garbage collected. [#50502](https://github.com/electron/electron/pull/50502) <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))</sup>
- * Fixed a crash when rendering PDFs when Site Isolation is disabled. [#50846](https://github.com/electron/electron/pull/50846) <sup>(Also in [41](https://github.com/electron/electron/pull/50845))</sup>
- * Fixed a crash caused by missing `MicrotasksScope` for worker exit emit in `ContextWillDestroy`. [#51350](https://github.com/electron/electron/pull/51350) (Also in 40, 41)
- * Fixed a crash when the `<permission>` element was used, by including permission element string resources in locale paks. [#51374](https://github.com/electron/electron/pull/51374) (Also in 41)
- * Fixed a macOS crash when creating a new tab from the tab overview. [#49917](https://github.com/electron/electron/pull/49917) <sup>(Also in [40](https://github.com/electron/electron/pull/49934), [41](https://github.com/electron/electron/pull/49933))</sup>
- * Fixed a memory leak where Menu items were not cleaned up after Menu.setApplicationMenu was called repeatedly. [#50832](https://github.com/electron/electron/pull/50832) <sup>(Also in [40](https://github.com/electron/electron/pull/50831), [41](https://github.com/electron/electron/pull/50830))</sup>
- * Fixed a potential crash when using `webContents.print()`. [#50853](https://github.com/electron/electron/pull/50853)
- * Fixed absent 'Electron Isolated Context' in the execution context dropdown in Dev Tools. [#51079](https://github.com/electron/electron/pull/51079) <sup>(Also in [41](https://github.com/electron/electron/pull/51078))</sup>
- * Fixed an accessibility issue where the AXMenuOpened event was not fired on menu creation. [#50504](https://github.com/electron/electron/pull/50504) <sup>(Also in [40](https://github.com/electron/electron/pull/50505), [41](https://github.com/electron/electron/pull/50506))</sup>
- * Fixed an application crash on MacOS where the menu observer was not being properly removed before garbage collection. [#49648](https://github.com/electron/electron/pull/49648) <sup>(Also in [40](https://github.com/electron/electron/pull/49657), [41](https://github.com/electron/electron/pull/49658))</sup>
- * Fixed an error with Windows release builds after MSIX merger. [#49613](https://github.com/electron/electron/pull/49613)
- * Fixed an intermittent `Invoke in DisallowJavascriptExecutionScope` crash on application quit when a `WebContents` (or other JS-emitting native object) is garbage-collected during shutdown. [#50695](https://github.com/electron/electron/pull/50695) <sup>(Also in [40](https://github.com/electron/electron/pull/50693), [41](https://github.com/electron/electron/pull/50694))</sup>
- * Fixed an issue in `chrome://accessibility`. [#49547](https://github.com/electron/electron/pull/49547) <sup>(Also in [39](https://github.com/electron/electron/pull/49559), [40](https://github.com/electron/electron/pull/49560), [41](https://github.com/electron/electron/pull/49561))</sup>
- * Fixed an issue on macOS where Universal Links were not delivered to `app.on('continue-activity')` on cold launch when `NSUserActivity.userInfo` was nil. [#49986](https://github.com/electron/electron/pull/49986) <sup>(Also in [39](https://github.com/electron/electron/pull/50004), [40](https://github.com/electron/electron/pull/50005), [41](https://github.com/electron/electron/pull/50006))</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. [#50712](https://github.com/electron/electron/pull/50712) <sup>(Also in [40](https://github.com/electron/electron/pull/50713), [41](https://github.com/electron/electron/pull/50715))</sup>
- * Fixed an issue on macOS where calling `autoUpdater.quitAndInstall()` could fail if `checkForUpdates()` was called again after an update was already downloaded. [#50210](https://github.com/electron/electron/pull/50210) <sup>(Also in [39](https://github.com/electron/electron/pull/50215), [40](https://github.com/electron/electron/pull/50216), [41](https://github.com/electron/electron/pull/50217))</sup>
- * Fixed an issue that caused the RGBAF16 shared texture format to have a keyed mutex on Windows. [#49798](https://github.com/electron/electron/pull/49798) <sup>(Also in [41](https://github.com/electron/electron/pull/49876))</sup>
- * Fixed an issue where Chrome Devtools menus may not appear in certain embedded windows. [#49794](https://github.com/electron/electron/pull/49794) <sup>(Also in [39](https://github.com/electron/electron/pull/50136), [40](https://github.com/electron/electron/pull/50138), [41](https://github.com/electron/electron/pull/50137))</sup>
- * Fixed an issue where DevTools would re-attach to the window when opened after previously being detached. [#50815](https://github.com/electron/electron/pull/50815) <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))</sup>
- * Fixed an issue where `VideoFrame` objects returned through `contextBridge` had an incorrect prototype. [#49997](https://github.com/electron/electron/pull/49997) <sup>(Also in [39](https://github.com/electron/electron/pull/50021), [40](https://github.com/electron/electron/pull/50022), [41](https://github.com/electron/electron/pull/50023))</sup>
- * Fixed an issue where `additionalData` passed to `app.requestSingleInstanceLock` on Windows could be truncated or fail to deserialize in the primary instance's `second-instance` event. [#50119](https://github.com/electron/electron/pull/50119) <sup>(Also in [38](https://github.com/electron/electron/pull/50177), [39](https://github.com/electron/electron/pull/50174), [40](https://github.com/electron/electron/pull/50162), [41](https://github.com/electron/electron/pull/50154))</sup>
- * Fixed an issue where `net.fetch()` requests in the main process and utility processes would permanently fail with `net::ERR_FAILED` after the Network Service process crashed and restarted. [#49887](https://github.com/electron/electron/pull/49887)
- * Fixed an issue where `nodeIntegrationInWorker` didn't always work in AudioWorklet. [#51005](https://github.com/electron/electron/pull/51005) <sup>(Also in [40](https://github.com/electron/electron/pull/51004), [41](https://github.com/electron/electron/pull/51006))</sup>
- * Fixed an issue where `nodeIntegrationInWorker` overrides in `setWindowOpenHandler` were not honored for child windows sharing a renderer process with their opener. [#50122](https://github.com/electron/electron/pull/50122) <sup>(Also in [38](https://github.com/electron/electron/pull/50163), [39](https://github.com/electron/electron/pull/50468), [40](https://github.com/electron/electron/pull/50467), [41](https://github.com/electron/electron/pull/50134))</sup>
- * Fixed an issue where `screen.getCursorScreenPoint()` crashed on Wayland when it was called before a `BrowserWindow` had been created. [#50092](https://github.com/electron/electron/pull/50092) <sup>(Also in [39](https://github.com/electron/electron/pull/50106), [40](https://github.com/electron/electron/pull/50104), [41](https://github.com/electron/electron/pull/50105))</sup>
- * Fixed an issue where `setSimpleFullScreen` on macOS would exit when web content called `requestFullscreen()`. [#50987](https://github.com/electron/electron/pull/50987) <sup>(Also in [40](https://github.com/electron/electron/pull/50986), [41](https://github.com/electron/electron/pull/50985))</sup>
- * Fixed an issue where `shell.writeShortcutLink` was throwing `TypeError: Insufficient number of arguments` when called with just `[(path, options)]`. [#49476](https://github.com/electron/electron/pull/49476) <sup>(Also in [39](https://github.com/electron/electron/pull/49502), [40](https://github.com/electron/electron/pull/49501), [41](https://github.com/electron/electron/pull/49503))</sup>
- * Fixed an issue where alt+space triggered the system context menu even if an accelerator was registered for the hotkey combination. [#49619](https://github.com/electron/electron/pull/49619) <sup>(Also in [39](https://github.com/electron/electron/pull/49641), [40](https://github.com/electron/electron/pull/49640), [41](https://github.com/electron/electron/pull/49642))</sup>
- * Fixed an issue where an Electron auto-update job would occasionally fail if a macOS system update is pending. [#51111](https://github.com/electron/electron/pull/51111)
- * Fixed an issue where an Electron macOS update would not be applied if another app was previously blocking the macOS system update loop. [#51212](https://github.com/electron/electron/pull/51212) <sup>(Also in [40](https://github.com/electron/electron/pull/51211), [41](https://github.com/electron/electron/pull/51210))</sup>
- * Fixed an issue where an app shortcut may lose its icon after auto-updating on Windows. [#50517](https://github.com/electron/electron/pull/50517) <sup>(Also in [40](https://github.com/electron/electron/pull/50518), [41](https://github.com/electron/electron/pull/50519))</sup>
- * Fixed an issue where calling `setBounds` on a `WebContentsView` could trigger redundant `page-favicon-updated` events even when the favicon had not changed. [#49464](https://github.com/electron/electron/pull/49464) <sup>(Also in [39](https://github.com/electron/electron/pull/50086), [40](https://github.com/electron/electron/pull/50084), [41](https://github.com/electron/electron/pull/50085))</sup>
- * Fixed an issue where closing devtools immediately after focus caused a crash. [#51036](https://github.com/electron/electron/pull/51036) <sup>(Also in [41](https://github.com/electron/electron/pull/51037))</sup>
- * Fixed an issue where concurrent `getFileHandle` requests on the same path could stall indefinitely. [#50671](https://github.com/electron/electron/pull/50671) <sup>(Also in [40](https://github.com/electron/electron/pull/50672), [41](https://github.com/electron/electron/pull/50670))</sup>
- * Fixed an issue where cookie changed events weren't properly emitted in all cases. [#49103](https://github.com/electron/electron/pull/49103) <sup>(Also in [41](https://github.com/electron/electron/pull/49631))</sup>
- * Fixed an issue where custom options in `webContents.print()` did not prefill the print dialog on macOS. [#50643](https://github.com/electron/electron/pull/50643)
- * Fixed an issue where frameless windows had resize issues in Mac App Store builds. [#49780](https://github.com/electron/electron/pull/49780) <sup>(Also in [39](https://github.com/electron/electron/pull/49861), [40](https://github.com/electron/electron/pull/49856), [41](https://github.com/electron/electron/pull/49857))</sup>
- * Fixed an issue where invalid characters in custom protocol or webRequest response header values were not rejected. [#50123](https://github.com/electron/electron/pull/50123) <sup>(Also in [38](https://github.com/electron/electron/pull/50130), [39](https://github.com/electron/electron/pull/50129), [40](https://github.com/electron/electron/pull/50131), [41](https://github.com/electron/electron/pull/50132))</sup>
- * Fixed an issue where making a window fullscreen on Windows, minimizing it and then restoring it broke previous fullscreen state. [#49872](https://github.com/electron/electron/pull/49872) <sup>(Also in [40](https://github.com/electron/electron/pull/49892), [41](https://github.com/electron/electron/pull/49891))</sup>
- * Fixed an issue where malformed custom `toastXml` could cause a Notification crash. [#49947](https://github.com/electron/electron/pull/49947) <sup>(Also in [40](https://github.com/electron/electron/pull/49952), [41](https://github.com/electron/electron/pull/49953))</sup>
- * Fixed an issue where margins did not look as expected when printing in silent mode. [#50653](https://github.com/electron/electron/pull/50653) <sup>(Also in [41](https://github.com/electron/electron/pull/50652))</sup>
- * Fixed an issue where menu item accelerators stopped working after the item's enabled property was toggled on macOS. [#49553](https://github.com/electron/electron/pull/49553) <sup>(Also in [39](https://github.com/electron/electron/pull/49593), [40](https://github.com/electron/electron/pull/49592), [41](https://github.com/electron/electron/pull/49591))</sup>
- * Fixed an issue where menu item enabled state wasn't updated during key equivalent dispatch when the menu was closed on macOS. [#49875](https://github.com/electron/electron/pull/49875) <sup>(Also in [39](https://github.com/electron/electron/pull/49888), [40](https://github.com/electron/electron/pull/49889), [41](https://github.com/electron/electron/pull/49890))</sup>
- * Fixed an issue where native modules would either crash or not compile for MacOS 12. [#49697](https://github.com/electron/electron/pull/49697) <sup>(Also in [40](https://github.com/electron/electron/pull/49702), [41](https://github.com/electron/electron/pull/49703))</sup>
- * Fixed an issue where permission and device-chooser handlers received the top-level page origin instead of the requesting subframe's origin. [#50052](https://github.com/electron/electron/pull/50052) <sup>(Also in [38](https://github.com/electron/electron/pull/50151), [39](https://github.com/electron/electron/pull/50147), [40](https://github.com/electron/electron/pull/50149), [41](https://github.com/electron/electron/pull/50148))</sup>
- * Fixed an issue where role-based menu items were incorrectly returning `null` for their accelerator property. [#49558](https://github.com/electron/electron/pull/49558) <sup>(Also in [39](https://github.com/electron/electron/pull/49670), [40](https://github.com/electron/electron/pull/49669), [41](https://github.com/electron/electron/pull/49668))</sup>
- * Fixed an issue where saving edited PDF files would fail with a cross-origin SecurityError. [#51072](https://github.com/electron/electron/pull/51072) <sup>(Also in [41](https://github.com/electron/electron/pull/51073))</sup>
- * Fixed an issue where setting `zoomFactor` in `setWindowOpenHandler`'s `overrideBrowserWindowOptions` had no effect on windows opened via `window.open()`. [#49886](https://github.com/electron/electron/pull/49886) <sup>(Also in [39](https://github.com/electron/electron/pull/49910), [40](https://github.com/electron/electron/pull/49909), [41](https://github.com/electron/electron/pull/49911))</sup>
- * Fixed an issue where some DevTools functionality didn't work as expected. [#50274](https://github.com/electron/electron/pull/50274) <sup>(Also in [40](https://github.com/electron/electron/pull/50275), [41](https://github.com/electron/electron/pull/50276))</sup>
- * Fixed an issue where some `shell` functionality may not work on Linux if the target window is already open. [#49499](https://github.com/electron/electron/pull/49499) <sup>(Also in [41](https://github.com/electron/electron/pull/49594))</sup>
- * Fixed an issue where some packages weren't correctly filtered on macOS in dialogs. [#49444](https://github.com/electron/electron/pull/49444) <sup>(Also in [38](https://github.com/electron/electron/pull/49471), [39](https://github.com/electron/electron/pull/49472), [40](https://github.com/electron/electron/pull/49473), [41](https://github.com/electron/electron/pull/49470))</sup>
- * Fixed an issue where the Squirrel.Mac installer could resolve the target bundle path to different locations at different stages of an install. [#50765](https://github.com/electron/electron/pull/50765)
- * Fixed an issue where the `webContents.print()` callback may not fire correctly in some cases. [#50603](https://github.com/electron/electron/pull/50603) <sup>(Also in [41](https://github.com/electron/electron/pull/50604))</sup>
- * Fixed an issue where traffic light buttons would flash at position (0,0) when restoring a window with a custom `trafficLightPosition` from minimization on macOS. [#50183](https://github.com/electron/electron/pull/50183) <sup>(Also in [39](https://github.com/electron/electron/pull/50208), [40](https://github.com/electron/electron/pull/50207), [41](https://github.com/electron/electron/pull/50209))</sup>
- * Fixed an issue where webContents.print() would ignore pageSize / mediaSize when silent was true. [#50855](https://github.com/electron/electron/pull/50855) <sup>(Also in [41](https://github.com/electron/electron/pull/50856))</sup>
- * Fixed an issue whereby a duplicate "Toggle Full Screen" menu item appeared in the View menu on macOS. [#49074](https://github.com/electron/electron/pull/49074) <sup>(Also in [38](https://github.com/electron/electron/pull/49596), [39](https://github.com/electron/electron/pull/49597), [40](https://github.com/electron/electron/pull/49595), [41](https://github.com/electron/electron/pull/49598))</sup>
- * Fixed aspect ratio min/max size clamping to correctly account for extraSize on macOS. [#50836](https://github.com/electron/electron/pull/50836) <sup>(Also in [40](https://github.com/electron/electron/pull/50834), [41](https://github.com/electron/electron/pull/50835))</sup>
- * Fixed borders and smearing in transparent frameless/client frame windows on Linux. [#51430](https://github.com/electron/electron/pull/51430) (Also in 41)
- * Fixed bug that could occasionally cause browserWindow's `always-on-top-changed` event to fire with incorrect values. [#51133](https://github.com/electron/electron/pull/51133) <sup>(Also in [40](https://github.com/electron/electron/pull/51134), [41](https://github.com/electron/electron/pull/51135))</sup>
- * Fixed bug where opening a message box immediately upon closing a child window may cause the parent window to freeze on Windows. [#50078](https://github.com/electron/electron/pull/50078) <sup>(Also in [39](https://github.com/electron/electron/pull/50190), [40](https://github.com/electron/electron/pull/50189), [41](https://github.com/electron/electron/pull/50191))</sup>
- * Fixed build failure when printing is disabled. [#50056](https://github.com/electron/electron/pull/50056) <sup>(Also in [41](https://github.com/electron/electron/pull/50077))</sup>
- * Fixed certain DevTools extension panels not showing without a page reload. [#50640](https://github.com/electron/electron/pull/50640)
- * Fixed crash in platform_util::Beep() on Linux. [#49442](https://github.com/electron/electron/pull/49442) <sup>(Also in [39](https://github.com/electron/electron/pull/49484), [40](https://github.com/electron/electron/pull/49482), [41](https://github.com/electron/electron/pull/49483))</sup>
- * Fixed crash when `app.setPath('sessionData')` was called with a non-existent directory. [#50908](https://github.com/electron/electron/pull/50908) <sup>(Also in [41](https://github.com/electron/electron/pull/50958))</sup>
- * Fixed crash when handling JavaScript dialogs from windows opened with invalid or empty URLs. [#50398](https://github.com/electron/electron/pull/50398) <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))</sup>
- * Fixed CSS selector syntax in default app styles to properly apply animations to hero icons. [#49950](https://github.com/electron/electron/pull/49950) <sup>(Also in [41](https://github.com/electron/electron/pull/50033))</sup>
- * Fixed dependency issue that caused Squirrel.Mac updates to fail. [#49980](https://github.com/electron/electron/pull/49980)
- * Fixed dock menu items not respecting enabled and checked properties on macOS. [#49574](https://github.com/electron/electron/pull/49574) <sup>(Also in [38](https://github.com/electron/electron/pull/49627), [39](https://github.com/electron/electron/pull/49626), [40](https://github.com/electron/electron/pull/49624), [41](https://github.com/electron/electron/pull/49625))</sup>
- * Fixed draggable regions not updating position when DevTools is docked to the left or right in a frameless window. [#49822](https://github.com/electron/electron/pull/49822) <sup>(Also in [39](https://github.com/electron/electron/pull/49846), [40](https://github.com/electron/electron/pull/49847), [41](https://github.com/electron/electron/pull/49848))</sup>
- * Fixed draggable regions responding to clicks in hidden `WebContentsView`. [#51245](https://github.com/electron/electron/pull/51245) (Also in 40, 41)
- * Fixed duplicate mouse hooks stacking on Windows when `UnhookWindowsHookEx` fails in `SetForwardMouseMessages`. [#51418](https://github.com/electron/electron/pull/51418) (Also in 41)
- * Fixed improper focus tracking in BaseWindow on MacOS. [#50339](https://github.com/electron/electron/pull/50339) <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))</sup>
- * Fixed logic bug that rendered certain window types un-resizable on MAS builds. [#50356](https://github.com/electron/electron/pull/50356) <sup>(Also in [40](https://github.com/electron/electron/pull/50355), [41](https://github.com/electron/electron/pull/50354))</sup>
- * Fixed macOS text replacement not working on `contenteditable` elements. [#51344](https://github.com/electron/electron/pull/51344) (Also in 40, 41)
- * Fixed memory leak when setting icons on Linux/GTK. [#49863](https://github.com/electron/electron/pull/49863) <sup>(Also in [38](https://github.com/electron/electron/pull/49897), [39](https://github.com/electron/electron/pull/49896), [40](https://github.com/electron/electron/pull/49898), [41](https://github.com/electron/electron/pull/49895))</sup>
- * Fixed menu bar hiding after a call to `win.setFullScreen(false)` when not in fullscreen on Linux. [#45930](https://github.com/electron/electron/pull/45930) <sup>(Also in [39](https://github.com/electron/electron/pull/49995), [40](https://github.com/electron/electron/pull/49994), [41](https://github.com/electron/electron/pull/49996))</sup>
- * Fixed menus to correctly emit `menu-will-close` event when closed after any submenu has been open. [#49783](https://github.com/electron/electron/pull/49783) <sup>(Also in [40](https://github.com/electron/electron/pull/49963), [41](https://github.com/electron/electron/pull/49964))</sup>
- * Fixed native notification clicks not focusing the application window on Wayland. [#50669](https://github.com/electron/electron/pull/50669)
- * Fixed printing on Linux failing with "Invalid printer settings". [#50487](https://github.com/electron/electron/pull/50487) <sup>(Also in [41](https://github.com/electron/electron/pull/50486))</sup>
- * Fixed rendering glitches on macOS. [#49608](https://github.com/electron/electron/pull/49608) <sup>(Also in [40](https://github.com/electron/electron/pull/49609), [41](https://github.com/electron/electron/pull/49621))</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. [#50864](https://github.com/electron/electron/pull/50864) <sup>(Also in [41](https://github.com/electron/electron/pull/50863))</sup>
- * Fixed several issues with consistent window sizing and resizing on Linux when CSD is in use (e.g. on GNOME/Wayland) and added support for creating content-sized windows. [#49209](https://github.com/electron/electron/pull/49209) <sup>(Also in [41](https://github.com/electron/electron/pull/49835))</sup>
- * Fixed shutdown crash on windows when hidden titlebar is enabled. [#50042](https://github.com/electron/electron/pull/50042) <sup>(Also in [39](https://github.com/electron/electron/pull/50054), [40](https://github.com/electron/electron/pull/50053), [41](https://github.com/electron/electron/pull/50055))</sup>
- * Fixed shutdown crash on windows when power monitor notifications were subscribed. [#50893](https://github.com/electron/electron/pull/50893)
- * Fixed squirrel.mac stacked update behavior to old staged updates. [#49365](https://github.com/electron/electron/pull/49365) <sup>(Also in [39](https://github.com/electron/electron/pull/49637), [40](https://github.com/electron/electron/pull/49638), [41](https://github.com/electron/electron/pull/49639))</sup>
- * Fixed stable bounds on Windows when toggling `setResizable` for frameless windows. [#51296](https://github.com/electron/electron/pull/51296) (Also in 41)
- * Fixed startup crash when V8 sandbox is disabled. [#49210](https://github.com/electron/electron/pull/49210) <sup>(Also in [40](https://github.com/electron/electron/pull/49884), [41](https://github.com/electron/electron/pull/49504))</sup>
- * Fixed test scaffolding bug when running tests locally on Linux. [#51149](https://github.com/electron/electron/pull/51149) <sup>(Also in [40](https://github.com/electron/electron/pull/51151), [41](https://github.com/electron/electron/pull/51150))</sup>
- * Fixed the appearance of maximized windows on GNOME in Wayland, especially when non-default GTK themes like Breeze are set. [#50644](https://github.com/electron/electron/pull/50644) <sup>(Also in [41](https://github.com/electron/electron/pull/50645))</sup>
- * Fixed the crash keys being lost and the crash reporter hanging on macOS when many dynamic crash keys were registered. [#50839](https://github.com/electron/electron/pull/50839) <sup>(Also in [40](https://github.com/electron/electron/pull/50838), [41](https://github.com/electron/electron/pull/50837))</sup>
- * Fixed transparency being lost across `setResizable` toggles on Windows. [#51218](https://github.com/electron/electron/pull/51218) (Also in 41)
- * Fixed user resizing of transparent windows on win32 platform. [#50299](https://github.com/electron/electron/pull/50299) <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))</sup>
- * Fixed utilityProcess exit event reporting incorrect exit codes on Windows when the exit code has the high bit. [#50385](https://github.com/electron/electron/pull/50385) <sup>(Also in [40](https://github.com/electron/electron/pull/50387), [41](https://github.com/electron/electron/pull/50386))</sup>
- * Fixed webRequest handlers not being called for intercepted protocols and special net.fetch URLs. [#45915](https://github.com/electron/electron/pull/45915)
- * Fixed window freeze when failing to enter/exit fullscreen on macOS. [#50342](https://github.com/electron/electron/pull/50342) <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))</sup>
- * Fixed window insets not being removed on fullscreen windows on Windows. [#51331](https://github.com/electron/electron/pull/51331) (Also in 41)
- * Fixed window sizing on Linux when min/max size constraints are set or `resizable` is `false`. Windows no longer shrink below the requested max size or grow taller when resizability is disabled. [#49903](https://github.com/electron/electron/pull/49903) <sup>(Also in [41](https://github.com/electron/electron/pull/49971))</sup>
- * Fixed Windows notification toast action and reply events not dispatching from WinRT activation path. [#51330](https://github.com/electron/electron/pull/51330) (Also in 41)
- * Global shortcuts can now be registered more reliably on Wayland using the `globalShortcut` API. [#49988](https://github.com/electron/electron/pull/49988) <sup>(Also in [41](https://github.com/electron/electron/pull/50051))</sup>
- * Improved the appearance of shadows and borders on frameless windows on Wayland. [#50007](https://github.com/electron/electron/pull/50007) <sup>(Also in [41](https://github.com/electron/electron/pull/50213))</sup>
- * Moved Electron-specific help menu links to the default app only; unpackaged apps will no longer see these items in their default menu. [#50861](https://github.com/electron/electron/pull/50861) <sup>(Also in [40](https://github.com/electron/electron/pull/50860), [41](https://github.com/electron/electron/pull/50859))</sup>
- * Removed "representedObject is not a WeakPtrToElectronMenuModelAsNSObject" logging when interacting with macOS menus. [#50614](https://github.com/electron/electron/pull/50614) <sup>(Also in [41](https://github.com/electron/electron/pull/50613))</sup>
- ## Other Changes
- * Added support for using a proxy during yarn install. [#50351](https://github.com/electron/electron/pull/50351) <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))</sup>
- * Backported fix for 483569511. [#49788](https://github.com/electron/electron/pull/49788)
- * Bumped Chromium to 148.0.7778.40. [#51126](https://github.com/electron/electron/pull/51126)
- * Bumped Chromium to 148.0.7778.56. [#51299](https://github.com/electron/electron/pull/51299)
- * Enabled profile-guided optimization for V8 builtins in release builds, improving JavaScript builtin performance (Array, String, RegExp, etc.). [#50573](https://github.com/electron/electron/pull/50573) <sup>(Also in [40](https://github.com/electron/electron/pull/50575), [41](https://github.com/electron/electron/pull/50574))</sup>
- * Fixed `gn gen` failing to resolve `electron_version` when building from a `git worktree` checkout. [#51166](https://github.com/electron/electron/pull/51166) <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))</sup>
- * Fixed crash in platform_util::Beep() on Linux. [#49680](https://github.com/electron/electron/pull/49680) <sup>(Also in [40](https://github.com/electron/electron/pull/49864), [41](https://github.com/electron/electron/pull/49865))</sup>
- * Refactored `gin_helper::Promise` to be managed by cppgc. [#51405](https://github.com/electron/electron/pull/51405)
- * Refactored our MSIX updater code to use an upstream Chromium pattern and eliminates the need for special exception handling build flags. [#49645](https://github.com/electron/electron/pull/49645) <sup>(Also in [39](https://github.com/electron/electron/pull/49688), [40](https://github.com/electron/electron/pull/49687), [41](https://github.com/electron/electron/pull/49686))</sup>
- * Replaced ESLint with oxlint and added oxfmt for JS/TS formatting. [#51435](https://github.com/electron/electron/pull/51435)
- * Restricted npm tarball contents to an explicit allowlist. [#51308](https://github.com/electron/electron/pull/51308)
- * Security: backported fixes for CVE-2026-6358, CVE-2026-6359, CVE-2026-6360, CVE-2026-6310, CVE-2026-6312, CVE-2026-6313, CVE-2026-6314, CVE-2026-6316, CVE-2026-6361, CVE-2026-6362. [#51136](https://github.com/electron/electron/pull/51136)
- ## Documentation
- * Documentation changes: [#46926](https://github.com/electron/electron/pull/46926), [#49401](https://github.com/electron/electron/pull/49401), [#50292](https://github.com/electron/electron/pull/50292), [#50526](https://github.com/electron/electron/pull/50526), [#51368](https://github.com/electron/electron/pull/51368), [#51309](https://github.com/electron/electron/pull/51309), [#51423](https://github.com/electron/electron/pull/51423)
- ## Notices
- ### End of Support for 39.x.y
- Electron 39.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.