Electron Releases - v24.0.0

npm install electron@v24.0.0
yarn add electron@v24.0.0

Release Notes

Stack Upgrades

Breaking Changes

  • nativeImage.createThumbnailFromPath() now takes size instead of maxSize. #37796

Features

  • Added httpOnly to the cookie filter. #37365
  • Added logUsage to shell.openExternal() options, which allows passing the SEE_MASK_FLAG_LOG_USAGE flag to ShellExecuteEx on Windows. #37291
  • Added types to webRequest filter. #37427
  • Added several standard page size options to webContents.print(). #37265 (Also in 22, 23)
  • Added the enableLocalEcho flag to the session handler ses.setDisplayMediaRequestHandler() callback for allowing remote audio input to be echoed in the local output stream when audio is a WebFrameMain. #37528 (Also in 23)

Fixes

  • Corrects an issue with HTML fullscreen when BrowserWindow fullscreening is disabled. #37368 (Also in 23)
  • Fixed WebUSB on ARM64 macs. #37522 (Also in 23)
  • Fixed destroyed event not emitted on close for BrowserView.webContents. #37450 (Also in 23)
  • Fixed a crash on capturing sources when using desktopCapturer API on Wayland. #37527 (Also in 23)
  • Fixed a crash when BrowserViews are present and a user attempts to prevent beforeunload in the renderer process. #37268 (Also in 22, 23)
  • Fixed an incorrect result returned when using secure as a cookies filter. #37246 (Also in 22, 23)
  • Fixed an issue where BroadcastChannel did not work correctly when contextIsolation: false. #37443 (Also in 23)
  • Fixed an issue where minWidth/minHeight and maxWidth/maxHeight would not be enforced if the user set an aspectRatio on macOS. #37456 (Also in 22, 23)
  • Fixed an issue where calling port.postMessage in MessagePortMain with some invalid parameters could cause a crash. #37726 (Also in 22, 23)
  • Fixed an issue where draggable regions incorrectly captured clicks in framed windows. #37741 (Also in 23)
  • Fixed an issue where passing both hasReply and actions to a main process Notification on macOS resulted in the first action being obscured and unavailable. #37449 (Also in 22, 23)
  • Fixed an issue where unhandled rejections could cause duplicate logs in some cases. #37500 (Also in 22, 23)
  • Fixed an issue with potential dock icon duplication on macOS. #37625 (Also in 22, 23)
  • Fixed canceling of bluetooth requests when no devices are returned. #37717 (Also in 23)
  • Fixed draggable regions not working in Mac App Store builds. #37474 (Also in 23)
  • Fixed issue with BrowserWindow not updating after call to previewFile. #37578 (Also in 22, 23)
  • Fixed potential private API usage for MAS builds on macOS. #37364 (Also in 23)
  • Fixed right-click events not being delivered in frameless window draggable regions. #37395 (Also in 23)
  • Fixed the active background color for top-level menu items on Windows. #37785
  • Fixed window could not go back to maximized state when restored on Linux. #37358 (Also in 22, 23)
  • Improved error messages on session.cookies.set failure. #37597 (Also in 22, 23)
  • Setting the about panel's options no longer crashes. #37442
  • app.showAboutPanel() no longer blocks the main thread on Windows or Linux, thus matching macOS. #37508

Other Changes

  • Improved error messages for contents.takeHeapSnapshot. #37461 (Also in 22, 23)
  • Updated Chromium to 112.0.5615.49. Fixed performance regression. #37767

Documentation

  • Documentation changes: #37288