Releases: electron/electron
electron v42.0.1
Release Notes for v42.0.1
Fixes
- Fixed DesktopCapturer crash on macOS. #51506
- 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. #51370
- Fixed
app.getLoginItemSettings()returningundefinedforexecutableWillLaunchAtLoginon macOS; the property is now always a boolean. #51507 (Also in 40, 41) - Fixed a potential race condition crash when closing DevTools. #51473 (Also in 41)
Other Changes
- Updated Chromium to 148.0.7778.97. #51517
electron v41.5.1
Release Notes for v41.5.1
Fixes
- Fixed
app.getLoginItemSettings()returningundefinedforexecutableWillLaunchAtLoginon macOS; the property is now always a boolean. #51508 (Also in 40, 42) - Fixed a potential race condition crash when closing DevTools. #51474 (Also in 42)
- Fixed cross-origin isolation failing for non-file origins. #51403 (Also in 42)
- 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. #51480 (Also in 42)
electron v40.10.0
electron v43.0.0-alpha.1
Note: This is an alpha release. Please file new issues for any bugs you find in it.
This release is published to npm under the alpha tag and can be installed via npm install electron@alpha, or npm install electron@43.0.0-alpha.1.
Release Notes for v43.0.0-alpha.1
Features
- Added Clone method to WebContents. #49959
- Added JS stack trace to crash reports on renderer OOM. #50043 (Also in 42)
- Added Linux support for
app.getApplicationInfoForProtocol(). #51297 - Added
Notification.getHistory()for macOS, allowing developers to restore all delivered notifications still present in Notification Center. #50325 (Also in 42) - Added
accessibilityLabelproperty toMenuItemconstructor options and properties for defining screen-reader-friendly labels. #50240 - Added
allowExtensionsprivilege toprotocol.registerSchemesAsPrivileged()to enable Chrome extensions on custom protocols. #49951 (Also in 40, 41, 42) - 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. #51255 (Also in 41, 42) - Added
globalShortcut.setSuspended()andglobalShortcut.isSuspended()methods to temporarily suspend and resume global shortcut handling. #50425 (Also in 42) - Added
idandgroupIdoptions to the Notification constructor on macOS.idallows custom identifiers for notifications, andgroupIdvisually groups notifications together in Notification Center. #50097 (Also in 42) - Added
nv12OSR pixel format support for professional use. #49799 - Added
view.setBackgroundBlur. #51076 - Added
webContents.copyVideoFrameAt(x, y)andwebContents.saveVideoFrameAs(x, y)methods. #48149 - Added id, groupId, and groupTitle support for Windows notifications. #50328 (Also in 42)
- Added nativeTheme.shouldDifferentiateWithoutColor on macOS. #49912 (Also in 41, 42)
- Added session support to net module requests from utility process. #51279
- Added support for heap profiling via
contentTracing.enableHeapProfiling(). #50826 (Also in 41, 42) - Added support for importing shared textures using the nv16 pixel format. #50728 (Also in 42)
- Allowed the
--experimental-inspector-network-resourceNode.js flag to be passed through Electron. #49689 - Feat: SF Symbol customisation. #48911
- File downloads will open by default in the user's Downloads folder (or Home directory if Downloads doesn't exist). #49868
- Fixed contentTracing module to capture Node.js trace categories. #50591
- Notes: Added support for the
urgencyoption in Notifications on Windows. #50225 (Also in 41, 42)
Fixes
- Added additional ASAR support to additional
fscopy methods. #50226 (Also in 39, 40, 41, 42) - Added crash keys to diagnose power monitor shutdown crash on arm64 windows. #51198 (Also in 42)
- Added missing
metadatafields tocontentTracingtraces. #50892 (Also in 41, 42) - BrowserWindow now enforces min/max size constraints on window creation, even if they conflict with the requested width and height. #49906 (Also in 41, 42)
- Changed the
kResizeThresholdto trigger the resize on corners. #50637 (Also in 41, 42) - 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. #51152 (Also in 39, 40, 41, 42) - Fixed DesktopCapturer crash on macOS. #50960 (Also in 42)
- 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 (Also in 42) - Fixed
ELECTRON_INSTALL_PLATFORMbeing ignored when resolving the Electron executable path during postinstall, which causedpath.txtto be written for the host platform instead of the requested target and madeisInstalled()always re-download on subsequent installs. #51029 (Also in 42) - Fixed
app.getLoginItemSettings()returningundefinedforexecutableWillLaunchAtLoginon macOS; the property is now always a boolean. #51416 (Also in 40, 41, 42) - Fixed
desktopCapturer.getSources()hanging on macOS. #51128 - Fixed
fs.staton files inside asar archives returningundefinedforblksizeandblocksinstead of numeric values. #50825 (Also in 40, 41, 42) - Fixed
webContents.printToPDFrejecting on all subsequent calls after a prior call was rejected with an invalidpageRangesvalue. #51174 (Also in 40, 41, 42) - Fixed a crash when providing invalid HTTP header names or values in the
webRequest.onBeforeSendHeaders()callback. #51340 (Also in 40, 41, 42) - Fixed a bug where Windows notification icons could fail to save because their temporary filenames contained invalid characters. #50454 (Also in 40, 41, 42)
- Fixed a bug where errors would occur when using the Chrome DevTools Fetch API. #50744 (Also in 41, 42)
- Fixed a crash in
clipboard.readImage()when the clipboard contains malformed image data. #50475 (A...
electron v42.0.0
Release Notes for v42.0.0
Stack Upgrades
- Chromium
148.0.7778.96 - Node
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
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 for more context. #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
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
Features
Additions
- Added
app.configureWebAuthn({ touchID: { keychainAccessGroup } })to enable the WebAuthn Touch ID platform authenticator on macOS. Also introduces aselect-webauthn-accountsession event for discoverable-credential selection. #51411 (Also in 41) - Added
Notification.getHistory()for macOS. #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 - Added
ELECTRON_INSTALL_PLATFORMandELECTRON_INSTALL_ARCHvariables to install binaries from other platforms and architectures. #49981 - Added
allowExtensionsprivilege toprotocol.registerSchemesAsPrivileged()to enable Chrome extensions on custom protocols. #50530 (Also in 40, 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 addedview.setBackgroundBlur. #48812 - Added id, groupId, and groupTitle support for Windows notifications. #50895
- Added
nativeTheme.shouldDifferentiateWithoutColoron 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 in
contentTracing. #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 support for the
urgencyoption in Notifications on Windows. #50383 (Also in 41) - Added the ability to capture JS stack trace on renderer OOM. #50911
- Added the ability to disable auto-focusing of WebContents on navigation using
webPreferences.focusOnNavigation. #49425 (Also in 40, 41) - 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 - Enabled 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)
- 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](https://github.com/electron/electron/pull/...
electron v39.8.10
Release Notes for v39.8.10
Warning
Electron 39.x.y has reached end-of-support as per the project's support policy. Developers and applications are encouraged to upgrade to a newer version of Electron.
Fixes
- 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. #51272 (Also in 40, 41, 42) - Fixed an issue where the Squirrel.Mac installer could resolve the target bundle path to different locations at different stages of an install. #50766 (Also in 42)
Other Changes
electron v42.0.0-beta.8
Note: This is a beta release. Please file new issues for any bugs you find in it.
This release is published to npm under the beta tag and can be installed via npm install electron@beta, or npm install electron@42.0.0-beta.8.
Release Notes for v42.0.0-beta.8
Fixes
- Fixed a bug where errors would occur when using the Chrome DevTools Fetch API. #51372 (Also in 41)
- Fixed a renderer crash when a page uses the
<geolocation>HTML element. #51374 (Also in 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)
electron v41.5.0
Release Notes for v41.5.0
Features
- 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. #51412 (Also in 42)
Fixes
- Fixed a regression on Windows where frameless windows changed their size after calling
setResizable. #51427 (Also in 42) - 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. #51419 (Also in 42) - Fixed remote debugging via
--remote-debugging-portnot working when inspecting from Chrome'schrome://inspectpage. The DevTools page would appear empty due to the frontend URL pointing to a CDN that returned 404 for Electron's Chromium builds. #51413
electron v41.4.0
Release Notes for v41.4.0
Features
Fixes
- 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. #51270 (Also in 39, 40, 42) - Fixed a crash when providing invalid HTTP header names or values in the
webRequest.onBeforeSendHeaders()callback. #51365 (Also in 40, 42) - 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 errors would occur when using the Chrome DevTools Fetch API. #51371 (Also in 42)
- Fixed a crash that could occur when an autofill suggestion popup was shown while a window was closing. #51321 (Also in 42)
- Fixed a regression where frameless fullscreen windows had white borders on Windows. #51332 (Also in 42)
- Fixed a renderer crash when a page uses the
<geolocation>HTML element. #51373 (Also in 42) - Fixed an issue where calling
contentTracingAPIs beforeapp.whenReady()would crash the application. #51352 (Also in 42) - Fixed an issue where some toast notification properties didn't work as expected in WinRT. #51397 (Also in 42)
- Fixed buggy behavior where Backspace would accept macOS text replacements inside
contenteditableelements. #51343 (Also in 40, 42) - 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. #51355 (Also in 42)
Other Changes
electron v40.9.3
Release Notes for v40.9.3
Fixes
- 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. #51271 (Also in 39, 41, 42) - Fixed
webContents.printToPDFrejecting on all subsequent calls after a prior call was rejected with an invalidpageRangesvalue. #51220 (Also in 41, 42) - Fixed a crash when providing invalid HTTP header names or values in the
webRequest.onBeforeSendHeaders()callback. #51364 (Also in 41, 42) - Fixed a crash that could occur when an autofill suggestion popup was shown while a window was closing. #51334 (Also in 41, 42)
- Fixed an issue where
app-region: draginside a hiddenWebContentsViewwould still drag the parent window on Windows. #51247 (Also in 41, 42) - Fixed an issue where an Electron macOS update would not be applied if another app was previously blocking the macOS system update loop. #51211 (Also in 41, 42)
- Fixed buggy behavior where Backspace would accept macOS text replacements inside
contenteditableelements. #51345 (Also in 41, 42)