unstale

npm / electron

electron

What changed in electron 37 to 44, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.

39 breaking70 security1 deprecations92 new APIs and options43 performance24 behavior and defaults485 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.1.1 on npm

electron 44259 changes

Breaking changes 18

  • Calling a native API method with a this value of a different native type now throws a TypeError instead of crashing the main process.

    43.7.6, 44.5.0release notesrelease notes

  • Now throws on macOS when launched without a process type and the runAsNode fuse is disabled.

    44.4.0release notes

  • Rejects protocol names that do not conform to RFC 3986 URI scheme grammar.

    44.4.0release notes

  • Calling execCommand('paste') now requires user activation in the frame that calls it.

    42.11.3, 43.7.0, 44.3.0release notesrelease notesrelease notes

  • With chromeMediaSource set to desktop, WebContents source ids are no longer accepted; use tab with getMediaSourceId or setDisplayMediaRequestHandler to capture a WebContents.

    42.11.3, 43.7.0, 44.3.0release notesrelease notesrelease notes

  • Now applies only to workers created by frames that themselves have Node integration; enable nodeIntegrationInSubFrames to keep Node in workers created by subframes.

    42.11.3, 43.7.0, 44.3.0release notesrelease notesrelease notes

  • Windows ia32 and Linux armv7l builds are removed; Electron is published only for x64 and arm64 platforms.

    44.0.0release notes

  • The openAsHidden, wasOpenedAsHidden, and restoreState fields have been removed from the return value.

    44.0.0release notes

  • The openAsHidden option has been removed because it only worked on macOS 12 and below.

    44.0.0release notes

  • The module aligns with the W3C Clipboard API and is no longer exposed to renderer processes.

    44.0.0release notes

  • Support for showHiddenFiles has been removed from the dialog API on Linux.

    43.0.0, 44.0.0release notesrelease notes

  • Electron v44.0.0 and higher requires macOS 13 (Ventura) or later; macOS 12 is no longer supported.

    44.0.0release notes

  • Images with color profiles now have pixel values normalized to SRGB, producing similar values for visually identical images after color-space conversion.

    43.0.0, 44.0.0release notesrelease notes

  • Rejects requests with document, frame, iframe, or fencedframe destinations unless Sec-Fetch-Mode is navigate.

    44.0.0release notes

  • Cross-origin no-cors fetches now receive opaque responses, matching protocol.handle.

    41.10.6 … 44.0.0release notesrelease notesrelease notesrelease notes

  • Cross-origin no-cors fetches now receive opaque responses, matching protocol.handle.

    41.10.6 … 44.0.0release notesrelease notesrelease notesrelease notes

  • Windows opened from links inside a sandboxed iframe now inherit its sandbox restrictions unless allow-popups-to-escape-sandbox is set.

    41.10.4 … 44.0.0release notesrelease notesrelease notesrelease notes

  • Support for the Unity desktop environment on Linux has been removed.

    44.0.0release notes

Security 8

New APIs and options 21

  • Added app shims on macOS to show windows under another app's Dock icon.

    44.9.0release notes

  • Linux notifications now support action buttons.

    44.8.0release notes

  • Added an experimental API to serve a custom scheme from directories on disk without a JavaScript handler.

    44.6.0release notes

  • The app child-process-gone event now reports launch failures with systemErrorCode.

    44.5.0release notes

  • Added a method to retrieve a download item's initiator origin.

    43.7.0, 44.4.0release notesrelease notes

  • Added to webRequest and protocol handler requests so developers can access the initiator origin.

    43.7.0, 44.4.0release notesrelease notes

  • The session event now receives a trailing frame argument.

    43.7.0, 44.4.0release notesrelease notes

  • The session event now receives a trailing frame argument.

    43.7.0, 44.4.0release notesrelease notes

  • This environment variable visualizes and logs draggable regions in unpackaged apps to help debug custom title bars.

    43.7.0, 44.3.0release notesrelease notes

  • Adds touchID.promptReason to customize macOS Touch ID WebAuthn prompt text and fixes a prompt crash caused by a missing string resource.

    43.0.0, 44.0.0release notesrelease notes

  • Added a macOS 14+ badge property for showing a count or custom text next to a menu item's label.

    43.6.0, 44.0.0release notesrelease notes

  • Supports the select-client-certificate event so applications can select a certificate when a server requests client authentication.

    44.0.0release notes

  • Supports the select-client-certificate event so applications can select a certificate when a server requests client authentication.

    44.0.0release notes

  • Adds a WHATWG-compatible WebSocket client for the main process that routes through Chromium's network stack.

    42.7.0, 43.2.0, 44.0.0release notesrelease notesrelease notes

  • Adds static remove(), removeAll(), and removeGroup() methods for macOS notifications.

    42.3.0, 43.0.0, 44.0.0release notesrelease notesrelease notes

  • Adds available memory information on Linux, exposing proc/meminfo MemAvailable.

    42.8.0, 43.3.0, 44.0.0release notesrelease notesrelease notes

  • Adds a cross-platform API for saving and restoring window state.

    44.0.0release notes

  • Apps that open many windows can keep a spare renderer warm with this Chromium feature flag.

    44.0.0release notes

  • Adds per-WebContents zoom control through setZoomMode(), getZoomMode(), and zoomMode.

    44.0.0release notes

  • Added a property for toggling caret browsing in a WebContents.

    43.6.0, 44.0.0release notesrelease notes

  • Adds printing of individual frames to PDF from the main process.

    42.9.0, 43.4.0, 44.0.0release notesrelease notesrelease notes

Performance 22

  • APIs that return rectangles, sizes, points, and display objects are faster.

    44.5.0release notes

  • session.getUserAgent() is faster.

    44.5.0release notes

  • Improved the performance of fs operations on files inside asar archives.

    44.4.3release notes

  • Fixed seconds of main-process time spent buffering large streamed request bodies.

    44.4.3release notes

  • Fixed seconds of main-process time spent buffering large streamed request bodies.

    44.4.3release notes

  • Improved the performance of require on files inside asar archives.

    44.4.3release notes

  • Improved throughput of responses returned straight from net.fetch by protocol.handle handlers.

    44.2.0release notes

  • Page resources, fetch() calls, and file:// loads no longer wait for the main process to be idle when no webRequest listeners or protocol interceptors are registered.

    42.10.1, 43.5.0, 44.1.0release notesrelease notesrelease notes

  • Requests no longer wait on the main process when webRequest listeners only observe specified events or are filtered to other resource types.

    44.1.0release notes

  • Linux application startup is faster by skipping GDK's OpenGL probe and loading FontConfig off the main thread during toolkit initialization.

    43.5.0, 44.0.0release notesrelease notes

  • Startup is faster for child processes forked with this API.

    42.10.0, 44.0.0release notesrelease notes

  • Child processes launched with this environment variable start faster.

    42.10.0, 44.0.0release notesrelease notes

  • Linux arm64, Windows arm64, and macOS x64 now start the main process from the embedded Node.js startup snapshot, improving startup time.

    43.5.0, 44.0.0release notesrelease notes

  • When the default session already exists, the first sandboxed BrowserWindow starts in a renderer launched ahead of time, shortening time to the page's first script.

    44.0.0release notes

  • Node.js timers and immediates cause fewer idle main-process CPU wakeups.

    42.9.3, 43.4.1, 44.0.0release notesrelease notesrelease notes

  • Native event emission, IPC dispatch, and option-dictionary parsing are faster.

    41.6.1, 44.0.0release notesrelease notes

  • Linux arm64, Windows arm64, and macOS x64 now start the main process from the embedded snapshot, improving startup time.

    42.10.0, 44.0.0release notesrelease notes

  • Cold-start time at DidClearWindowObject is reduced by about 35% by deserializing a build-time V8 code cache for Electron framework bundles.

    44.0.0release notes

  • Preload scripts and process info are pushed ahead of navigation instead of fetched via blocking IPC, and preload compilation results are cached on disk.

    44.0.0release notes

  • Startup is faster for utilityProcess.fork(), child_process.fork(), ELECTRON_RUN_AS_NODE child processes, and Node.js-enabled renderers.

    42.10.0, 43.5.0, 44.0.0release notesrelease notesrelease notes

  • Startup is faster for utility processes forked with this API.

    44.0.0release notes

  • Header conversions are faster.

    44.0.0release notes

Behavior and default changes 7

  • On macOS, update downloads stream to disk, resume after interruption on the next check, and apply a binary delta when the feed offers one for the running version.

    44.7.0release notes

  • The default trash implementation on KDE Plasma 6 is now kioclient.

    44.5.0release notes

  • <webview> and window.open now inherit this preference from the embedder, consistent with other Node and sandbox preferences.

    41.10.6 … 44.0.0release notesrelease notesrelease notesrelease notes

  • Frameless Linux windows now have rounded corners by default; setting roundedCorners to false disables them on all platforms.

    43.0.0, 44.0.0release notesrelease notes

  • Adds support for setting window opacity on Linux.

    44.0.0release notes

  • Frameless Linux windows now use system-themed titlebar icons for Window Controls Overlay.

    44.0.0release notes

  • On Linux, the overlay now supports system-configured button layouts.

    43.0.0, 44.0.0release notesrelease notes

Fixes and other changes 183

electron 43140 changes

Breaking changes 8

  • Updated the Node.js version included with Electron.

    43.8.0release notes

  • No longer returns tab url and title to extensions lacking the tabs permission or host access, aligning with tabs.get.

    43.5.1release notes

  • Electron 43.x.y is the last series to ship prebuilt binaries for Windows x86 (win32-ia32) and Linux ARM (linux-armv7l); those platforms will no longer be supported after the series reaches end of life in January 2027.

    43.0.0release notes

  • Minimum and maximum size constraints are enforced at window creation, even when they conflict with requested width and height.

    41.2.0, 42.0.0, 43.0.0release notesrelease notesrelease notes

  • Pressing Backspace no longer accepts macOS text replacements inside contenteditable elements.

    43.0.0release notes

  • Cross-origin fetch and XHR are blocked for custom protocols with supportFetchAPI: true unless corsEnabled: true is also set; cross-origin no-cors requests receive opaque responses.

    39.8.10 … 43.0.0release notesrelease notesrelease notesrelease notes

  • Electron-specific help menu links appear only in the default app; unpackaged apps no longer see them in their default menu.

    40.9.0 … 43.0.0release notesrelease notesrelease notesrelease notesrelease notes

  • Support for the ELECTRON_SKIP_BINARY_DOWNLOAD environment variable has been removed.

    42.0.0, 43.0.0release notesrelease notes

Security 8

  • Electron: Sandboxed preload code cache can be poisoned by a compromised renderer

    42.10.0, 43.5.0security advisory

  • Electron: File and HTTP protocol handlers allow cross-origin reads without corsEnabled

    41.10.6, 42.9.2, 43.4.1security advisory

  • Electron: <webview> can enable Node.js integration in Web Workers despite embedder restrictions

    41.10.6, 42.9.2, 43.4.1security advisory

  • Electron: Windows opened from a sandboxed top-level document do not inherit its sandbox restrictions

    41.10.6, 42.9.2, 43.4.1security advisory

  • Windows opened by a sandboxed top-level frame now inherit the opener's sandbox restrictions.

    41.10.6, 42.9.2, 43.4.1release notesrelease notesrelease notes

  • Cross-origin isolation now works for non-file origins.

    41.5.1, 43.0.0release notesrelease notes

  • Electron drops inherited HTML sandbox restrictions for popups opened through OpenURLFromTab

    41.10.4, 42.5.2, 43.0.0security advisory

  • Electron: ProtocolResponse.url reuses the default session cache instead of the registering session

    40.10.6 … 43.0.0security advisory

New APIs and options 22

Performance 11

Behavior and default changes 5

  • Linux support was added for app.getApplicationInfoForProtocol().

    42.3.0, 43.0.0release notesrelease notes

  • File downloads now open by default in the user's Downloads folder, or Home directory if Downloads does not exist.

    43.0.0release notes

  • On Windows, resize targets for frameless windows now begin at the side and bottom edges and extend outward, matching framed windows.

    41.2.1, 42.0.0, 43.0.0release notesrelease notesrelease notes

  • The nv12 OSR pixel format is now supported for professional use.

    43.0.0release notes

  • Electron determines the default XDG App ID and WM_CLASS differently for better Linux platform compatibility when desktopName is not provided in package.json.

    41.5.1, 43.0.0release notesrelease notes

Fixes and other changes 86

electron 42135 changes

Breaking changes 8

  • Invalid characters in custom protocol or webRequest response header values are now rejected.

    38.8.6 … 42.0.0release notesrelease notesrelease notesrelease notesrelease notes

  • The npm package no longer downloads its binary in postinstall; it downloads on the first run of its main bin script instead.

    42.0.0release notes

  • Notifications now use the UNNotification API and require code signing to display; otherwise, the Notification object emits a failed event.

    42.0.0release notes

  • Electron 42 upgrades its Node runtime.

    42.0.0release notes

  • npm tarball contents are now restricted to an explicit allowlist.

    42.0.0release notes

  • The default device scale factor is now 1.0 instead of the primary display's scale factor; set webPreferences.offscreen.deviceScaleFactor to choose a custom value.

    42.0.0release notes

  • Protocol client methods now reject protocol names that do not conform to RFC 3986 URI scheme grammar.

    38.8.6 … 42.0.0release notesrelease notesrelease notesrelease notesrelease notes

  • The options.quotas object is no longer supported because it was removed from upstream Chromium.

    42.0.0release notes

Security 10

  • This event is scoped to the requesting document.

    42.11.3release notes

  • Backported fixes for CVE-2026-15764 through CVE-2026-15778.

    42.11.1release notes

  • Backported fixes for CVE-2026-9115 and CVE-2026-9116.

    42.4.0release notes

  • Electron: Buffer performs incorrect byte length calculations resulting in heap buffer under/overflow

    42.3.3security advisory

  • Backported fixes for touch-event queue teardown, Skia image-filter validation, and GLSL translator integer overflow issues.

    42.2.0release notes

  • Backported fixes for WebAudio worklet setup, ANGLE GL, GTK Wayland, accessibility tree-state validation, and text bidi handling issues.

    42.2.0release notes

  • Electron: Sandboxed iframe can bypass the allow-popups restriction via the OpenURL navigation path

    39.8.10, 41.10.3, 42.0.1security advisory

  • Fixed the setting so it is properly constrained to file: origins in agent cluster key assignment.

    42.0.0release notes

  • Fixed protocol handlers with corsEnabled: false incorrectly working across protocols.

    42.0.0release notes

  • Electron: Custom protocol with supportFetchAPI but not corsEnabled allows cross-origin reads

    39.8.10 … 42.0.0security advisory

New APIs and options 26

Performance 10

  • Reduced main-thread cost when large values are sent through ipcMain handlers.

    42.10.0release notes

  • Reduced main-thread cost when sending large values through ipcRenderer.

    42.10.0release notes

  • Reduced main-thread cost when sending large values through webContents.send.

    42.10.0release notes

  • Improved startup by booting the main process from an embedded Node.js startup snapshot, caching framework bundles and preload scripts as compiled V8 bytecode, and pushing sandboxed renderer startup data ahead of navigation.

    42.3.3release notes

  • Improved runtime performance.

    42.3.1release notes

  • Enabled ThinLTO on macOS builds and for Linux and Windows release builds to improve performance.

    42.3.1release notes

  • Improves performance of IPC dispatch.

    42.1.0release notes

  • Improves performance of native event emission.

    42.1.0release notes

  • Improves performance of option-dictionary parsing.

    42.1.0release notes

  • Release builds use profile-guided optimization for V8 builtins, improving JavaScript builtin performance, including Array, String, and RegExp.

    41.1.1, 42.0.0release notesrelease notes

Behavior and default changes 1

  • On Wayland, frameless windows now have GTK drop shadows and extended resize boundaries; set hasShadow: false for fully frameless windows with no decorations.

    41.0.0, 42.0.0release notesrelease notes

Fixes and other changes 80

electron 4184 changes

Breaking changes 3

  • Electron now uses an updated Node.js runtime.

    41.3.0release notes

  • Electron 41 upgrades Node to v24.14.0, which may affect application compatibility and runtime behavior.

    41.0.0release notes

  • Handlers now receive the requesting subframe's origin rather than the top-level page origin.

    41.0.0release notes

Security 28

  • Electron: Local race condition in Squirrel.Mac update installation on macOS

    39.8.10, 41.10.5security advisory

  • Backported fixes for the listed CVEs.

    41.7.2release notes

  • Backported 20 High-severity fixes from Chrome 148 stable release.

    40.10.1, 41.6.1release notesrelease notes

  • Electron: Context isolation bypass via Function.prototype.bind hijack

    39.8.9, 40.9.2, 41.2.2security advisory

  • Electron: contextBridge object copy honors prototype setters

    39.8.9, 40.9.2, 41.2.2security advisory

  • Backported fixes for the listed CVEs.

    41.2.2release notes

  • Electron: Cross-origin iframe can position native autofill popup

    39.8.8, 40.9.1, 41.2.1security advisory

  • Electron: DevTools embedder handler executes arbitrary files via shell open

    39.8.9, 40.9.2, 41.2.1security advisory

  • Electron: Extension tab APIs operate across session boundaries

    39.8.8, 40.9.0, 41.2.1security advisory

  • Electron: HTTP redirect followed into local file loader

    39.8.8, 40.9.1, 41.2.1security advisory

  • Electron: Off-screen rendering trusts GPU-supplied geometry over shared-memory size

    39.8.10, 40.9.0, 41.2.1security advisory

  • Electron: Parent process code-sign check is spoofable

    39.8.8, 40.9.1, 41.2.1security advisory

  • Electron: Sandboxed iframes can launch external protocol handlers

    39.8.8, 40.9.0, 41.2.1security advisory

  • Electron: window.open features string controls some window options considered privileged

    39.8.8, 40.9.0, 41.2.1security advisory

  • Electron: DevTools JavaScript Injection via Unsanitized Dock State Parameter

    39.8.7, 40.9.0, 41.2.0security advisory

  • Electron: Permission Check Handler Receives Main Frame Origin Instead of Requesting Iframe Origin

    39.8.7, 40.9.0, 41.2.0security advisory

  • Electron: shell.openPath path validation bypass via embedded null byte

    39.8.6, 40.9.0, 41.1.1security advisory

  • Electron: Crash in clipboard.readImage() on malformed clipboard image data

    39.8.5, 40.8.5, 41.1.0security advisoryrelease notesrelease notesrelease notes

  • Electron: Named window.open targets not scoped to the opener's browsing context

    39.8.5, 40.8.5, 41.1.0security advisory

  • Electron: Use-after-free in offscreen shared texture release() callback

    39.8.5, 40.8.5, 41.1.0security advisoryrelease notesrelease notesrelease notes

  • Electron: HTTP Response Header Injection in custom protocol handlers and webRequest

    38.8.6 … 41.0.3security advisory

  • Adds additional defence against privileged user modifications to ASAR Integrity protected applications on macOS.

    41.0.0release notes

  • Electron: Incorrect origin passed to permission request handler for iframe requests

    38.8.6 … 41.0.0security advisory

  • Electron: nodeIntegrationInWorker not correctly scoped in shared renderer processes

    38.8.6 … 41.0.0security advisory

  • Electron: Out-of-bounds read in second-instance IPC on macOS and Linux

    38.8.6 … 41.0.0security advisory

  • Electron: Registry key path injection in app.setAsDefaultProtocolClient on Windows

    38.8.6 … 41.0.0security advisory

  • Electron: Service worker can spoof executeJavaScript IPC replies

    38.8.6 … 41.0.0security advisory

  • Electron: Use-after-free in offscreen child window paint callback

    39.8.1, 40.7.0, 41.0.0security advisory

New APIs and options 6

Behavior and default changes 6

Fixes and other changes 41

  • Fixed a detached DevTools window's context menu focusing the inspected page's window instead of the DevTools window.

    41.10.7release notes

  • On Windows, the app process no longer may fail to exit after app.quit() while shell.openExternal() or shell.openPath() waits on a system Open with dialog.

    41.10.6release notes

  • Fixed a renderer crash when calling WebAssembly.compileStreaming() or WebAssembly.instantiateStreaming() with nodeIntegration enabled.

    41.10.2release notes

  • Fixed a Windows regression where frameless windows changed their size after calling setResizable.

    41.5.0release notes

  • Fixed a crash that could occur when an autofill suggestion popup was shown while a window was closing.

    40.9.3, 41.4.0release notesrelease notes

  • Fixed errors that occurred when using the Chrome DevTools Fetch API.

    41.4.0release notes

  • Fixed Backspace incorrectly accepting macOS text replacements inside contenteditable elements.

    41.4.0release notes

  • Cross-origin requests using mode: 'no-cors' now receive an opaque response.

    41.4.0release notes

  • Fixed white borders on frameless fullscreen windows on Windows.

    41.4.0release notes

  • Fixed a renderer crash when a page uses the <geolocation> HTML element.

    41.4.0release notes

  • Fixed some toast notification properties that did not work as expected in WinRT.

    41.4.0release notes

  • Building with enable_pdf disabled no longer fails.

    41.3.0release notes

  • An Electron macOS update is applied even if another app previously blocked the macOS system update loop.

    40.9.3, 41.3.0release notesrelease notes

  • Fixed the missing Electron Isolated Context option in the DevTools execution context dropdown.

    41.2.2release notes

  • Fixed gn gen failing to resolve electron_version when building from a git worktree checkout.

    39.8.9, 40.9.2, 41.2.2release notesrelease notesrelease notes

  • Fixed saving edited PDF files failing with a cross-origin SecurityError.

    41.2.2release notes

  • DevTools no longer re-attaches to the window when opened after previously being detached.

    39.8.8, 40.9.0, 41.2.1release notesrelease notesrelease notesrelease notes

  • Closing DevTools immediately after focus no longer causes a crash.

    41.2.1release notes

  • Menu items are now cleaned up when Menu.setApplicationMenu is called repeatedly, preventing a memory leak.

    40.9.0, 41.2.1release notesrelease notesrelease notes

  • Fixed a crash when rendering PDFs with Site Isolation disabled.

    41.2.1release notes

  • Resize now triggers on window corners.

    41.2.1release notes

  • Fixed an intermittent application-quit crash when a WebContents or other JS-emitting native object is garbage-collected during shutdown.

    40.9.0, 41.2.0release notesrelease notesrelease notes

  • Removes this logging when interacting with macOS menus.

    41.2.0release notes

  • Fixes margins not looking as expected when printing in silent mode.

    41.2.0release notes

  • On macOS, show/hide events and WebContents visibility state are now reported correctly when multiple WebContentsViews are attached to a window.

    40.9.0, 41.2.0release notesrelease notesrelease notes

  • Fixed an issue where an app shortcut may lose its icon after auto-updating on Windows.

    40.8.5, 41.1.0release notesrelease notes

  • Fixed an accessibility issue where the event was not fired on menu creation.

    40.8.5, 41.1.0release notesrelease notes

  • Fixed failures to save Windows notification icons caused by invalid characters in their temporary filenames.

    40.8.5, 41.1.0release notesrelease notes

  • Additional fs copy methods now support ASAR.

    39.8.3, 40.8.3, 41.0.3release notesrelease notesrelease notes

  • Fixed an issue that prevented some DevTools functionality from working as expected.

    40.8.3, 41.0.3release notesrelease notes

  • Universal Links are now delivered on macOS cold launch when NSUserActivity.userInfo is nil.

    39.8.0, 40.7.0, 41.0.0release notesrelease notesrelease notes

  • Fixes cookie encryption by using the old os_crypt sync implementation present in M142.

    41.0.0release notes

  • Fixes ESM-from-CJS imports when paths contain CJK characters.

    38.7.0, 39.1.2, 41.0.0release notesrelease notesrelease notes

  • Fixes globalShortcut not working on Wayland with GlobalShortcutsPortal enabled and makes registration more reliable on Wayland.

    41.0.0release notes

  • The close callback now fires when the given menu itself closes, rather than when any arbitrary submenu closes.

    38.7.2, 41.0.0release notesrelease notes

  • Overrides in setWindowOpenHandler are now honored for child windows sharing a renderer process with their opener.

    39.8.4, 40.8.4, 41.0.0release notesrelease notesrelease notes

  • Calling setRepresentedFilename() now sets the AXDocument accessibility attribute on macOS.

    39.3.0, 40.1.0, 41.0.0release notesrelease notesrelease notes

  • nodeIntegrationInWorker overrides are now honored for child windows sharing a renderer process with their opener.

    41.0.0release notes

  • Fixes sizing when minimum or maximum constraints are set or resizable is false; windows no longer shrink below the requested maximum size or grow taller when resizing is disabled.

    41.0.0release notes

  • Restores the window canHide property.

    37.10.0 … 41.0.0release notesrelease notesrelease notesrelease notes

  • On Windows, calling window.setFocusable(true) no longer causes the window to lose focus.

    39.2.0, 40.0.0, 41.0.0release notesrelease notesrelease notes

electron 4061 changes

Security 15

  • Backported fixes for the listed CVEs improve Electron security.

    40.10.3release notes

  • Backported upstream fixes for memory-safety and validation issues across media, GPU, networking, accessibility, compositing and the ANGLE GL backend.

    40.10.1release notes

  • Backported fixes for use-after-free and object-lifetime issues in input, UI, Aura, HID and file-system teardown paths, and a runtime-effect validation gap in Skia.

    40.10.1release notes

  • Backported security fixes for the listed upstream issues.

    40.9.3release notes

  • Backported fixes for the listed CVEs.

    39.8.9, 40.9.2release notesrelease notes

  • Handlers now receive the requesting subframe's origin rather than the top-level page origin.

    38.8.6, 39.8.1, 40.8.1release notesrelease notesrelease notes

  • Electron: AppleScript injection in app.moveToApplicationsFolder on macOS

    38.8.6, 39.8.1, 40.8.0security advisory

  • Electron: Unquoted executable path in app.setLoginItemSettings on Windows

    38.8.6, 39.8.1, 40.8.0security advisory

  • Electron: Use-after-free in PowerMonitor on Windows and macOS

    38.8.6, 39.8.1, 40.8.0security advisory

  • Electron: Context Isolation bypass via contextBridge VideoFrame transfer

    39.8.0, 40.7.0security advisory

  • Electron: Renderer command-line switch injection via undocumented commandLineSwitches webPreference

    38.8.6, 39.8.0, 40.7.0security advisory

  • Electron: USB device selection not validated against filtered device list

    38.8.6, 39.8.0, 40.7.0security advisory

  • Electron: Use-after-free in download save dialog callback

    38.8.6, 39.8.0, 40.7.0security advisory

  • Electron: Use-after-free in WebContents fullscreen, pointer-lock, and keyboard-lock permission callbacks

    38.8.6, 39.8.0, 40.7.0security advisory

  • Fixed cookie encryption provider handling in the network service when cookie encryption is enabled.

    40.0.0release notes

Deprecations 1

  • Clipboard API access from renderer processes is deprecated.

    40.0.0release notes

New APIs and options 8

Behavior and default changes 2

Fixes and other changes 35

electron 3962 changes

Breaking changes 2

  • The close callback now fires when the menu itself closes, rather than when any submenu closes.

    39.2.4release notes

  • The signature now provides a unified handle that holds the native handle.

    39.0.0release notes

Security 1

  • Backported security fixes for the listed vulnerabilities.

    39.8.10release notes

New APIs and options 9

  • The assets key can now be queried via app.getPath to locate assets and resources.

    39.0.0release notes

  • Supported on Windows and macOS.

    39.0.0release notes

  • macOS system memory info now includes the fileBacked field.

    39.0.0release notes

  • macOS system memory info now includes the purgeable field.

    39.0.0release notes

  • The macOS Tray constructor accepts guid, allowing tray icons to maintain their position across launches.

    39.0.0release notes

  • USBDevice.configurations is now supported.

    39.0.0release notes

  • Offscreen shared texture info now includes colorSpace.

    39.0.0release notes

  • Gets a WebFrameMain instance from its frame token and process ID.

    39.0.0release notes

  • On Windows, window accent color can be changed after initial window initialization via {get|set}AccentColor.

    39.0.0release notes

Behavior and default changes 3

  • Chromium was updated to 142.0.7444.235, which may affect the behavior of Electron applications.

    39.2.7release notes

  • AccentColor setting now distinguishes the frame.

    39.0.0release notes

  • This release upgrades Chromium, Node, and V8; developers may need to account for changes inherited from those runtime versions.

    39.0.0release notes

Fixes and other changes 47

  • Setting zoomFactor in this option now takes effect on windows opened via window.open().

    39.8.0release notes

  • Registering an accelerator for alt+space now prevents the system context menu from being triggered.

    39.5.2release notes

  • Fixed application input breaking on certain Wayland compositors when a DND action was cancelled.

    39.5.2release notes

  • Fixed a crash that could occur when using the File System Access API.

    39.5.2release notes

  • Fixed rendering glitches on macOS.

    39.5.1release notes

  • Fixed menu item accelerators stopping working after the item's enabled property was toggled on macOS.

    39.5.0release notes

  • Fixed a duplicate Toggle Full Screen menu item appearing in the View menu on macOS.

    38.8.1, 39.5.0release notesrelease notes

  • Fixed stack overflow when compiling deeply nested JS functions.

    39.3.0release notes

  • Fixed flickering in the devtools element panel when using node inspection.

    39.2.5release notes

  • Fixed an issue where clicking a native notification could hang an application on certain Windows environments.

    39.2.5release notes

  • Reduced visual artifacts while resizing a window on Windows.

    39.2.5release notes

  • Fixed an issue where the parent window remained disabled after calling show() multiple times on a modal window.

    38.7.2, 39.2.4release notesrelease notes

  • Fixed a crash when reading system certificates through the Node.js TLS module.

    39.2.4release notes

  • Updated the bundled Chromium version to 142.0.7444.175.

    39.2.3release notes

  • Fixed a crash when creating event objects for IPC events.

    39.2.2release notes

  • Fixed an issue where some apps would throw an exception on launch.

    39.2.1release notes

  • V8 trap handlers were reenabled for wasm in browser and utility processes, improving runtime execution.

    39.2.0release notes

  • Fixed a crash on Windows when a path contains UTF-8.

    38.7.0, 39.2.0release notesrelease notes

  • Updated Chromium to 142.0.7444.134.

    39.1.2release notes

  • Corrected the appearance of tiled windows when frame is true and removed resize handles from tiled edges.

    38.7.0, 39.1.2release notesrelease notes

  • Fixed an issue that prevented macOS menu items from being disabled under all circumstances.

    39.1.2release notes

  • Fixed an issue that left the parent window interactive after a modal window opened.

    38.7.0, 39.1.2release notesrelease notes

  • Fixed an out-of-memory crash when optimizing certain wasm functions involving large phi nodes.

    38.7.0, 39.1.2release notesrelease notes

  • Fixed an issue with draw smoothing on rounded corners.

    37.9.0, 38.6.0, 39.1.1release notesrelease notesrelease notes

  • Fixed an application crash when clicking or hovering over the native macOS Window menu.

    37.9.0, 38.6.0, 39.1.1release notesrelease notesrelease notes

  • Fixed an issue that prevented menu items on macOS from being disabled under some circumstances.

    37.9.0, 38.6.0, 39.1.0release notesrelease notesrelease notesrelease notesrelease notes

  • Fixed an issue where right-clicking in the Wayland titlebar could break mouse interactions.

    37.9.0, 38.6.0, 39.1.0release notesrelease notesrelease notes

  • An invalid color passed as a string no longer results in a white accent color.

    39.0.0release notes

  • Prevents unnecessary removal and re-adding of the same BrowserView.

    37.7.0, 39.0.0release notesrelease notes

  • Fixed file dialogs so app extensions filters allow selecting app bundles on macOS.

    39.0.0release notes

  • Fixed an issue where app.accessibilitySupportEnabled did not work as expected.

    39.0.0release notes

  • Fixed the white flash when calling BrowserWindow.show.

    37.7.1, 38.4.0, 39.0.0release notesrelease notesrelease notes

  • Fixed a crash when called with an empty thumbnail size.

    39.0.0release notes

  • When passed a parent window, the dialog is now centered to that window rather than incorrectly to the monitor.

    39.0.0release notes

  • Fixed a crash when passing a feature parameter from the command line.

    39.0.0release notes

  • Fixed a runtime JavaScript error that could crash GetPackageJSON.

    39.0.0release notes

  • Fixed a crash when the inspector agent attempts to evaluate on provisional frames.

    37.9.0, 38.5.0, 39.0.0release notesrelease notesrelease notes

  • net.isOnline() no longer always returns true in utilityProcesses.

    39.0.0release notes

  • Fixed an issue that prevented require('node:sqlite') from working.

    39.0.0release notes

  • Fixed behavior on some older Windows versions where setContentProtection did not work as expected.

    39.0.0release notes

  • Fixed an issue where shell.openPath was not non-blocking as expected.

    39.0.0release notes

  • Fixed an issue where this method inverted the color.

    37.10.3, 38.8.0, 39.0.0release notesrelease notesrelease notes

  • The Referer header is now set correctly when using webContents.downloadURL().

    39.0.0release notes

  • Fixed a possible crash when calling webContents.loadURL() from the catch handler of a failed webContents.loadURL() call.

    39.0.0release notes

  • Fixed a crash when accessing webContents.session.

    39.0.0release notes

  • Windows opened with window.open now always create a resizable popup window.

    39.0.0release notes

  • Fixed an issue where windows opened with window.open would never be offscreen.

    39.0.0release notes

electron 3812 changes

Fixes and other changes 12

electron 371 changes

Fixes and other changes 1

  • Updated the bundled Node.js runtime to v22.20.0.

    37.7.0release notes