Electron Releases

Filter by channel Filter by major release

Release Notes for v32.0.0

Stack Upgrades

Breaking Changes

  • Removed nonstandard File.path extension from the Web File API. #42053
  • Added the following existing navigation related APIs to webcontents.navigationHistory: canGoBack, goBack, canGoForward, goForward, canGoToOffset, goToOffset, clear. #41752

Features

Additions

  • Added DownloadItem.getCurrentBytesPerSecond(), DownloadItem.getPercentComplete(), DownloadItem.getEndTime(). #42913 (Also in 30, 31)
  • Added cumulativeCPUUsage to AppMetrics and CPUUsage. #41819
  • Added a new property prefersReducedTransparency to nativeTheme, which indicates whether the user has chosen to reduce OS-level transparency via system accessibility settings. #43024 (Also in 30, 31)
  • Enabled the Windows Control Overlay API on Linux. #42681 (Also in 30, 31)
  • Expose systemPreferences to utilityProcess. #42599 (Also in 30, 31)

Improvements

  • Aligned failure pathway in File System Access API with upstream when attempting to open a file or directory in a blocked path. #42993 (Also in 30, 31)
  • Extended WebContentsView to accept pre-existing webContents object. #42086 (Also in 31)
  • Improved error messages when ses.cookies.set fails. #42362 (Also in 29, 30, 31)

Fixes

  • Don't check for Desktop Environment in setProgressBar and setBadgeCount. #41211
  • Fixed an error where a minimized or hidden window would thrown an unresponsive error in the main process. #43053

Also in earlier versions...

  • BrowserWindow.show() now correctly restores focus to inactive apps on macOS. #42300 (Also in 30, 31)
  • Electron doesn't paint on offscreen-render mode after gpu process crashed. #41904 (Also in 29, 30, 31)
  • Fix: fixed the npm run lint not working on Windows. #42905 (Also in 31)
  • Fixed a crash in addChildView if a view is added as its own child. #42067 (Also in 30, 31)
  • Fixed a crash that could occur in some DevTools extensions containing draggable regions. #43199 (Also in 31)
  • Fixed a crash when the same WebContentsView is added via addChildView multiple times. #42085 (Also in 30, 31)
  • Fixed a focus issue when calling BrowserWindow.setTopBrowserView. #42733 (Also in 30, 31)
  • Fixed a potential crash when removing notifications on Windows. #43060 (Also in 30, 31)
  • Fixed a potential crash when using off screen rendering. #42940 (Also in 30, 31)
  • Fixed a potential error when calling webContents.close() on a BrowserView. #42811 (Also in 31)
  • Fixed an error when calling setAutoResize on a BrowserView. #42056 (Also in 30, 31)
  • Fixed an inconsistent crash on maximizing window and relayout in Ubuntu. #42126 (Also in 30, 31)
  • Fixed an issue where Chromium could crash on a dangling unretained pointer in one of several webRequest functions. #42750 (Also in 31)
  • Fixed an issue where High Contrast Mode didn't apply to webContents on Windows. #42858 (Also in 31)
  • Fixed an issue where MessagePorts could close unexpectedly with non-cloneable objects sent via postMessage. #42581 (Also in 30, 31)
  • Fixed an issue where BrowserView webContents were getting destroyed even when preventDefault was being set on the owning BrowserWindow's close event. #42353 (Also in 30, 31)
  • Fixed an issue where app.setLoginItemSettings incorrectly checked against loginItemService. #42380 (Also in 29, 30, 31)
  • Fixed an issue where contentWindow.document.fonts.ready would never resolve in some circumstances. #42366 (Also in 30, 31)
  • Fixed an issue where document.requestFullscreen didn't work when calling it from a webContents inside WebContentsView. #41966 (Also in 30, 31)
  • Fixed an issue where fetch dependent interfaces in Node.js were not defined when nodeIntegration was enabled in some circumstances. #42419 (Also in 30, 31)
  • Fixed an issue where fetch-dependent interfaces could be missing in Web Workers with nodeIntegrationInWorker enabled. #42595 (Also in 30, 31)
  • Fixed an issue where navigator.mediaDevices.enumerateDevices could return broken results in some cases after calling session.setPermissionCheckHandler. #42808 (Also in 30, 31)
  • Fixed an issue where navigator.mediaDevices.getUserMedia and navigator.getUserMedia should reject with a NotAllowedError if microphone or camera permissions have been denied at the system level on macOS. #42936 (Also in 30, 31)
  • Fixed an issue where navigator.serial.getPorts() incorrectly returned an empty array in some cases. #43169 (Also in 30, 31)
  • Fixed an issue where navigator.usb.getDevices() could crash in some circumstances. #42443 (Also in 29, 30, 31)
  • Fixed an issue where recentDOcuments wasn't populating properly on macOS. #41978 (Also in 29, 30, 31)
  • Fixed an issue where setTitleBarOverlay didn't work as expected when called on BaseWindow. #41960 (Also in 29, 30, 31)
  • Fixed an issue where system-context-menu was not triggered as expected on Windows when using a frameless BrowserWindow. #43269 (Also in 30, 31)
  • Fixed an issue where webContents.navigationHistory was not an enumerable property. #42139 (Also in 30, 31)
  • Fixed an issue where bad flags passed via --js-flags could cause a crash. #42414 (Also in 29, 30, 31)
  • Fixed an issue where calling BrowserWindow.setBackgroundColor with some level of transparency could cause a crash. #42927 (Also in 31)
  • Fixed an issue where calling desktopCapturer.getSources on macOS running 14.4 or later would make non-resizable windows resizable. #43045 (Also in 31)
  • Fixed an issue where calling window.center() on Windows and Linux incorrectly centered the window. #42048 (Also in 30, 31)
  • Fixed an issue where calling window.print(), webContents.print() or printToPDF from an existing PDF document resulted in a blank page. #43326 (Also in 31)
  • Fixed an issue where calling window.showInactive on macOS did not actually show the window. #43103 (Also in 31)
  • Fixed an issue where control could fail to return properly after saving a dialog using showOpenDialogSync on Linux. #42677 (Also in 29, 30, 31)
  • Fixed an issue where dialogs did not work if they were parented to a BaseWindow and not a BrowserWindow. #42315 (Also in 30, 31)
  • Fixed an issue where opening multiple file pickers on Windows via the input tag could cause a crash. #42780 (Also in 30, 31)
  • Fixed an issue where some calls to WebUSB methods could crash. #42347 (Also in 29, 31)
  • Fixed an issue where sources returned by the desktopCapturer API and screen.getAllDisplays() no longer matched on Windows. #42860 (Also in 31)
  • Fixed an issue where sources returned by the desktopCapturer API and screen.getAllDisplays() no longer matched on Windows. #42891 (Also in 31)
  • Fixed an issue where the File System Access API did not remember the user's last picked directory as expected. #42892 (Also in 30, 31)
  • Fixed an issue where the user-specified default path did not work in some circumstances when using Linux dialogs. #42680 (Also in 30, 31)
  • Fixed an issue where the window could be incorrectly centered in some circumstances when calling BrowserWindow.center(). #42195 (Also in 30, 31)
  • Fixed behavior when entering/exiting fullscreen fails on macOS. #43152 (Also in 29, 30, 31)
  • Fixed crash after upgrade on Linux. #41046 (Also in 29, 30, 31)
  • Fixed crash in gpu process when software compositing is enabled on linux with x11 platform. #42568 (Also in 29, 30, 31)
  • Fixed crash on window maximize on X11. #42179 (Also in 30, 31)
  • Fixed crash when resolving proxy with session.resolveProxy api. #42898 (Also in 30, 31)
  • Fixed data corruption when protocol.handle() processed incoming data asynchronously. #41894 (Also in 30, 31)
  • Fixed ffmpeg release on x64 macOS. #43120 (Also in 29, 30, 31)
  • Fixed issue where windows made visible with showInactive were blank. #42226 (Also in 31)
  • Fixed issues with the vibrancy view on macOS. #43127 (Also in 31)
  • Fixed nativeImage.createThumbnailFromPath and shell.openExternal not resolving when called in the renderer process. #41875 (Also in 30, 31)
  • Fixed partially broken state of chrome://accessibility. #41911 (Also in 31)
  • Fixed potentially incorrect exit code in UtilityProcess. #42297 (Also in 29, 30, 31)
  • Fixed several view hierarchy issues related to web contents view on MacOS. #43088 (Also in 31)
  • Fixed support for multiple folder/file selection in //shell_dialogs portal implementation. #42308 (Also in 29, 30, 31)
  • Fixed the resource leak when using Node.js readable streams as the response body for a custom protocol handler. #43070 (Also in 30, 31)
  • Fixed the type of WebviewTag.webpreferences back to string. #42275 (Also in 30, 31)
  • Re-adds functionality to check whether or not an app was launched as a login service on macOS. #42411 (Also in 29, 30, 31)
  • Resolved an issue where desktopCapturer.getSources never fulfilled its promise in some cases. #43270 (Also in 29, 30, 31)
  • BrowserWindow.focus() now correctly restore focus to inactive apps on macOS. #42180 (Also in 30, 31)
  • originalFs.promises.cp now works. #42132 (Also in 31)

Other Changes

  • Backported fix for 336625018. #42304 (Also in 31)
  • Backported fix for 339458194. #42120
  • Backported fix for 340221135. #42172
  • Backported fix for 341663589. #42253

Documentation

Notices

End of Support for 29.x.y

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