Electron v36.0.0
Release Notes
Stack Upgrades
Chromium
136.0.7103.48
Node
22.14.0
V8
13.6
Breaking Changes
Deprecated
NativeImage.getBitmap()
and fixed incorrect documentation. #46736Fixed an issue where badly formatted switches could cause crashes in app.commandLine functions. #46446 (Also in 35)
Moved
Session
extension APIs toSession.extensions
. #45597The deprecated
systemPreferences.isAeroGlassEnabled()
API has been removed. #45563Updated Chromium to 135.0.7015.0 refactor: remove status, isDefault properties from PrinterInfo in 5b65cc7 #45500
Updated Chromium to 135.0.7047.0 docs: call out breaking change for GTK 4 default on GNOME in 02353aa #45859
Updated Chromium to 136.0.7054.0. Removed
ses.clearDataStorage({ quota: 'syncable' })
in c180524 #45923
Features
Additions
Added
BrowserWindow.isSnapped()
to indicate whether a given window has been arranged via Snap. #46226Added
ServiceWorkerMain
class to interact with service workers in the main process.Added
fromVersionID
onServiceWorkers
to get an instance ofServiceWorkerMain
.Added
running-status-changed
event onServiceWorkers
to indicate when a service worker's running status has changed.Added
startWorkerForScope
onServiceWorkers
to start a worker that may have been previously stopped. #45232 (Also in 35)
Added
WebContents.focusedFrame
to get the focused frame.Fixed
WebContents.opener
to specify potentialnull
type. #45667
Added
contextBridge.executeInMainWorld
to safely execute code across world boundaries. #45229 (Also in 35)Added
ffmpeg.dll
to delay load configuration. #46173 (Also in 34, 35)Added
nativeTheme.shouldUseDarkColorsForSystemIntegratedUI
to distinguish system and app theme. #46598 (Also in 35)Added
webContents.navigationHistory.restore(index, entries)
API that allows restoration of navigation history. #45433 (Also in 34, 35)Added excludeUrls to webRequest filter and deprecated the use of empty arrays in
urls
property. #44692 (Also in 35)Added permission support for
document.executeCommand("paste")
. #45377 (Also in 33, 34, 35)Added support for Autofill, Writing Tools and Services macOS level menu items in context menus via the new
frame
option inmenu.popup
. #46350Added support for
roundedCorners
BrowserWindow constructor option on Windows. #45594 (Also in 34, 35)Added support for
system-context-menu
on Linux. #46399Added support for service worker preload scripts. #44411 (Also in 35)
Redesigned preload script APIs by introducing
registerPreloadScript
,unregisterPreloadScript
,getPreloadScripts
onSession
.Removed 240 FPS limit when use shared texture OSR. #45669 (Also in 35)
Support Portal's globalShortcuts. Electron must be run with --enable-features=GlobalShortcutsPortal in order to have the feature working. #45171 (Also in 35)
Improvements
Improved ASAR integrity checks on Windows. #46537
Improved performance of desktopCapturer.getSources when not requesting thumbnails on macOS. #46251 (Also in 34, 35)
Removed/Deprecated
The
systemPreferences.isAeroGlassEnabled()
API has been deprecated and will be removed without replacement. #45434 (Also in 35)
Fixes
Fix: osr stutter fix backport for electron. #46709
Fixed
getNativeWindowHandle()
crash that affected 36 betas on macOS. #46750Fixed a possible crash in
shell.readShortcutLink
. #46324Fixed an issue where the backgroundMaterial feature did not work in a frameless window on initial window creation. #46792
Fixed an issue where context menu actions such as copy/paste did not correctly fire when a frame was not passed in. #46619
Also in earlier versions...
Addressed two possible crashes in the File System Access API. #45233 (Also in 34, 35)
Backported fix for a upstream bug that cause Offscreen Rendering to stutter. #45572 (Also in 32, 33, 34, 35)
Fix: don't copy 'package.json's out of ASAR file. #46477 (Also in 35)
Fixed ElectronAccessibilityUI bug. #46590 (Also in 33, 34, 35)
Fixed Minimize menu button to follow set window minimizability on Windows. #46714 (Also in 34, 35)
Fixed NODE_OPTIONS parsing for child processes on macOS. #46243 (Also in 34, 35)
Fixed WebFrameMain crash related to accessing speculative frames that have been destroyed. #45609 (Also in 33, 34, 35)
Fixed
electron.shell.openExternal
andelectron.shell.openPath
to honor user-defined system defaults on Linux. #46788 (Also in 33, 34, 35)Fixed
v8.setHeapSnapshotNearHeapLimit
api in main and utility process, along with support for--diagnostic-dir
Node.js cli flag to specify the directory to save the heap snapshots. #45606 (Also in 33, 34, 35)Fixed
webContents.print()
after switch to OOP printing on macOS and Linux. #45266 (Also in 35)Fixed a bug that could cause some maximized windows on Linux to report an incorrect window state. #46463 (Also in 34, 35)
Fixed a bug where the default path didn't always correctly fill the Name field in KDialogs on Linux. #45402 (Also in 34, 35)
Fixed a crash seen on Linux when calling
webContents.print()
. #46146 (Also in 35)Fixed a crash that could occur in OSR on window close. #45573 (Also in 34, 35)
Fixed a crash that could occur when dragging and dropping files into the browser. #46312 (Also in 35)
Fixed a crash when calling
shell.readShortcutLink
caused byPKEY_AppUserModel_ToastActivatorCLSID
sometimes being represented by a string uuid. #45195 (Also in 33, 34, 35)Fixed a possible BrowserWindow crash caused by closing a parent window with focus or blur events. #46580 (Also in 34, 35)
Fixed a possible crash using Node.js on some arm32 devices. #46460 (Also in 35)
Fixed a possible crash when using
navigator.bluetooth.requestDevice
and theselect-bluetooth-device
event. #46782 (Also in 34, 35)Fixed a potential crash in
chrome.tabs.update()
. #45276 (Also in 33, 34, 35)Fixed a potential crash in
parentPort
. #46496 (Also in 34, 35)Fixed a potential crash in
utilityProcess.postMessage
when calling with an invalid transferable. #46667 (Also in 35)Fixed a potential crash when calling legacy
getUserMedia
with an invalidchromeMediaSourceId
. #45733 (Also in 34, 35)Fixed a potential crash when closing a window with child windows. #46773 (Also in 34, 35)
Fixed a potential issues permissions in the Pointer Lock API after focus loss and regain. #45574 (Also in 34, 35)
Fixed an error when calling
window.emit('close')
after toggling fullscreen mode. #46621 (Also in 35)Fixed an inverted conditional in the above PR that caused broken window borders in some circumstances on Wayland. #46642 (Also in 33, 34, 35)
Fixed an issue where Electron could fail to load on some older Linux distributions. #45984 (Also in 34, 35)
Fixed an issue where Node.js OOM errors terminate the process directly without raising an OOM exception. #45912 (Also in 35)
Fixed an issue where RTL tooltips could be incorrect when using WCO on Windows. #45405 (Also in 33, 34, 35)
Fixed an issue where Web Workers crashed on unhandled rejections. #46021 (Also in 34, 35)
Fixed an issue where Windows Control Overlay didn't work with some window configurations. #45422 (Also in 33, 34, 35)
Fixed an issue where
context-menu
event weren't emitted as expected on Windows in draggable regions. #46032 (Also in 34, 35)Fixed an issue where
contextmenu
events wouldn't be correctly dispatched in draggable regions on Linux. #45813 (Also in 34, 35)Fixed an issue where
navigationHistory.restore()
failed to restore theuserAgent
if it was overridden. #46299 (Also in 34, 35)Fixed an issue where
setContentProtection(true)
was reverted when a given window was hidden. #45868 (Also in 34, 35)Fixed an issue where
system-context-menu
incorrectly fired for all regions in frameless windows. #46002 (Also in 33, 34, 35)Fixed an issue where
webContents.printToPDF()
didn't work as expected with cross-process subframes. #46259 (Also in 34, 35)Fixed an issue where calling
UtilityProcess.fork
prior to the app ready event would cause a crash. #46404 (Also in 34, 35)Fixed an issue where drag-dropping two directories would cause
getAsFileSystemHandle
to never resolve. #45234 (Also in 33, 34, 35)Fixed an issue where packages could be mistakenly not found in asar. #46023 (Also in 35)
Fixed an issue where print scaling could be too small during silent print. #45218 (Also in 34, 35)
Fixed an issue where printing from the renderer process crashes the main process when no printers are installed in the system or there's not a default printer. #46617 (Also in 34, 35)
Fixed an issue where selection of multiple directories with the
dialog
module didn't work on Linux. #45373 (Also in 34, 35)Fixed an issue where snapped windows in Windows may sometimes be improperly restored. #46041 (Also in 33, 34, 35)
Fixed an issue where the renderer process crashed when loading
about:blank
in subframes. #45694 (Also in 35)Fixed an issue where the resizing border didn't work as expected on Wayland windows. #46225 (Also in 33, 34, 35)
Fixed an issue where windows on Windows with
backgroundMaterial
lost effect on maximization. #45456 (Also in 34, 35)Fixed an issue with
--inspect-brk
failing in packaged apps. #46584 (Also in 35)Fixed an issue with the
assert
Node.js module in the renderer process. #46561 (Also in 35)Fixed an issue with token formatting for tokens received after calling
pushNotifications.registerForAPNSNotifications()
. #46149 (Also in 34, 35)Fixed broken OOP
window.print()
on macOS/Linux. #45214 (Also in 35)Fixed build error with
enable_electron_extensions=false
. #46842 (Also in 34, 35)Fixed build failure when building with printing disabled. #46284 (Also in 34, 35)
Fixed case where file dialog filters would get mixed up, if a
*
filter was included. #46722 (Also in 34, 35)Fixed crash in gin::wrappable::secondweakcallback. #45368 (Also in 33, 34, 35)
Fixed crash on Linux when PipeWire screenshare source selection is cancelled. #46235 (Also in 35)
Fixed crash on application exit with pending
app.getGPUInfo
promise. #46471 (Also in 34, 35)Fixed crash on reconversion with google IME and editcontext on macOS. #46699 (Also in 34, 35)
Fixed crash on startup with asan build on macOS. #45541 (Also in 33, 34, 35)
Fixed crash when accessing WebFrameMain frames and name attributes on destroyed frames. #45487 (Also in 33, 34, 35)
Fixed crash when renderer process crashes while webview is reloading. #46768 (Also in 34, 35)
Fixed crash with out-of-bounds string read when parsing NODE_OPTIONS. #46247 (Also in 34, 35)
Fixed displaying content on macOS when using
BaseWindow.showInactive
. #45427 (Also in 35)Fixed documentation to mark
Window.autoHideMenuBar
as supported on Linux and Windows. #46830 (Also in 34, 35)Fixed drag and drop icons not showing on Windows. #45767 (Also in 34, 35)
Fixed file preview window reappearing when calling
win.closeFilePreview
twice on macOS. #45319 (Also in 32, 33, 34, 35)Fixed flickering and ghosting artifacts in transparent windows on macOS. #46393 (Also in 35)
Fixed incorrect titlebar in file save dialogs. #46077 (Also in 33, 34, 35)
Fixed invalid memory access in pdf viewer which lead to random crashes. #45389 (Also in 33, 34, 35)
Fixed memory leak in AutofillPopupView. #46412 (Also in 34, 35)
Fixed several paint and white flash issues on macOS. #46629 (Also in 35)
Fixed spellcheck suggestions not correctly populating on Windows. #45712 (Also in 35)
Fixed the border style of windows with vibrancy on macOS. #46771 (Also in 35)
Fixed the issue where maximizing and restoring the window does not respect the corner radius settings, and the corner radius is incorrect in fullscreen mode. #46848 (Also in 35)
Fixed the issue where rounded corners disappear momentarily when closing on Windows 11. #46407 (Also in 35)
Fixed the path for a needed library used for mksnapshot. #45488 (Also in 32, 33, 34, 35)
Fixed title changes to not occur while navigating within a page. #46036 (Also in 34, 35)
Fixed web worker scripts failing to load for chrome extensions. #45698 (Also in 32, 33, 34, 35)
Improved webContents loading time when resolving fonts for uncommon scripts. #45919 (Also in 34, 35)
Microtasks are no longer (incorrectly) run by serializing values, including when sending IPC. #46682 (Also in 34, 35)
Optimized
webFrame.getZoomLevel
andwebFrame.getZoomFactor
APIs. #45499 (Also in 35)Re-enables the MacWebContentsOcclusion feature flag for Mac, with plans to make it enabled by default in a future release. #45775 (Also in 35)
Reverts a change that greyed out disabled menu items on macOS (https://github.com/electron/electron/pull/46307). #46523 (Also in 34, 35)
When a menu item on macOS is disabled (
enabled = false
), it is now greyed out. #46342 (Also in 34, 35)
Other Changes
Added
NSPrefersDisplaySafeAreaCompatibilityMode
=false
to Info.plist to remove "Scale to fit below built-in camera." from app options. #45318 (Also in 33, 34, 35)Added more helpful logging if Node.js fails to initialize. #45286 (Also in 35)
Backported fix for 387258077,383070811. #45495
Backported fix for 401059730. #45937
Backported fix for 401059730. #45942
Documentation
Notices
End of Support for 33.x.y
Electron 33.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.