Electron v41.0.0
Release Notes
Stack Upgrades
Chromium
146.0.7680.65Node
v24.14.0V8
14.6
Breaking Changes
Fixed an issue where cookie changed events weren't properly emitted in all cases. #49631
For breaking changes inherited via Chromium, see blog post
Features
Additions
Added --disable-geolocation command-line flag for macOS apps to disable location services. #45934
Added NV12 support for import shared texture. #48922 (Also in 40)
Added
webContents.getOrCreateDevToolsTargetId(). #50176Added a
disclaimoption to the UtilityProcess API to allow for TCC disclaiming on macOS. #49693 (Also in 39, 40)Added a
reasonproperty to the Notification 'closed' event on Windows to allow developers to know the reason the Notification was dismissed. #50029 (Also in 40)Added additional defence against privileged user modifications to ASAR Integrity protected applications on macOS. #48587
Added an
usePrinterDefaultPageSizeoption towebContents.print()to allow using the printer's default page size. #49812Added bypassCustomProtocolHandlers option to net.request. #47331 (Also in 38, 39, 40)
Added support for MSIX auto-updating. #49586 (Also in 39, 40)
Added support for WebSocket authentication through the
loginevent onwebContents. #48512 (Also in 39, 40)Added support for
--experimental-transform-types. #49882 (Also in 39, 40)Added support for
long-animation-framescript attribution (via--enable-features=AlwaysLogLOAFURL). #49773 (Also in 39, 40)Added support to import external shared texture as VideoFrame. #47317 (Also in 40)
Added the ability to disable auto-focusing of WebContents on navigation using
webPreferences.focusOnNavigation. #49511 (Also in 40)Enable wasm trap handlers behind
WasmTrapHandlersfuse. #49839On 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. #49885
Improvements
Extended actions support for Windows notifications to include buttons, select dropdowns, and replies. #49787 (Also in 40)
Refactored our MSIX updater code to use an upstream Chromium pattern and eliminates the need for special exception handling build flags. #49686 (Also in 39, 40)
Updated
nativeImage.createFromNamedImageto support SF Symbol names. #48203 (Also in 39, 40)
Removed/Deprecated
Fixes
Fixed CSS selector syntax in default app styles to properly apply animations to hero icons. #50033
Fixed ID of tray icons on Linux. #48675
Fixed an issue that caused the RGBAF16 shared texture format to have a keyed mutex on Windows. #49876
Fixed an issue where Squirrel.Mac's auto updater would fail to install new updates if the targetBundleURL was either not set or contained special characters. #49978
Fixed an issue where some
shellfunctionality may not work on Linux if the target window is already open. #49594Fixed build failure when printing is disabled. #50077
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. #49835
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. #49971Global shortcuts can now be registered more reliably on Wayland using the
globalShortcutAPI. #50051
Also in earlier versions...
Added validation to protocol client methods to reject protocol names that do not conform to the RFC 3986 URI scheme grammar. #50155 (Also in 38, 39, 40)
Addressed upstream Chromium shift to enable
CoreAudio Tap APIfor audio capture used in electron'sdesktopCapturer(🍏 macOS). #49739 (Also in 39, 40)Allow dynamically updating menu item labels, sublabels, and icons. #49972 (Also in 40)
Corrected the appearance of tiled windows on GNOME (when frame: true), and removed resize handles from tiled edges. #48765 (Also in 38, 39, 40)
Fix: ESM-from-CJS import when CJK characters are in path. #48855 (Also in 39, 40)
Fixed
globalShortcutnot working on Wayland withGlobalShortcutsPortalfeature enabled. #49871 (Also in 40)Fixed
setRepresentedFilename()not settingAXDocumentaccessibility attribute on macOS. #49346 (Also in 39, 40)Fixed a Windows notification issue where clicking a native notification would result in an application hang on certain Windows environments. #49106 (Also in 39, 40)
Fixed a crash that could occur when using the File System Access API. #49636 (Also in 39, 40)
Fixed a macOS crash when creating a new tab from the tab overview. #49933 (Also in 40)
Fixed a potential race condition crash when opening DevTools. #49406 (Also in 39, 40)
Fixed an application crash on MacOS where the menu observer was not being properly removed before garbage collection. #49658 (Also in 40)
Fixed an application crash when clicking or hovering over the native MacOS "Window" menu. Reverts #48598. #48794 (Also in 37, 38, 39, 40)
Fixed an error on debug symbol upload by moving dsym.zip to use tar.xz compression. #48941 (Also in 40)
Fixed an issue in
chrome://accessibility. #49561 (Also in 39, 40)Fixed an issue on Windows and Linux where no cookie encryption key provider was passed into the network service when cookie encryption was enabled. #49371 (Also in 40)
Fixed an issue on macOS where Universal Links were not delivered to
app.on('continue-activity')on cold launch whenNSUserActivity.userInfowas nil. #50006 (Also in 39, 40)Fixed an issue that menu items on macOS could not be disabled under all circumstances. #48795 (Also in 37, 38, 39, 40)
Fixed an issue where Chrome Devtools menus may not appear in certain embedded windows. #50137 (Also in 40)
Fixed an issue where
VideoFrameobjects returned throughcontextBridgehad an incorrect prototype. #50023 (Also in 39, 40)Fixed an issue where
additionalDatapassed toapp.requestSingleInstanceLockon Windows could be truncated or fail to deserialize in the primary instance'ssecond-instanceevent. #50154 (Also in 38, 39, 40)Fixed an issue where
menu-did-closewas not emitted properly for some application menus. #49075 (Also in 38, 39, 40)Fixed an issue where
nodeIntegrationInWorkeroverrides insetWindowOpenHandlerwere not honored for child windows sharing a renderer process with their opener. #50134 (Also in 38)Fixed an issue where
screen.getCursorScreenPoint()crashed on Wayland when it was called before aBrowserWindowhad been created. #50105 (Also in 39, 40)Fixed an issue where
shell.writeShortcutLinkwas throwingTypeError: Insufficient number of argumentswhen called with just[(path, options)]. #49503 (Also in 39, 40)Fixed an issue where alt+space triggered th system context menu even if an accelerator was registered for the hotkey combination. #49642 (Also in 39, 40)
Fixed an issue where calling
setBoundson aWebContentsViewcould trigger redundantpage-favicon-updatedevents even when the favicon had not changed. #50085 (Also in 39, 40)Fixed an issue where frameless windows had resize issues in Mac App Store builds. #49857 (Also in 39, 40)
Fixed an issue where invalid characters in custom protocol or webRequest response header values were not rejected. #50132 (Also in 38, 39, 40)
Fixed an issue where making a window fullscreen on Windows, minimizing it and then restoring it broke previous fullscreen state. #49891 (Also in 40)
Fixed an issue where malformed custom
toastXmlcould cause a Notification crash. #49953 (Also in 40)Fixed an issue where menu item accelerators stopped working after the item's enabled property was toggled on macOS. #49591 (Also in 39, 40)
Fixed an issue where menu item enabled state wasn't updated during key equivalent dispatch when the menu was closed on macOS. #49890 (Also in 39, 40)
Fixed an issue where native modules would either crash or not compile for MacOS 12. #49703 (Also in 40)
Fixed an issue where no cookie encryption provider was passed into the network service when cookie encryption was enabled. #49348 (Also in 40)
Fixed an issue where permission and device-chooser handlers received the top-level page origin instead of the requesting subframe's origin. #50148 (Also in 38, 39, 40)
Fixed an issue where pressing AltGr could activate or focus the menu bar. #49916 (Also in 39, 40)
Fixed an issue where some packages weren't correctly filtered on macOS in dialogs. #49470 (Also in 38, 39, 40)
Fixed an issue where role-based menu items were incorrectly returning
nullfor their accelerator property. #49668 (Also in 39, 40)Fixed an issue where setting
zoomFactorinsetWindowOpenHandler'soverrideBrowserWindowOptionshad no effect on windows opened viawindow.open(). #49911 (Also in 39, 40)Fixed an issue where some apps would throw an exception on launch. #48973 (Also in 39, 40)
Fixed an issue where the close callback param for
menu.popupwould fire when any arbitrary submenu of the given menu closed, and not the menu itself. #49017 (Also in 38, 39, 40)Fixed an issue whereby a duplicate "Toggle Full Screen" menu item appeared in the View menu on macOS. #49598 (Also in 38, 39, 40)
Fixed crash in platform_util::Beep() on Linux. #49483 (Also in 39, 40)
Fixed crash on windows when UTF-8 is in path. #48898 (Also in 38, 39, 40)
Fixed crash when attempting to resolve modules during process exit. #49090 (Also in 40)
Fixed crash when creating event object for ipc events. #48987 (Also in 39, 40)
Fixed crash when reading system certificates via nodejs tls module. #49028 (Also in 39, 40)
Fixed dock menu items not respecting enabled and checked properties on macOS. #49625 (Also in 38, 39, 40)
Fixed draggable regions not updating position when DevTools is docked to the left or right in a frameless window. #49848 (Also in 39, 40)
Fixed draw smoothing round corner issue. #48769 (Also in 40)
Fixed memory leak when setting icons on Linux/GTK. #49895 (Also in 38, 39, 40)
Fixed menu bar hiding after a call to
win.setFullScreen(false)when not in fullscreen on Linux. #49996 (Also in 39, 40)Fixed menus to correctly emit
menu-will-closeevent when closed after any submenu has been open. #49964 (Also in 40)Fixed oom crash when optimizing certain wasm functions involving large phi nodes. #48791 (Also in 38, 39, 40)
Fixed shutdown crash on windows when hidden titlebar is enabled. #50055 (Also in 39, 40)
Fixed squirrel.mac stacked update behavior to old staged updates. #49639 (Also in 39, 40)
Fixed startup crash when V8 sandbox is disabled. #49504 (Also in 40)
Fixed the cookie encryption logic to use the old os_crypt sync implementation present in M142. #49382 (Also in 40)
Fixed the issue where the parent window leave disabled after the modal window call show() multiple time. #48977 (Also in 38, 39, 40)
Fixed the issue where the parent window remained interactive after the modal window was opened. #48770 (Also in 38, 39, 40)
Made toplevel icon Wayland protocol work. #49290 (Also in 39, 40)
Reenable V8 trap handlers for wasm in browser and utility process, improves runtime execution of wasm. #48788 (Also in 39, 40)
Requests sent via
netare now capable of having their headers modified to use reserved headers viawebRequest. #49226 (Also in 39, 40)Restored window's canHide property. #47970 (Also in 37, 38, 39)
Reverted AltGr key fix that caused menu bar to no longer show on Windows. #50111 (Also in 39, 40)
Windows: Calling window.setFocusable(true) will no longer cause a window to lose focus. #45640 (Also in 39, 40)
Other Changes
Backported fix for 483569511. #49789
Fixed crash in platform_util::Beep() on Linux. #49865 (Also in 40)
Fixed devtools element panel flickering when with node inspection. #49027 (Also in 39, 40)
Documentation
Notices
End of Support for 38.x.y
Electron 38.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.