Releases: electron/electron
electron v42.1.0
electron v41.6.1
electron v43.0.0-alpha.2
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.2.
Release Notes for v43.0.0-alpha.2
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) - Fix: If a
nativeImagewas 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 anativeImage. #51565 - 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](https://github...
electron v41.6.0
electron v41.5.2
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/...