Electron Releases - v25.0.0

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

Release Notes

Stack Upgrades

Features

  • Added net.resolveHost that resolves hosts using defaultSession object. #38152 (Also in 24)
  • Added several new cursor values to the cursor-changed event. #38363 (Also in 24)
  • Added support for Mica and Acrylic background effects on Windows. #38357 (Also in 24)
  • Expose webContents methods to center text selection, scroll to the page bottom and top, as well as adjust selected text. #38362
  • Surface the context-menu event from extensions. #38356
  • Added BrowserWindow.set/getWindowButtonPosition APIs. #37094
  • Added httpOnly to the cookie filter. #37255 (Also in 24)
  • Added logUsage to shell.openExternal() options, which allows passing the SEE_MASK_FLAG_LOG_USAGE flag to ShellExecuteEx on Windows. #37139 (Also in 24)
  • Added net.fetch(). #36733
  • Added protocol.handle, replacing and deprecating protocol.{register,intercept}{String,Buffer,Stream,Http,File}Protocol. #36674
  • Added types to webRequest filter. #30914 (Also in 24)
  • Added a will-frame-navigate event to webContents and the <webview> tag, which fires whenever any frame within the frame hierarchy attempts to navigate. #34418
  • Added initiator information to navigator events. #37085
  • Added net.resolveHost that resolves hosts using defaultSession object. #38152 (Also in 24)
  • Added new 'did-resign-active' event on app. #38018
  • Added several standard page size options to webContents.print(). #37159 (Also in 22, 23, 24)
  • 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. #37315 (Also in 23, 24)
  • Added thermal management information to powerMonitor. #38028 (Also in 24)
  • Allows an absolute path to be passed to the session.fromPath() API. #37604
  • Changed net.fetch to support requests to file: URLs and custom protocols registered with protocol.register*Protocol. #36606
  • Exposes the audio-state-changed event on webContents. #37366

Fixes

  • Ensured that Electron's custom AXManualAccessibility attribute works as expected in all relevant protocol methods. #38223 (Also in 23, 24)
  • Fixed a potential crash when calling webContents.print with invalid settings. #38230
  • Fixed an issue where Windows FrameViews always appeared inactive regardless of focus status. #38473
  • Fixed an issue where BrowserWindow.isMaximized() could incorrectly return true for minimized or fullscreened windows on macOS. #38307 (Also in 23, 24)
  • Fixed an issue where BrowserWindow.isVisible() would incorrectly return true for minimized windows on Windows. #38314 (Also in 23, 24)
  • Fixed an issue where MediaStreamTrack.getCaptureHandle() always returned null. #38433 (Also in 24)
  • Fixed an issue where getNormalBounds() returns incorrect bounds for transparent maximized windows on Windows. #38348 (Also in 23, 24)
  • Fixed an issue where accessing BrowserWindow.id threw an error after the window was destroyed. #38311 (Also in 23, 24)
  • Fixed an issue where calling win.minimize() directly after calling win.maximize(), and then calling win.isMaximized() incorrectly returns true. #38345 (Also in 23, 24)
  • Fixed an issue where default background color for windows might be incorrect. #38157 (Also in 23, 24)
  • Fixed an perceived failure when when using Accessibility attribute AXManualAccessibility to enable a11y features in Electron. #38146 (Also in 23, 24)
  • Fixed an issue where Windows FrameViews always appeared inactive regardless of focus status. #38473
  • Fixed an issue where MediaStreamTrack.getCaptureHandle() always returned null. #38433 (Also in 24)
  • Added about panel for menu role about on Linux as well. #37873 (Also in 23, 24)
  • Corrects an issue with HTML fullscreen when BrowserWindow fullscreening is disabled. #37348 (Also in 23, 24)
  • Ensured that Electron's custom AXManualAccessibility attribute works as expected in all relevant protocol methods. #38223 (Also in 23, 24)
  • Fixed WebUSB on ARM64 macs. #37441 (Also in 23, 24)
  • Fixed destroyed event not emitted on close for BrowserView.webContents. #37420 (Also in 23, 24)
  • Fixed a crash on capturing sources when using desktopCapturer API on Wayland. #37511 (Also in 23, 24)
  • Fixed a crash when BrowserViews are present and a user attempts to prevent beforeunload in the renderer process. #37205 (Also in 22, 23, 24)
  • Fixed a potential crash when calling webContents.print with invalid settings. #38230
  • Fixed a potential crash when right-clicking on macOS windows with draggable regions. #38115 (Also in 24)
  • Fixed an incorrect result returned when using secure as a cookies filter. #37203 (Also in 22, 23, 24)
  • Fixed an issue on Linux where menus would not open after resizing/maximizing/unmaximizing a window. #37905 (Also in 23, 24)
  • Fixed an issue on macOS where entering fullscreen with the Fn+F system shortcut would fail or create strange window side effects. #37803 (Also in 23, 24)
  • Fixed an issue where BroadcastChannel did not work correctly when contextIsolation: false. #37421 (Also in 24)
  • Fixed an issue where minWidth/minHeight and maxWidth/maxHeight would not be enforced if the user set an aspectRatio on macOS. #37306 (Also in 22, 23, 24)
  • Fixed an issue where calling port.postMessage in MessagePortMain with some invalid parameters could cause a crash. #37585 (Also in 22, 23, 24)
  • Fixed an issue where certain buttons in the PDF viewer didn't work. #37920 (Also in 23, 24)
  • Fixed an issue where default background color for windows might be incorrect. #38157 (Also in 23, 24)
  • Fixed an issue where draggable regions incorrectly captured clicks in framed windows. #37594 (Also in 23, 24)
  • 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. #37381 (Also in 22, 23, 24)
  • Fixed an issue where successfully loaded media documents emitted did-fail-load. #37824
  • Fixed an issue where the 'swipe' event wasn't being emitted properly on macOS. #37966 (Also in 24)
  • Fixed an issue where unhandled rejections could cause duplicate logs in some cases. #37464 (Also in 22, 24)
  • Fixed an issue which made defaultFontFamily in webPreferences have no effect. #37967 (Also in 22, 23, 24)
  • Fixed an issue with potential dock icon duplication on macOS. #37599 (Also in 22, 23, 24)
  • Fixed an perceived failure when when using Accessibility attribute AXManualAccessibility to enable a11y features in Electron. #38146 (Also in 23, 24)
  • Fixed broken defaults in shell.openExternal() options. #38071 (Also in 22, 23, 24)
  • Fixed canceling of bluetooth requests when no devices are returned. #37601 (Also in 23, 24)
  • Fixed crash when executing eval in the utility process. #38039 (Also in 22, 23, 24)
  • Fixed draggable regions not working in Mac App Store builds. #37466 (Also in 23, 24)
  • Fixed issue with BrowserWindow not updating after call to previewFile. #37530 (Also in 22, 23, 24)
  • Fixed potential private API usage for MAS builds on macOS. #37309 (Also in 23, 24)
  • Fixed recommended node-gyp version in node.h error. #37926 (Also in 22, 23, 24)
  • Fixed right-click events not being delivered in frameless window draggable regions. #37386 (Also in 23, 24)
  • Fixed the active background color for top-level menu items on Windows. #37766 (Also in 22, 23, 24)
  • Fixed window could not go back to maximized state when restored on Linux. #37346 (Also in 22, 23, 24)
  • Improved error messages on session.cookies.set failure. #37586 (Also in 22, 23, 24)
  • Security: Fixed an issue with Content-Security-Policy not being correctly enforced when sandbox: false and contextIsolation: false. (CVE-2023-23623). #37756 (Also in 24)
  • Setting the about panel's options no longer crashes. #37373 (Also in 24)
  • app.showAboutPanel() no longer blocks the main thread on Windows or Linux, thus matching macOS. #37440 (Also in 24)

Other Changes

  • Backported fix for 1404797. #38333
  • Fixed a console error seen when loading PDFs. #38148
  • Fixed an error seen in the Top Level Windows section of chrome://accessibility. #38211
  • Security: backported fix for 1437346.
    • Security: backported fix for 1439691.
    • Security: backported fix for CVE-2023-2724.
    • Security: backported fix for CVE-2023-2723.
    • Security: backported fix for 1425115.
    • Security: backported fix for 1431761.
    • Security: backported fix for CVE-2023-2725.
    • Security: backported fix for CVE-2023-2721. #38329
  • Fixed a console error seen when loading PDFs. #38148
  • Fixed an error seen in the Top Level Windows section of chrome://accessibility. #38211
  • Improved error messages for contents.takeHeapSnapshot. #37434 (Also in 22, 23, 24)
  • nativeImage.createThumbnailFromPath() now takes size instead of maxSize. #37362 (Also in 24)

Documentation