Electron v31.0.0
Release Notes
Stack Upgrades
Chromium
126.0.6478.36Node
20.14.0V8
12.6
Breaking Changes
Made window.flashFrame(bool) flash continuously on macOS. #41391
Updated Chromium to 126.0.6445.0. (Removed:
WebSQLsupport) #41868Updated Chromium to 125.0.6412.0. (Behavior Changed:
nativeImage.toDataURLwill preserve PNG colorspace) #41610
Features
Additions
Added a new instance property
navigationHistoryon webContents API withnavigationHistory.getEntryAtIndexmethod, 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.clearDataAPI. #41355Added 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. #41689Extended
webContents.setWindowOpenHandlerto support manual creation of BrowserWindow. #41432Implemented support for the File System API. #41419 (Also in 30)
clearDatamethod added toSession. #40983Extended
WebContentsViewto accept pre-existingwebContentsobject. #42319
Improvements
Extended
WebContentsViewto accept pre-existingwebContentsobject. #42319Improved error messages when
ses.cookies.setfails. #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
recursiveoption infs.{readdir|readdirSync}as well asfs.promises.{readdir|readdirSync}. #41582Added support for
withFileTypeswhen callingfs.{readdir|readdirSync}with therecursivein Asar archives. #41627Fixed 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
showInactivewere blank. #42227Fixed potentially incorrect exit code in UtilityProcess. #42397
originalFs.promises.cpnow 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-internalsfailing to load. #41476 (Also in 28, 29, 30)Fixed
shell.showItemInFoldernot opening Windows Explorer if the passed path contains forward slashes. #41642 (Also in 28, 29, 30)Fixed a crash in
addChildViewif a view is added as its own child. #42108 (Also in 30)Fixed a crash when the same
WebContentsViewis added viaaddChildViewmultiple times. #42116 (Also in 30)Fixed a potential crash in
chrome.scriptingon extension unload. #41686 (Also in 29, 30)Fixed an error when calling
setAutoResizeon 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
BrowserViewwebContentswere getting destroyed even whenpreventDefaultwas being set on the owningBrowserWindow'scloseevent. #42372 (Also in 30)Fixed an issue where
app.getLoginItemSettingsdidn't correctly throw errors. #41647 (Also in 30)Fixed an issue where
app.setLoginItemSettingsincorrectly checked againstloginItemService. #42404 (Also in 30)Fixed an issue where
document.requestFullscreendidn't work when calling it from awebContentsinsideWebContentsView. #41995 (Also in 30)Fixed an issue where
recentDOcumentswasn't populating properly on macOS. #41993 (Also in 29, 30)Fixed an issue where
setTitleBarOverlaydidn't work as expected when called onBaseWindow. #42150 (Also in 29, 30)Fixed an issue where
user-did-{resign|become}-activewere not emitted properly on macOS. #41506 (Also in 28, 29, 30)Fixed an issue where
webContents.navigationHistorywas not an enumerable property. #42182 (Also in 30)Fixed an issue where
webContents.print(options)failed ifoptionswas not passed orundefinedis 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-addedevent 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 in Notification::Close() under libnotify 0.8.x with portal environment. #41691 (Also in 28, 29, 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.webpreferencesback tostring. #42279 (Also in 30)Fixed usage of
Storage.{get|set|clear}Cookiesvia 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
BrowserViewwebContentswere getting destroyed even whenpreventDefaultwas being set on the owningBrowserWindow'scloseevent. #42372 (Also in 30)Fixed an issue where
contentWindow.document.fonts.readywould never resolve in some circumstances. #42385Fixed 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.