Release Notes for v42.0.0
Features
- Added JS stack trace to crash reports on renderer OOM. #50911
- 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
- Added
ELECTRON_INSTALL_PLATFORMandELECTRON_INSTALL_ARCHvariables to install binaries from other platforms and architectures. #49981 - Added
Notification.getHistory()for macOS, allowing developers to restore all delivered notifications still present in Notification Center. #51123 - Added
allowExtensionsprivilege toprotocol.registerSchemesAsPrivileged()to enable Chrome extensions on custom protocols. #50530 (Also in 40, 41) - Added
app.configureWebAuthn()to enable the Touch ID platform authenticator for WebAuthn on macOS, and aselect-webauthn-accountsession event for choosing between multiple discoverable credentials. #51411 (Also in 41) - Added
app.isActive()to check if the app is the active/foreground application (macOS only). #49622 - Added
globalShortcut.setSuspended()andglobalShortcut.isSuspended()methods to temporarily suspend and resume global shortcut handling. #50777 - Added
idandgroupIdoptions to the Notification constructor on macOS.idallows custom identifiers for notifications, andgroupIdvisually groups notifications together in Notification Center. #50304 - Added
webContents.getOrCreateDevToolsTargetId(). #49733 (Also in 41) - Added a
disclaimoption to the UtilityProcess API to allow for TCC disclaiming on macOS. #49128 (Also in 39, 40, 41) - Added a
reasonproperty to the Notification 'closed' event on Windows to allow developers to know the reason the Notification was dismissed. #49913 (Also in 40, 41) - Added an
usePrinterDefaultPageSizeoption towebContents.print()to allow using the printer's default page size. #49523 (Also in 41) - Added animation functionality to
view.setBoundsand addview.setBackgroundBlur. #48812 - Added id, groupId, and groupTitle support for Windows notifications. #50895
- Added nativeTheme.shouldDifferentiateWithoutColor on macOS. #50409 (Also in 41)
- Added support for MSIX auto-updating. #49230 (Also in 39, 40, 41)
- Added support for
--experimental-transform-types. #49711 (Also in 39, 40, 41) - Added support for
long-animation-framescript attribution (via--enable-features=AlwaysLogLOAFURL). #49706 (Also in 39, 40, 41) - Added support for heap profiling via
contentTracing.enableHeapProfiling(). #51162 (Also in 41) - Added support for importing shared textures using the nv16 pixel format. #51187
- Added support for importing shared textures using the p010le 10-bit YUV pixel format. #49272
- Added support for several more
safeStoragebackends via new asynchronous functionality in safeStorage. #49054 - Added the ability to disable auto-focusing of WebContents on navigation using
webPreferences.focusOnNavigation. #49425 (Also in 40, 41) - Changed offscreen scale factor use
1.0fas default. #49683 - Electron now downloads its binary into
node_modulesdynamically on first launch instead of running apostinstallscript. Added theinstall-electronscript to manually trigger the download as well. #49328 - Enable wasm trap handlers behind
WasmTrapHandlersfuse. #48983 (Also in 41) - Extended actions support for Windows notifications to include buttons, select dropdowns, and replies. #48132 (Also in 40, 41)
- Notes: Added support for the
urgencyoption in Notifications on Windows. #50383 (Also in 41) - On Wayland (Linux), frameless windows now have GTK drop shadows and extended resize boundaries. To create fully frameless windows with no decorations, set
hasShadow: falsein the window constructor. #49295 (Also in 41) - Replaced deprecated NSUserNotification with User Notifications. #47817
Fixes
- Added additional ASAR support to additional
fscopy methods. #50285 (Also in 39, 40, 41) - Added crash keys to diagnose power monitor shutdown crash on arm64 windows. #51205
- Added missing
metadatafields tocontentTracingtraces. #51007 (Also in 41) - Added validation to protocol client methods to reject protocol names that do not conform to the RFC 3986 URI scheme grammar. #50141 (Also in 38, 39, 40, 41)
- Addressed upstream Chromium shift to enable
CoreAudio Tap APIfor audio capture used in electron'sdesktopCapturer(🍏 macOS). #49717 (Also in 39, 40, 41) - Allow dynamically updating menu item labels, sublabels, and icons. #49678 (Also in 40, 41)
- BrowserWindow now enforces min/max size constraints on window creation, even if they conflict with the requested width and height. #50754 (Also in 41)
- Changed the
kResizeThresholdto trigger the resize on corners. #51001 (Also in 41) - Ensured cross-origin
fetch()and XHR are blocked for custom protocols registered withsupportFetchAPI: trueunlesscorsEnabled: trueis also set; cross-originmode: 'no-cors'requests now receive an opaque response. #51269 (Also in 39, 40, 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 - Fixed
fs.staton files inside asar archives returningundefinedforblksizeandblocksinstead of numeric values. #50877 (Also in 40, 41) - Fixed
globalShortcutnot working on Wayland withGlobalShortcutsPortalfeature enabled. #49842 (Also in 40, 41) - Fixed
webContents.printToPDFrejecting on all subsequent calls after a prior call was rejected with an invalidpageRangesvalue. #51222 (Also in 40, 41) - Fixed a crash when providing invalid HTTP header names or values in the
webRequest.onBeforeSendHeaders()callback. #51366 (Also in 40, 41) - Fixed a bug that cause offscreen rendering doesn't have valid screen info and unable to get valid result of related media queries.
- Fixed a bug where Windows notification icons could fail to save because their temporary filenames contained invalid characters. #50482 (Also in 40, 41)
- Fixed a bug where errors would occur when using the Chrome DevTools Fetch API. #51372 (Also in 41)
- Fixed a crash in
clipboard.readImage()when the clipboard contains malformed image data. #50494 (Also in 39, 40, 41) - Fixed a crash that could occur when an autofill suggestion popup was shown while a window was closing. #51317 (Also in 41)
- Fixed a crash that could occur when using the File System Access API. #49578 (Also in 39, 40, 41)
- Fixed a crash when calling
contentTracing.getTraceBufferUsage()while a trace session is active. #50592 (Also in 39, 40, 41) - Fixed a crash when calling an offscreen shared texture's
release()after the texture object was garbage collected. #50502 (Also in 39, 40, 41) - Fixed a crash when rendering PDFs when Site Isolation is disabled. #50846 (Also in 41)
- Fixed a macOS crash when creating a new tab from the tab overview. #49917 (Also in 40, 41)
- Fixed a memory leak where Menu items were not cleaned up after Menu.setApplicationMenu was called repeatedly. #50832 (Also in 40, 41)
- Fixed a potential crash when using
webContents.print(). #50853 - 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. #51430 (Also in 41)
- Fixed a regression on Windows where frameless windows changed their size after calling
setResizable. #51296 (Also in 41) - Fixed a regression where frameless fullscreen windows had white borders on Windows. #51331 (Also in 41)
- Fixed a renderer crash when a page uses the
<geolocation>HTML element. #51374 (Also in 41) - Fixed absent 'Electron Isolated Context' in the execution context dropdown in Dev Tools. #51079 (Also in 41)
- Fixed an accessibility issue where the AXMenuOpened event was not fired on menu creation. #50504 (Also in 40, 41)
- Fixed an application crash on MacOS where the menu observer was not being properly removed before garbage collection. #49648 (Also in 40, 41)
- Fixed an error with Windows release builds after MSIX merger. #49613
- Fixed an intermittent
Invoke in DisallowJavascriptExecutionScopecrash on application quit when aWebContents(or other JS-emitting native object) is garbage-collected during shutdown. #50695 (Also in 40, 41) - Fixed an issue in
chrome://accessibility. #49547 (Also in 39, 40, 41) - Fixed an issue on Windows where a transient
UnhookWindowsHookExfailure insetIgnoreMouseEvents(true, { forward: true })teardown could cause duplicate low-level mouse hooks to be installed on the next activation. #51418 (Also in 41) - Fixed an issue on macOS where Universal Links were not delivered to
app.on('continue-activity')on cold launch whenNSUserActivity.userInfowas nil. #49986 (Also in 39, 40, 41) - Fixed an issue on macOS where
show/hideevents andWebContentsvisibility state could be reported incorrectly when multipleWebContentsViews were attached to a window. #50712 (Also in 40, 41) - Fixed an issue on macOS where calling
autoUpdater.quitAndInstall()could fail ifcheckForUpdates()was called again after an update was already downloaded. #50210 (Also in 39, 40, 41) - Fixed an issue that caused the RGBAF16 shared texture format to have a keyed mutex on Windows. #49798 (Also in 41)
- Fixed an issue where Chrome Devtools menus may not appear in certain embedded windows. #49794 (Also in 39, 40, 41)
- Fixed an issue where DevTools would re-attach to the window when opened after previously being detached. #50815 (Also in 39, 40, 41)
- Fixed an issue where
VideoFrameobjects returned throughcontextBridgehad an incorrect prototype. #49997 (Also in 39, 40, 41) - Fixed an issue where
additionalDatapassed toapp.requestSingleInstanceLockon Windows could be truncated or fail to deserialize in the primary instance'ssecond-instanceevent. #50119 (Also in 38, 39, 40, 41) - Fixed an issue where
app-region: draginside a hiddenWebContentsViewwould still drag the parent window on Windows. #51245 (Also in 40, 41) - Fixed an issue where
net.fetch()requests in the main process and utility processes would permanently fail withnet::ERR_FAILEDafter the Network Service process crashed and restarted. #49887 - Fixed an issue where
nodeIntegrationInWorkerdidn't always work in AudioWorklet. #51005 (Also in 40, 41) - Fixed an issue where
nodeIntegrationInWorkeroverrides insetWindowOpenHandlerwere not honored for child windows sharing a renderer process with their opener. #50122 (Also in 38, 39, 40, 41) - Fixed an issue where
screen.getCursorScreenPoint()crashed on Wayland when it was called before aBrowserWindowhad been created. #50092 (Also in 39, 40, 41) - Fixed an issue where
setSimpleFullScreenon macOS would exit when web content calledrequestFullscreen(). #50987 (Also in 40, 41) - Fixed an issue where
shell.writeShortcutLinkwas throwingTypeError: Insufficient number of argumentswhen called with just[(path, options)]. #49476 (Also in 39, 40, 41) - Fixed an issue where alt+space triggered th system context menu even if an accelerator was registered for the hotkey combination. #49619 (Also in 39, 40, 41)
- Fixed an issue where an Electron auto-update job would occasionally fail if a macOS system update is pending. #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 (Also in 40, 41)
- Fixed an issue where an app shortcut may lose its icon after auto-updating on Windows. #50517 (Also in 40, 41)
- Fixed an issue where calling
contentTracingAPIs beforeapp.whenReady()would crash the application. #51353 (Also in 41) - Fixed an issue where calling
setBoundson aWebContentsViewcould trigger redundantpage-favicon-updatedevents even when the favicon had not changed. #49464 (Also in 39, 40, 41) - Fixed an issue where closing devtools immediately after focus caused a crash. #51036 (Also in 41)
- Fixed an issue where concurrent
getFileHandlerequests on the same path could stall indefinitely. #50671 (Also in 40, 41) - Fixed an issue where cookie changed events weren't properly emitted in all cases. #49103 (Also in 41)
- Fixed an issue where custom options in
webContents.print()did not prefill the print dialog on macOS. #50643 - Fixed an issue where frameless windows had resize issues in Mac App Store builds. #49780 (Also in 39, 40, 41)
- Fixed an issue where invalid characters in custom protocol or webRequest response header values were not rejected. #50123 (Also in 38, 39, 40, 41)
- Fixed an issue where making a window fullscreen on Windows, minimizing it and then restoring it broke previous fullscreen state. #49872 (Also in 40, 41)
- Fixed an issue where malformed custom
toastXmlcould cause a Notification crash. #49947 (Also in 40, 41) - Fixed an issue where margins did not look as expected when printing in silent mode. #50653 (Also in 41)
- Fixed an issue where menu item accelerators stopped working after the item's enabled property was toggled on macOS. #49553 (Also in 39, 40, 41)
- Fixed an issue where menu item enabled state wasn't updated during key equivalent dispatch when the menu was closed on macOS. #49875 (Also in 39, 40, 41)
- Fixed an issue where native modules would either crash or not compile for MacOS 12. #49697 (Also in 40, 41)
- Fixed an issue where permission and device-chooser handlers received the top-level page origin instead of the requesting subframe's origin. #50052 (Also in 38, 39, 40, 41)
- Fixed an issue where role-based menu items were incorrectly returning
nullfor their accelerator property. #49558 (Also in 39, 40, 41) - Fixed an issue where saving edited PDF files would fail with a cross-origin SecurityError. #51072 (Also in 41)
- Fixed an issue where setting
zoomFactorinsetWindowOpenHandler'soverrideBrowserWindowOptionshad no effect on windows opened viawindow.open(). #49886 (Also in 39, 40, 41) - Fixed an issue where some DevTools functionality didn't work as expected. #50274 (Also in 40, 41)
- Fixed an issue where some
shellfunctionality may not work on Linux if the target window is already open. #49499 (Also in 41) - Fixed an issue where some toast notification properties didn't work as expected in WinRT. #51330 (Also in 41)
- Fixed an issue where the Squirrel.Mac installer could resolve the target bundle path to different locations at different stages of an install. #50765 (Also in 39)
- Fixed an issue where the
webContents.print()callback may not fire correctly in some cases. #50603 (Also in 41) - Fixed an issue where traffic light buttons would flash at position (0,0) when restoring a window with a custom
trafficLightPositionfrom minimization on macOS. #50183 (Also in 39, 40, 41) - Fixed an issue where webContents.print() would ignore pageSize / mediaSize when silent was true. #50855 (Also in 41)
- Fixed an issue whereby a duplicate "Toggle Full Screen" menu item appeared in the View menu on macOS. #49074 (Also in 38, 39, 40, 41)
- Fixed aspect ratio min/max size clamping to correctly account for extraSize on macOS. #50836 (Also in 40, 41)
- Fixed bug that could occasionally cause browserWindow's
always-on-top-changedeven to fire with incorrect values. #51133 (Also in 40, 41) - Fixed bug where opening a message box immediately upon closing a child window may cause the parent window to freeze on Windows. #50078 (Also in 39, 40, 41)
- Fixed buggy behavior where Backspace would accept macOS text replacements inside
contenteditableelements. #51344 (Also in 40, 41) - Fixed build failure when building with
enable_pdfdisabled. #51249 (Also in 41) - Fixed build failure when printing is disabled. #50056 (Also in 41)
- Fixed certain DevTools extension panels not showing without a page reload. #50640
- Fixed crash in platform_util::Beep() on Linux. #49442 (Also in 39, 40, 41)
- Fixed crash when
app.setPath('sessionData')was called with a non-existent directory. #50908 (Also in 41) - Fixed crash when handling JavaScript dialogs from windows opened with invalid or empty URLs. #50398 (Also in 39, 40, 41)
- Fixed cross-origin isolation failing for non-file origins. #51404
- Fixed dependency issue that caused Squirrel.Mac updates to fail. #49980
- Fixed dock menu items not respecting enabled and checked properties on macOS. #49574 (Also in 38, 39, 40, 41)
- Fixed draggable regions not updating position when DevTools is docked to the left or right in a frameless window. #49822 (Also in 39, 40, 41)
- Fixed frameless transparent windows on Windows losing their transparency after
setResizable(false)followed bysetResizable(true). #51218 (Also in 41) - Fixed improper focus tracking in BaseWindow on MacOS. #50339 (Also in 39, 40, 41)
- Fixed logic bug that rendered certain window types un-resizable on MAS builds. #50356 (Also in 40, 41)
- Fixed memory leak when setting icons on Linux/GTK. #49863 (Also in 38, 39, 40, 41)
- Fixed menu bar hiding after a call to
win.setFullScreen(false)when not in fullscreen on Linux. #45930 (Also in 39, 40, 41) - Fixed menus to correctly emit
menu-will-closeevent when closed after any submenu has been open. #49783 (Also in 40, 41) - Fixed native notification clicks not focusing the application window on Wayland. #50669
- Fixed printing on Linux failing with "Invalid printer settings". #50487 (Also in 41)
- Fixed rendering glitches on macOS. #49608 (Also in 40, 41)
- Fixed resize hit targets for frameless windows on Windows. Resize targets now start at the side and bottom edges of the window and extend outward when
frame: false, matching the behavior for windows with frames. #50864 (Also in 41) - 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 (Also in 41)
- Fixed shutdown crash on windows when hidden titlebar is enabled. #50042 (Also in 39, 40, 41)
- Fixed shutdown crash on windows when power monitor notifications were subscribed. #50893
- Fixed startup crash when V8 sandbox is disabled. #49210 (Also in 40, 41)
- Fixed test scaffolding bug when running tests locally on Linux. #51149 (Also in 40, 41)
- Fixed the appearance of maximized windows on GNOME in Wayland, especially when non-default GTK themes like Breeze are set. #50644 (Also in 41)
- Fixed the crash keys being lost and the crash reporter hanging on macOS when many dynamic crash keys were registered. #50839 (Also in 40, 41)
- Fixed user resizing of transparent windows on win32 platform. #50299 (Also in 39, 40, 41)
- Fixed utilityProcess exit event reporting incorrect exit codes on Windows when the exit code has the high bit. #50385 (Also in 40, 41)
- Fixed webRequest handlers not being called for intercepted protocols and special net.fetch URLs. #45915
- Fixed window freeze when failing to enter/exit fullscreen on macOS. #50342 (Also in 39, 40, 41)
- Fixed window sizing on Linux when min/max size constraints are set or
resizableisfalse. Windows no longer shrink below the requested max size or grow taller when resizability is disabled. #49903 (Also in 41) - Global shortcuts can now be registered more reliably on Wayland using the
globalShortcutAPI. #49988 (Also in 41) - Improved the appearance of shadows and borders on frameless windows on Wayland. #50007 (Also in 41)
- Improved the way Electron determines the default XDG App ID and WM_CLASS on Linux for better platform compatibility if
desktopNameis not provided inpackage.json. #51479 (Also in 41) - Moved Electron-specific help menu links to the default app only; unpackaged apps will no longer see these items in their default menu. #50861 (Also in 40, 41)
- Removed "representedObject is not a WeakPtrToElectronMenuModelAsNSObject" logging when interacting with macOS menus. #50614 (Also in 41)
- Removed support for the ELECTRON_SKIP_BINARY_DOWNLOAD environment variable. #50459
- 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. #51354 (Also in 41)
Other Changes
- Added support for using a proxy during yarn install. #50351 (Also in 39, 40, 41)
- Backported fix for 483569511. #49788
- Enabled profile-guided optimization for V8 builtins in release builds, improving JavaScript builtin performance (Array, String, RegExp, etc.). #50573 (Also in 40, 41)
- Fixed
gn genfailing to resolveelectron_versionwhen building from agit worktreecheckout. #51166 (Also in 39, 40, 41) - Fixed crash in platform_util::Beep() on Linux. #49680 (Also in 40, 41)
- Refactored our MSIX updater code to use an upstream Chromium pattern and eliminates the need for special exception handling build flags. #49645 (Also in 39, 40, 41)
- 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
- Updated Chromium to 148.0.7778.96. #51402
- Updated Node.js to v24.15.0. #51090
Documentation
Unknown
- Fixed CSS selector syntax in default app styles to properly apply animations to hero icons. #49950 (Also in 41)
- Fixed an issue where some packages weren't correctly filtered on macOS in dialogs. #49444 (Also in 38, 39, 40, 41)
- Fixed squirrel.mac stacked update behavior to old staged updates. #49365 (Also in 39, 40, 41)