Electron v37.0.0-alpha.1

npm
npm install electron@37.0.0-alpha.1
yarn
yarn add electron@37.0.0-alpha.1
Google ChromeChromium
137.0.7151.0
Node.jsNode.js
22.14.0
V8V8
13.7.152

Release Notes

Breaking Changes

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

Features

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

  • Added ffmpeg.dll to delay load configuration. #46151 (Also in 34, 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 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 Web Serial & WebUSB blocklists. #46600

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

Fixes

  • 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 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 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 36)

  • Fixed a possible crash using Node.js on some arm32 devices. #46435 (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 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 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 badly formatted switches could cause crashes in app.commandLine functions. #46004 (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 packages could be mistakenly not found in asar. #45997 (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 backgroundMaterial feature did not work in a frameless window on initial window creation. #46657 (Also in 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 utility processes crashed on unhandled rejections. #45921

  • 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 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 memory leak in AutofillPopupView. #46384 (Also in 34, 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)

  • 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)

  • 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

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

  • Fixed an issue where Electron could fail to load on some older Linux distributions. #45974 (Also in 34, 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)

  • 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)

  • Updated Chromium to 137.0.7151.0. #46854

Documentation

Unknown

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