Electron v37.0.0

npm
npm install --save-dev electron@37.0.0
yarn
yarn add --dev electron@37.0.0
Google ChromeChromium
138.0.7204.35
Node.jsNode.js
22.16.0
V8V8
13.8.258.18

Release Notes

Stack Upgrades

Breaking Changes

  • Added support for Web Serial & WebUSB blocklists. #46600

  • Fixed an issue where utility processes crashed on unhandled rejections. #45921

  • Fixed utilityProcess running user script after process.exit is called. #47492

  • Removed deprecated feature of creating a new random session by setting ProtocolResponse.session's property to null. #46264

Features

Additions

  • Added BrowserWindow.isSnapped() to indicate whether a given window has been arranged via Snap. #46079 (Also in 36)

  • Added before-mouse-event to allow intercepting and preventing mouse events in WebContents. #47364 (Also in 36)

  • Added ffmpeg.dll to delay load configuration. #46151 (Also in 34, 35, 36)

  • Added innerWidth and innerHeight options for window.open. #47039 (Also in 35, 36)

  • Added nativeTheme.shouldUseDarkColorsForSystemIntegratedUI to distinguish system and app theme. #46438 (Also in 35, 36)

  • Added scriptURL property to ServiceWorkerMain. #45863

  • Added a CSS rule for smooth corners. #45185

  • Added sublabel functionality for menus on macOS >= 14.4. #47042 (Also in 35, 36)

  • Added support for Autofill, Writing Tools and Services macOS level menu items in context menus via the new frame option in menu.popup. #45138 (Also in 36)

  • Added support for HIDDevice.collections. #47483 (Also in 36)

  • Added support for --no-experimental-global-navigator flag. #47418 (Also in 35, 36)

  • Added support for screen.dipToScreenPoint(point) and screen.screenToDipPoint(point) on Linux X11. #46895 (Also in 35, 36)

  • Added support for system-context-menu on Linux. #45848 (Also in 35, 36)

  • Added support for menu item role palette and header on macOS. #47245

  • Added support for node option --experimental-network-inspection. #47031 (Also in 35, 36)

  • Added the priority and priorityIncremental options to net.request(). #47321 (Also in 36)

  • Exposed win.isContentProtected() to allow developers to check window protection status. #47310 (Also in 36)

Improvements

  • Improved ASAR integrity checks on Windows. #46509 (Also in 36)

  • Improved performance of desktopCapturer.getSources when not requesting thumbnails on macOS. #46138 (Also in 34, 35, 36)

Removed/Deprecated

  • Deprecated NativeImage.getBitmap() and fixed incorrect documentation. #46696 (Also in 36)

Fixes

  • Fixed an issue on application close on Windows, where not all processes are quit on close. #47485

  • Fixed an issue where printing PDFs with webContents.print({ silent: true }) would fail. #47397

Also in earlier versions...

  • Fix: don't copy 'package.json's out of ASAR file. #46390 (Also in 35, 36)

  • Fix: osr stutter fix backport for electron. #46650 (Also in 36)

  • Fixed ElectronAccessibilityUI bug. #46562 (Also in 33, 34, 35, 36)

  • Fixed Minimize menu button to follow set window minimizability on Windows. #46279 (Also in 34, 35, 36)

  • Fixed NODE_OPTIONS parsing for child processes on macOS. #46209 (Also in 34, 35, 36)

  • Fixed addChildView() crashes when adding a closed WebContentsView. #47338 (Also in 35, 36)

  • Fixed electron.shell.openExternal and electron.shell.openPath to honor user-defined system defaults on Linux. #45310 (Also in 33, 34, 35, 36)

  • Fixed getNativeWindowHandle() crash that affected 36 betas on macOS. #46733 (Also in 36)

  • Fixed a bug that could cause some maximized windows on Linux to report an incorrect window state. #46450 (Also in 34, 35, 36)

  • Fixed a crash seen on Linux when calling webContents.print(). #46087 (Also in 35, 36)

  • Fixed a crash that could occur when dragging and dropping files into the browser. #46253 (Also in 35, 36)

  • Fixed a crash that could occur when opening some dialogs as windows are closing on macOS. #46952 (Also in 35, 36)

  • Fixed a possible BrowserWindow crash caused by closing a parent window with focus or blur events. #46559 (Also in 34, 35, 36)

  • Fixed a possible crash in shell.readShortcutLink. #46294 (Also in 35, 36)

  • Fixed a possible crash using Node.js on some arm32 devices. #46435 (Also in 35, 36)

  • Fixed a possible crash using the WebView tag and calling focus. #47036 (Also in 35, 36)

  • Fixed a possible crash when using navigator.bluetooth.requestDevice and the select-bluetooth-device event. #46745 (Also in 34, 35, 36)

  • Fixed a potential crash in parentPort. #46437 (Also in 34, 35, 36)

  • Fixed a potential crash in utilityProcess.postMessage when calling with an invalid transferable. #46639 (Also in 35, 36)

  • Fixed a potential crash using session.clearData in some circumstances. #47412 (Also in 35, 36)

  • Fixed a potential crash when closing a window with child windows. #46758 (Also in 34, 35, 36)

  • Fixed an error when calling window.emit('close') after toggling fullscreen mode. #46605 (Also in 35, 36)

  • Fixed an error when importing electron for the first time from an ESM module loaded by a CJS module in a packaged app. #47342 (Also in 35, 36)

  • Fixed an inverted conditional in the above PR that caused broken window borders in some circumstances on Wayland. #46624 (Also in 33, 34, 35, 36)

  • Fixed an issue where Node.js OOM errors terminate the process directly without raising an OOM exception. #45895 (Also in 35, 36)

  • Fixed an issue where Web Workers crashed on unhandled rejections. #45992 (Also in 34, 35, 36)

  • Fixed an issue where context-menu event weren't emitted as expected on Windows in draggable regions. #45851 (Also in 34, 35, 36)

  • Fixed an issue where navigationHistory.restore() failed to restore the userAgent if it was overridden. #46260 (Also in 34, 35, 36)

  • Fixed an issue where system-context-menu incorrectly fired for all regions in frameless windows. #45893 (Also in 33, 34, 35, 36)

  • Fixed an issue where webContents.printToPDF() didn't work as expected with cross-process subframes. #46218 (Also in 34, 35, 36)

  • Fixed an issue where webContents.print did not work as expected when mediaSize was not passed. #46971 (Also in 36)

  • Fixed an issue where badly formatted switches could cause crashes in app.commandLine functions. #46004 (Also in 35, 36)

  • Fixed an issue where calling Fetch.continueResponse via debugger with WebContentsView could cause a crash. #47444 (Also in 35, 36)

  • Fixed an issue where calling UtilityProcess.fork prior to the app ready event would cause a crash. #46380 (Also in 34, 35, 36)

  • Fixed an issue where context menu actions such as copy/paste did not correctly fire when a frame was not passed in. #46595 (Also in 36)

  • Fixed an issue where filters wouldn't apply in the specific case only one was passed. #46946 (Also in 36)

  • Fixed an issue where packages could be mistakenly not found in asar. #45997 (Also in 35, 36)

  • Fixed an issue where printing from the renderer process crashes the main process when no printers are installed in the system or there's not a default printer. #46587 (Also in 34, 35, 36)

  • Fixed an issue where protected transparent windows inappropriately showed a titlebar after visibility change. #47266 (Also in 35, 36)

  • Fixed an issue where snapped windows in Windows may sometimes be improperly restored. #46006 (Also in 33, 34, 35, 36)

  • Fixed an issue where the 'suspend' and 'resume' events could be emitted in duplicate. #47188 (Also in 35, 36)

  • Fixed an issue where the backgroundMaterial feature did not work in a frameless window on initial window creation. #46657 (Also in 35, 36)

  • Fixed an issue where the resizing border didn't work as expected on Wayland windows. #46155 (Also in 33, 34, 35, 36)

  • Fixed an issue where the window flickers with either a light or dark color before loading the desired background color. #47051 (Also in 35, 36)

  • Fixed an issue where transparent child windows on macOS were rendering a grey block as opposed to their correct contents. #46891 (Also in 35, 36)

  • Fixed an issue with --inspect-brk failing in packaged apps. #46560 (Also in 35, 36)

  • Fixed an issue with the assert Node.js module in the renderer process. #46528 (Also in 35, 36)

  • Fixed an issue with token formatting for tokens received after calling pushNotifications.registerForAPNSNotifications(). #46101 (Also in 34, 35, 36)

  • Fixed build error with enable_electron_extensions=false. #46812 (Also in 34, 35, 36)

  • Fixed build failure when building with printing disabled. #46283 (Also in 34, 35, 36)

  • Fixed case where file dialog filters would get mixed up, if a * filter was included. #46660 (Also in 34, 35, 36)

  • Fixed crash in autoUpdater on macOS when zip extraction failed. #47302 (Also in 34, 35, 36)

  • Fixed crash in xdg portal version detection on startup. #47023 (Also in 35, 36)

  • Fixed crash on Linux when PipeWire screenshare source selection is cancelled. #46112 (Also in 35, 36)

  • Fixed crash on application exit with pending app.getGPUInfo promise. #46434 (Also in 34, 35, 36)

  • Fixed crash on reconversion with google IME and editcontext on macOS. #46688 (Also in 34, 35, 36)

  • Fixed crash when renderer process crashes while webview is reloading. #46735 (Also in 34, 35, 36)

  • Fixed crash with out-of-bounds string read when parsing NODE_OPTIONS. #46210 (Also in 34, 35, 36)

  • Fixed flickering and ghosting artifacts in transparent windows on macOS. #46353 (Also in 35, 36)

  • Fixed incorrect titlebar in file save dialogs. #46067 (Also in 33, 34, 35, 36)

  • Fixed log files written to the current working directory on Windows. #46910 (Also in 35, 36)

  • Fixed memory leak in AutofillPopupView. #46384 (Also in 34, 35, 36)

  • Fixed opening package paths as directory when treatPackageAsDirectory is enabled on macOS. #47108 (Also in 35, 36)

  • Fixed regression with directory selection in macOS dialogs. #47277 (Also in 35, 36)

  • Fixed several paint and white flash issues on macOS. #46615 (Also in 35, 36)

  • Fixed the border style of windows with vibrancy on macOS. #46648 (Also in 35, 36)

  • Fixed the issue where maximizing and restoring the window does not respect the corner radius settings, and the corner radius is incorrect in fullscreen mode. #46641 (Also in 35, 36)

  • Fixed the issue where rounded corners disappear momentarily when closing on Windows 11. #46382 (Also in 35, 36)

  • Fixed title changes to not occur while navigating within a page. #45981 (Also in 34, 35, 36)

  • Fixed xdg portal version detection for file dialogs on linux. #46922 (Also in 35, 36)

  • Improved webContents loading time when resolving fonts for uncommon scripts. #45905 (Also in 34, 35, 36)

  • Microtasks are no longer (incorrectly) run by serializing values, including when sending IPC. #46668 (Also in 34, 35, 36)

  • Partially fixes an issue with printing a PDF via webContents.print() where the callback would not be called. #47398 (Also in 35, 36)

  • Restored previous window-hiding behavior of win.setContentProtected() on Windows. #47033 (Also in 35, 36)

  • When a menu item on macOS is disabled (enabled = false), it is now greyed out. #46307 (Also in 34, 35, 36)

Other Changes

  • Backported fix for 401059730. #45936

  • Backported fix for 401059730. #45941

  • Backported fix for 409059706. #47358

  • Backported fix for 420637585. #47356

  • Fixed an issue where Electron could fail to load on some older Linux distributions. #45974 (Also in 34, 35, 36)

  • Reverts a change that greyed out disabled menu items on macOS (https://github.com/electron/electron/pull/46307). #46502 (Also in 34, 35, 36)

  • Security: backported fix for CVE-2025-5419. #47352

Documentation

Notices

End of Support for 34.x.y

Electron 34.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.