← Package directory
Available on winget

Install Electron

Build cross-platform desktop apps with JavaScript, HTML, and CSS.

Install with winget
winget install --id OpenJS.Electron.39
Upgrade
winget upgrade --id OpenJS.Electron.39
Uninstall
winget uninstall --id OpenJS.Electron.39

About Electron

Build cross-platform desktop apps with JavaScript, HTML, and CSS.

What's new in 39.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 with supportFetchAPI: true unless corsEnabled: true is also set; cross-origin mode: '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 - Backported a fix for route_id validation in the GPU command buffer. #51327 - Backported security fixes for 493319454, 494158331, 493234757, 492736100, 493413432, 492668885, 496281816. #51257 - Backported several fixes in Skia, ANGLE, and WebRTC from upstream. #51266

Read release notes

Version history

Version Updated Notes
39.8.10 Unknown 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 cro...
39.8.9 Unknown Release Notes for v39.8.9 Other Changes - Fixed gn gen failing to resolve electron_version when building from a git worktree checkout. #51163 ^{(Also in 40, 41, 42)} - Security: backported fixes for CVE-2026-6296, CVE-20...
39.8.8 Unknown Release Notes for v39.8.8 Fixes - Fixed an issue where DevTools would re-attach to the window when opened after previously being detached. #50818 ^{(Also in 40, 41, 42)} Other Changes - Backported fix for chromium:742660...
39.8.7 Unknown Release Notes for v39.8.7 Other Changes - Backported fix for 489711638. #50624 - Backported fix for 493952652. #50620
39.8.6 Unknown Release Notes for v39.8.6 Fixes - Fixed a crash when calling contentTracing.getTraceBufferUsage() while a trace session is active. #50595 ^{(Also in 40, 41, 42)}
39.8.5 Unknown Release Notes for v39.8.5 Fixes - Fixed a crash in clipboard.readImage() when the clipboard contains malformed image data. #50493 ^{(Also in 40, 41, 42)} - Fixed a crash when calling an offscreen shared texture's release...
39.8.4 Unknown Release Notes for v39.8.4 Fixes - Fixed an issue where nodeIntegrationInWorker overrides in setWindowOpenHandler were not honored for child windows sharing a renderer process with their opener. #50468 ^{(Also in 38, 40,...
39.8.3 Unknown Release Notes for v39.8.3 Fixes - Added additional ASAR support to additional fs copy methods. #50284 ^{(Also in 40, 41, 42)} - Fixed user resizing of transparent windows on win32 platform. #50300 ^{(Also in 40, 41, 42)}
39.8.2 Unknown Release Notes for v39.8.2 Other Changes - Backported fix for b/491421267. #50230
39.8.1 Unknown Release Notes for v39.8.1 Fixes - Added validation to protocol client methods to reject protocol names that do not conform to the RFC 3986 URI scheme grammar. #50156 ^{(Also in 38, 40, 41)} - Fixed an issue on macOS wher...
39.8.0 Unknown Release Notes for v39.8.0 Features - Added support for --experimental-transform-types. #49881 ^{(Also in 40, 41)} Fixes - Fixed an issue on macOS where Universal Links were not delivered to app.on('continue-activity') on...
39.7.0 Unknown Release Notes for v39.7.0 Features - Added support for long-animation-frame script attribution (via --enable-features=AlwaysLogLOAFURL). #49771 ^{(Also in 40, 41)} Fixes - Fixed an issue where frameless windows had resiz...
39.6.1 Unknown Release Notes for v39.6.1 Fixes - Fixed draggable regions not updating position when DevTools is docked to the left or right in a frameless window. #49846 ^{(Also in 41)}
39.6.0 Unknown Release Notes for v39.6.0 Features - Added a disclaim option to the UtilityProcess API to allow for TCC disclaiming on macOS. #49696 ^{(Also in 40, 41)} Fixes - Addressed upstream Chromium shift to enable CoreAudio Tap A...
39.5.2 Unknown Release Notes for v39.5.2 Fixes - Fixed a crash that could occur when using the File System Access API. #49634 ^{(Also in 40, 41)} - Fixed an issue where alt+space triggered the system context menu even if an accelerator...
39.5.1 Unknown Release Notes for v39.5.1 Fixes - Fixed rendering glitches on macOS. #49615 ^{(Also in 40, 41)}
39.5.0 Unknown Release Notes for v39.5.0 Features - Added support for MSIX auto-updating. #49585 ^{(Also in 40, 41)} Fixes - Fixed an issue where menu item accelerators stopped working after the item's enabled property was toggled on m...
39.4.0 Unknown Release Notes for v39.4.0 Fixes - Fixed an issue in chrome://accessibility. #49559 ^{(Also in 40, 41)} - Fixed an issue where shell.writeShortcutLink was throwing TypeError: Insufficient number of arguments when called w...
39.3.0 Unknown Release Notes for v39.3.0 Features - Added support for WebSocket authentication through the login event on webContents. #49065 ^{(Also in 40)} Fixes - Fixed setRepresentedFilename() not setting AXDocument accessibility a...
39.2.7 Unknown Release Notes for v39.2.7 Other Changes - Updated Chromium to 142.0.7444.235. #49190