Electron v43.0.0-alpha.1
Latest Pre ReleaseRelease Notes
Features
Added Clone method to WebContents. #49959
Added JS stack trace to crash reports on renderer OOM. #50043 (Also in 42)
Added Linux support for
app.getApplicationInfoForProtocol(). #51297Added
Notification.getHistory()for macOS, allowing developers to restore all delivered notifications still present in Notification Center. #50325 (Also in 42)Added
accessibilityLabelproperty toMenuItemconstructor options and properties for defining screen-reader-friendly labels. #50240Added
allowExtensionsprivilege toprotocol.registerSchemesAsPrivileged()to enable Chrome extensions on custom protocols. #49951 (Also in 40, 41, 42)Added
app.configureWebAuthn()to enable the Touch ID platform authenticator for WebAuthn on macOS, and aselect-webauthn-accountsession event for choosing between multiple discoverable credentials. #51255 (Also in 41, 42)Added
globalShortcut.setSuspended()andglobalShortcut.isSuspended()methods to temporarily suspend and resume global shortcut handling. #50425 (Also in 42)Added
idandgroupIdoptions to the Notification constructor on macOS.idallows custom identifiers for notifications, andgroupIdvisually groups notifications together in Notification Center. #50097 (Also in 42)Added
nv12OSR pixel format support for professional use. #49799Added
view.setBackgroundBlur. #51076Added
webContents.copyVideoFrameAt(x, y)andwebContents.saveVideoFrameAs(x, y)methods. #48149Added id, groupId, and groupTitle support for Windows notifications. #50328 (Also in 42)
Added nativeTheme.shouldDifferentiateWithoutColor on macOS. #49912 (Also in 41, 42)
Added session support to net module requests from utility process. #51279
Added support for heap profiling via
contentTracing.enableHeapProfiling(). #50826 (Also in 41, 42)Added support for importing shared textures using the nv16 pixel format. #50728 (Also in 42)
Allowed the
--experimental-inspector-network-resourceNode.js flag to be passed through Electron. #49689Feat: SF Symbol customisation. #48911
File downloads will open by default in the user's Downloads folder (or Home directory if Downloads doesn't exist). #49868
Fixed contentTracing module to capture Node.js trace categories. #50591
Notes: Added support for the
urgencyoption in Notifications on Windows. #50225 (Also in 41, 42)
Fixes
Added additional ASAR support to additional
fscopy methods. #50226 (Also in 39, 40, 41, 42)Added crash keys to diagnose power monitor shutdown crash on arm64 windows. #51198 (Also in 42)
Added missing
metadatafields tocontentTracingtraces. #50892 (Also in 41, 42)BrowserWindow now enforces min/max size constraints on window creation, even if they conflict with the requested width and height. #49906 (Also in 41, 42)
Changed the
kResizeThresholdto trigger the resize on corners. #50637 (Also in 41, 42)Ensured cross-origin
fetch()and XHR are blocked for custom protocols registered withsupportFetchAPI: trueunlesscorsEnabled: trueis also set; cross-originmode: 'no-cors'requests now receive an opaque response. #51152 (Also in 39, 40, 41, 42)Fixed Electron child process titles on Linux so they show their types (render, gpu, etc.) and complete command-line arguments and flags in
ps aux. #50509 (Also in 42)Fixed
ELECTRON_INSTALL_PLATFORMbeing ignored when resolving the Electron executable path during postinstall, which causedpath.txtto be written for the host platform instead of the requested target and madeisInstalled()always re-download on subsequent installs. #51029 (Also in 42)Fixed
app.getLoginItemSettings()returningundefinedforexecutableWillLaunchAtLoginon macOS; the property is now always a boolean. #51416 (Also in 40, 41, 42)Fixed
desktopCapturer.getSources()hanging on macOS. #51128Fixed
fs.staton files inside asar archives returningundefinedforblksizeandblocksinstead of numeric values. #50825 (Also in 40, 41, 42)Fixed
webContents.printToPDFrejecting on all subsequent calls after a prior call was rejected with an invalidpageRangesvalue. #51174 (Also in 40, 41, 42)Fixed a crash when providing invalid HTTP header names or values in the
webRequest.onBeforeSendHeaders()callback. #51340 (Also in 40, 41, 42)Fixed a bug where Windows notification icons could fail to save because their temporary filenames contained invalid characters. #50454 (Also in 40, 41, 42)
Fixed a bug where errors would occur when using the Chrome DevTools Fetch API. #50744 (Also in 41, 42)
Fixed a crash in
clipboard.readImage()when the clipboard contains malformed image data. #50475 (Also in 39, 40, 41, 42)Fixed a crash that could occur when an autofill suggestion popup was shown while a window was closing. #51302 (Also in 41, 42)
Fixed a crash when calling
contentTracing.getTraceBufferUsage()while a trace session is active. #50556 (Also in 39, 40, 41, 42)Fixed a crash when calling an offscreen shared texture's
release()after the texture object was garbage collected. #50473 (Also in 39, 40, 41, 42)Fixed a crash when rendering PDFs when Site Isolation is disabled. #50689 (Also in 41, 42)
Fixed a memory leak where Menu items were not cleaned up after Menu.setApplicationMenu was called repeatedly. #50806 (Also in 40, 41, 42)
Fixed a potential crash when using
webContents.print(). #50843 (Also in 42)Fixed a potential race condition crash when closing DevTools. #51420 (Also in 41, 42)
Fixed a regression on Linux where transparent frameless windows would have visible borders. Also fixed a longstanding issue where transparent windows on Linux could show smeared and glitched content as windows moved around. #50541 (Also in 41, 42)
Fixed a regression on Windows where frameless windows changed their size after calling
setResizable. #51252 (Also in 41, 42)Fixed a regression where frameless fullscreen windows had white borders on Windows. #51287 (Also in 41, 42)
Fixed a renderer crash when a page uses the
<geolocation>HTML element. #51346 (Also in 41, 42)Fixed absent 'Electron Isolated Context' in the execution context dropdown in Dev Tools. #51062 (Also in 41, 42)
Fixed an accessibility issue where the AXMenuOpened event was not fired on menu creation. #50377 (Also in 40, 41, 42)
Fixed an intermittent
Invoke in DisallowJavascriptExecutionScopecrash on application quit when aWebContents(or other JS-emitting native object) is garbage-collected during shutdown. #50688 (Also in 40, 41, 42)Fixed an issue on Windows where a transient
UnhookWindowsHookExfailure insetIgnoreMouseEvents(true, { forward: true })teardown could cause duplicate low-level mouse hooks to be installed on the next activation. #51098 (Also in 41, 42)Fixed an issue on macOS where
show/hideevents andWebContentsvisibility state could be reported incorrectly when multipleWebContentsViews were attached to a window. #50579 (Also in 40, 41, 42)Fixed an issue where DevTools would re-attach to the window when opened after previously being detached. #50807 (Also in 39, 40, 41, 42)
Fixed an issue where
app-region: draginside a hiddenWebContentsViewwould still drag the parent window on Windows. #51200 (Also in 40, 41, 42)Fixed an issue where
nodeIntegrationInWorkerdidn't always work in AudioWorklet. #47244 (Also in 40, 41, 42)Fixed an issue where
setSimpleFullScreenon macOS would exit when web content calledrequestFullscreen(). #50874 (Also in 40, 41, 42)Fixed an issue where an Electron auto-update job would occasionally fail if a macOS system update is pending. #51070 (Also in 42)
Fixed an issue where an Electron macOS update would not be applied if another app was previously blocking the macOS system update loop. #51191 (Also in 40, 41, 42)
Fixed an issue where an app shortcut may lose its icon after auto-updating on Windows. #50471 (Also in 40, 41, 42)
Fixed an issue where calling
contentTracingAPIs beforeapp.whenReady()would crash the application. #50920 (Also in 41, 42)Fixed an issue where closing devtools immediately after focus caused a crash. #47435 (Also in 41, 42)
Fixed an issue where concurrent
getFileHandlerequests on the same path could stall indefinitely. #50597 (Also in 40, 41, 42)Fixed an issue where custom options in
webContents.print()did not prefill the print dialog on macOS. #50600 (Also in 42)Fixed an issue where importing
electronvia ESM would touch the OS keychain on app-ready even whensafeStoragewas never used.safeStorage.isAsyncEncryptionAvailable()now returns a Promise as documented. #50419Fixed an issue where margins did not look as expected when printing in silent mode. #50615 (Also in 41, 42)
Fixed an issue where saving edited PDF files would fail with a cross-origin SecurityError. #51042 (Also in 41, 42)
Fixed an issue where some DevTools functionality didn't work as expected. #50241 (Also in 40, 41, 42)
Fixed an issue where some toast notification properties didn't work as expected in WinRT. #51286 (Also in 41, 42)
Fixed an issue where the Squirrel.Mac installer could resolve the target bundle path to different locations at different stages of an install. #50745 (Also in 39, 42)
Fixed an issue where the
webContents.print()callback may not fire correctly in some cases. #50431 (Also in 41, 42)Fixed an issue where webContents.print() would ignore pageSize / mediaSize when silent was true. #50808 (Also in 41, 42)
Fixed an issue with the main process where
process.exit()with no argument did not exit withprocess.exitCodeFixed handling of string value arguments to
process.exit()in the main process. #51428
Fixed aspect ratio min/max size clamping to correctly account for extraSize on macOS. #50794 (Also in 40, 41, 42)
Fixed bug that could occasionally cause browserWindow's
always-on-top-changedeven to fire with incorrect values. #51110 (Also in 40, 41, 42)Fixed buggy behavior where Backspace would accept macOS text replacements inside
contenteditableelements. #51289 (Also in 40, 41, 42)Fixed build failure when building with
enable_pdfdisabled. #51223 (Also in 41, 42)Fixed certain DevTools extension panels not showing without a page reload. #50611 (Also in 42)
Fixed crash when
app.setPath('sessionData')was called with a non-existent directory. #50891 (Also in 41, 42)Fixed crash when handling JavaScript dialogs from windows opened with invalid or empty URLs. #50062 (Also in 39, 40, 41, 42)
Fixed cross-origin isolation failing for non-file origins. #50789 (Also in 41, 42)
Fixed frameless transparent windows on Windows losing their transparency after
setResizable(false)followed bysetResizable(true). #51175 (Also in 41, 42)Fixed improper focus tracking in BaseWindow on MacOS. #49460 (Also in 39, 40, 41, 42)
Fixed logic bug that rendered certain window types un-resizable on MAS builds. #50096 (Also in 40, 41, 42)
Fixed native notification clicks not focusing the application window on Wayland. #50568 (Also in 42)
Fixed printing on Linux failing with "Invalid printer settings". #50430 (Also in 41, 42)
Fixed remote debugging via
--remote-debugging-portnot working when inspecting from Chrome'schrome://inspectpage. The DevTools page would appear empty due to the frontend URL pointing to a CDN that returned 404 for Electron's Chromium builds. #51236 (Also in 41)Fixed resize hit targets for frameless windows on Windows. Resize targets now start at the side and bottom edges of the window and extend outward when
frame: false, matching the behavior for windows with frames. #50706 (Also in 41, 42)Fixed shutdown crash on windows when power monitor notifications were subscribed. #50878 (Also in 42)
Fixed test scaffolding bug when running tests locally on Linux. #51129 (Also in 40, 41, 42)
Fixed the appearance of maximized windows on GNOME in Wayland, especially when non-default GTK themes like Breeze are set. #50550 (Also in 41, 42)
Fixed the crash keys being lost and the crash reporter hanging on macOS when many dynamic crash keys were registered. #50795 (Also in 40, 41, 42)
Fixed user resizing of transparent windows on win32 platform. #49428 (Also in 39, 40, 41, 42)
Fixed utilityProcess exit event reporting incorrect exit codes on Windows when the exit code has the high bit. #50256 (Also in 40, 41, 42)
Fixed window freeze when failing to enter/exit fullscreen on macOS. #49421 (Also in 39, 40, 41, 42)
Improved the way Electron determines the default XDG App ID and WM_CLASS on Linux for better platform compatibility if
desktopNameis not provided inpackage.json. #51424 (Also in 41, 42)Moved Electron-specific help menu links to the default app only; unpackaged apps will no longer see these items in their default menu. #50629 (Also in 40, 41, 42)
On Linux, apps should now display their names and icons in audio managers instead of all being labeled as Chromium. #49270
Removed "representedObject is not a WeakPtrToElectronMenuModelAsNSObject" logging when interacting with macOS menus. #50608 (Also in 41, 42)
Removed support for the ELECTRON_SKIP_BINARY_DOWNLOAD environment variable. #50406 (Also in 42)
This PR fixes a regression in silent printing where custom DPI values from webContents.print were not honored, causing incorrect output scaling in real-world print flows. #51046 (Also in 41, 42)
Other Changes
Added support for using a proxy during yarn install. #50322 (Also in 39, 40, 41, 42)
Enabled profile-guided optimization for V8 builtins in release builds, improving JavaScript builtin performance (Array, String, RegExp, etc.). #50416 (Also in 40, 41, 42)
Fixed
gn genfailing to resolveelectron_versionwhen building from agit worktreecheckout. #51146 (Also in 39, 40, 41, 42)Improved performance of
app.getApplicationNameForProtocol()on Linux. #51251Improved performance of
app.isDefaultProtocolClient()andapp.setAsDefaultProtocolClient()on Linux. #51316Updated Chromium to 149.0.7827.0. #51481
Updated Node.js to v24.15.0. #51091