npm install electron@v31.0.0
yarn add electron@v31.0.0
Release Notes
Stack Upgrades
- Chromium
126.0.6478.36
- Node
20.14.0
- V8
12.6
Breaking Changes
- Made window.flashFrame(bool) flash continuously on macOS. #41391
- Updated Chromium to 126.0.6445.0. (Removed:
WebSQL
support) #41868 - Updated Chromium to 125.0.6412.0. (Behavior Changed:
nativeImage.toDataURL
will preserve PNG colorspace) #41610
Features
Additions
- Added a new instance property
navigationHistory
on webContents API withnavigationHistory.getEntryAtIndex
method, enabling applications to retrieve the URL and title of any navigation entry within the browsing history. #41577 (Also in 29, 30) - Added options parameter to
Session.clearData
API. #41355 - Added proxy configuring support for requests made with net module from utility process. #41335 (Also in 28, 29, 30)
- Added support for Bluetooth ports being requested by service class ID in
navigator.serial
. #41638 (Also in 29, 30) - Added support for
NODE_EXTRA_CA_CERTS
. #41689 - Extended
webContents.setWindowOpenHandler
to support manual creation of BrowserWindow. #41432 - Implemented support for the File System API. #41419 (Also in 30)
clearData
method added toSession
. #40983- Extended
WebContentsView
to accept pre-existingwebContents
object. #42319
Improvements
- Extended
WebContentsView
to accept pre-existingwebContents
object. #42319 - Improved error messages when
ses.cookies.set
fails. #42400 (Also in 29, 30) - Re-adds functionality to check whether or not an app was launched as a login service on macOS. #42422
Removed/Deprecated
Fixes
- Added missing support for the
recursive
option infs.{readdir|readdirSync}
as well asfs.promises.{readdir|readdirSync}
. #41582 - Added support for
withFileTypes
when callingfs.{readdir|readdirSync}
with therecursive
in Asar archives. #41627 - Fixed ASAN build on macOS. #41587
- Fixed a bug where a window with maximization disabled and WCO enabled would still show its maximization button. #41793
- Fixed an issue where child views in a BrowserWindow could sometimes be. #41256
- Fixed issue where windows made visible with
showInactive
were blank. #42227 - Fixed potentially incorrect exit code in UtilityProcess. #42397
originalFs.promises.cp
now works. #42134
Also in earlier versions...
- BrowserWindow.show() now correctly restores focus to inactive apps on macOS. #42305 (Also in 30)
- Electron doesn't paint on offscreen-render mode after gpu process crashed. #41924 (Also in 29, 30)
- Ensured ScreenCaptureKit is used exclusively on macOS 14.4 and higher to avoid permission prompts. #41397 (Also in 29, 30)
- Fixed
chrome://process-internals
failing to load. #41476 (Also in 28, 29, 30) - Fixed
shell.showItemInFolder
not opening Windows Explorer if the passed path contains forward slashes. #41642 (Also in 28, 29, 30) - Fixed a crash in
addChildView
if a view is added as its own child. #42108 (Also in 30) - Fixed a crash when the same
WebContentsView
is added viaaddChildView
multiple times. #42116 (Also in 30) - Fixed a potential crash in
chrome.scripting
on extension unload. #41686 (Also in 29, 30) - Fixed an error when calling
setAutoResize
on aBrowserView
. #42138 (Also in 30) - Fixed an inconsistent crash on maximizing window and relayout in Ubuntu. #42146 (Also in 30)
- Fixed an issue on Windows where silent printing resulted in comically tiny renderer output. #41811 (Also in 28, 29, 30)
- Fixed an issue where
BrowserView
webContents
were getting destroyed even whenpreventDefault
was being set on the owningBrowserWindow
'sclose
event. #42372 (Also in 30) - Fixed an issue where
app.getLoginItemSettings
didn't correctly throw errors. #41647 (Also in 30) - Fixed an issue where
app.setLoginItemSettings
incorrectly checked againstloginItemService
. #42404 (Also in 30) - Fixed an issue where
document.requestFullscreen
didn't work when calling it from awebContents
insideWebContentsView
. #41995 (Also in 30) - Fixed an issue where
recentDOcuments
wasn't populating properly on macOS. #41993 (Also in 29, 30) - Fixed an issue where
setTitleBarOverlay
didn't work as expected when called onBaseWindow
. #42150 (Also in 29, 30) - Fixed an issue where
user-did-{resign|become}-active
were not emitted properly on macOS. #41506 (Also in 28, 29, 30) - Fixed an issue where
webContents.navigationHistory
was not an enumerable property. #42182 (Also in 30) - Fixed an issue where
webContents.print(options)
failed ifoptions
was not passed orundefined
is passed. #41467 (Also in 28, 29, 30) - Fixed an issue where badge text set using the Badging API no longer appeared correctly on Windows. #41618 (Also in 29, 30)
- Fixed an issue where calling
window.center()
on Windows and Linux incorrectly centered the window. #42101 (Also in 30) - Fixed an issue where dialogs did not work if they were parented to a BaseWindow and not a BrowserWindow. #42326 (Also in 30)
- Fixed an issue where emojis weren't properly handled on Windows. #41673 (Also in 29, 30)
- Fixed an issue where showing or focusing a panel window would activate the app on Mac. #41750 (Also in 30)
- Fixed an issue where some calls to WebUSB methods could crash. #42365 (Also in 29)
- Fixed an issue where the
serial-port-added
event improperly respected filters set byserial.requestPort()
. #41621 (Also in 28, 29, 30) - Fixed an issue where the window could be incorrectly centered in some circumstances when calling
BrowserWindow.center()
. #42197 (Also in 30) - Fixed crash after upgrade on Linux. #42062 (Also in 29, 30)
- Fixed crash in Notification::Close() under libnotify 0.8.x with portal environment. #41691 (Also in 28, 29, 30)
- Fixed crash on window maximize on X11. #42184 (Also in 30)
- Fixed data corruption when protocol.handle() processed incoming data asynchronously. #41932 (Also in 30)
- Fixed missing
<__assertion_handler>
header when compiling with libc++. #41830 (Also in 29, 30) - Fixed nativeImage.createThumbnailFromPath and shell.openExternal not resolving when called in the renderer process. #41908 (Also in 30)
- Fixed the type of
WebviewTag.webpreferences
back tostring
. #42279 (Also in 30) - Fixed usage of
Storage.{get|set|clear}Cookies
via the Chrome DevTools Protocol. #41718 (Also in 28, 29, 30) - Improved appearance of caption buttons on Windows 11 when using Windows Control Overlay. #41561 (Also in 30)
BrowserWindow.focus()
now correctly restore focus to inactive apps on macOS. #42186 (Also in 30)- Fixed an issue where
BrowserView
webContents
were getting destroyed even whenpreventDefault
was being set on the owningBrowserWindow
'sclose
event. #42372 (Also in 30) - Fixed an issue where
contentWindow.document.fonts.ready
would never resolve in some circumstances. #42385 - Fixed support for multiple folder/file selection in //shell_dialogs portal implementation. #42424
Other Changes
- Backported fix for 336625018. #42316
- Backported fix for 339266700. #42095
- Backported fix for 339458194. #42121
- Backported fix for 340221135. #42173
- Backported fix for 341663589. #42254
- Fixed partially broken state of
chrome://accessibility
. #41948
Documentation
Notices
End of Support for 28.x.y
Electron 28.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.