Electron Releases

Filter by channel Filter by major release

Release Notes for v13.0.0

Stack Upgrades

Breaking Changes

  • Fixed so window.open() parameter frameName is no longer set as window title. #27481
  • Changed session.setPermissionCheckHandler(handler) to allow for handler's first parameter, webContents to be null. #19903

Features

Additions

  • Added process.contextId used by @electron/remote. #28251
  • Added process.contextIsolated property that indicates whether the current renderer context has contextIsolation enabled. #28252
  • Added process.uptime() to sandboxed renderers. #26684
  • Added roundedCorners option for BrowserWindow. #27572
  • Added missing fields to the parameters emitted as part of the context-menu event. #26788
  • Added new session.storagePath API to get the path on disk for session-specific data. #28866
  • Added support for passing DOM elements over the context bridge. #26776
  • Added support for registering Manifest V3 extension service workers.
    • Added 'registration-completed' event to ServiceWorkers. #27562
  • Added disposition, referrer and postBody to the details object passed to the window open handler registered with setWindowOpenHandler. #29277

Improvements

  • Additional permission checks are now routed through session.setPermissionCheckHandler. These include Notification.permission, and permission.query. Please note that the webContents parameter to the check handler can now be null. #19903
  • Allowed skipping process type transformation in win.SetVisibleOnAllWorkspaces on macOS. #27200
  • Reverted WebFrameMain.executeJavaScriptInIsolatedWorld(). #27926
  • Made trafficLightPosition option work for customButtonOnHover window. #26789
  • The submitURL option for crashReporter.start is no longer a required argument when uploadToServer is false. #28283
  • Improved performance of napi_threadsafe_function. #29048 (Also in 12)

Removed/Deprecated

  • Removed deprecated BrowserWindow extension APIs. #26696
  • Removed deprecated shell.moveItemToTrash(). #26723
  • Removed deprecated systemPreferences methods. #26849

Fixes

  • Fixed hiddenInset titleBarStyle's abnormal fullscreen titlebar. Fix hiddenInset titleBarStyle not working with trafficLightPosition option. #27489
  • Fixed a use-after-free bug during shutdown when using off-the-record sessions. #26680
  • Fixed an issue where contextBridge might incorrectly try to serialize some WebAssembly objects. #27518
  • Fixed behavior of 302/303/307 redirect responses in the protocol module. #26297
  • Made BrowserWindow.setWindowButtonVisibility work for window with customButtonsOnHover titlebar style. #27073
  • Fixed a rare crash on boot. #29109
  • Fixed permissions issue that was preventing the PDF viewer from displaying. #29252
  • Fixed the possibility for incorrect visual artifacts when using vibrancy and making frameless windows fullscreen on macOS. #29099
  • Fixed using vibrancy with titleBarStyle together resulting in weird window shadow on macOS. #29165
  • Restored cross-platform noop implementation of app.setAppUserModelId. #28921
  • Security: backported fix for chromium:1196683. #28637

Also in earlier versions....

  • Allow Node.js to manage microtasks queue by using explicit microtasks policy before calling uv_run(). #28973 (Also in 11, 12)
  • Allow loading source maps from custom protocols and asar bundles. #28615 (Also in 12)
  • Child windows with specified background colors or transpency now work as intended. #28112 (Also in 12)
  • Colors returned from systemPreferences.getAccentColor(), getSystemColor and getColor are now correctly converted into the devices color space. Previously the color would have been subtly incorrect. #28173 (Also in 11, 12)
  • Fixed ECDH.setPrivateKey() not updating the key. #27688 (Also in 12)
  • Fixed <webview> focus / blur events not working with contextIsolation enabled. #29025 (Also in 10, 11, 12)
  • Fixed desktopCapturer.getSources() promise result sometimes never resolving. #28280 (Also in 10, 11, 12)
  • Fixed postData parameter missing from new-window event. #28542 (Also in 12)
  • Fixed webFrame spell checker APIs crashing when called in sandboxed renderer. #29087 (Also in 12)
  • Fixed a bug where, when a JumpList task description exceeded 260 characters, the JumpList was empty, despite valid entries. #28526 (Also in 11, 12)
  • Fixed a crash when calling shell.trashItem() from the renderer process. #28788 (Also in 12)
  • Fixed a crash when loading pepper plugins. #28372 (Also in 12)
  • Fixed a network process crash that could happen when using setCertificateVerifyProc with many concurrent verification requests. #28433 (Also in 11, 12)
  • Fixed a potential crash when resetting BrowserViews. #27786 (Also in 12)
  • Fixed a rare crash on Windows that could occur when emitting certain Tray events. #26668 (Also in 12)
  • Fixed an issue where BrowserViews could have mismatched draggable regions to their bounds. #27952 (Also in 10, 11, 12)
  • Fixed an issue where illegal access error could be thrown when nodeIntegrationInSubFrames is enabled. #29170 (Also in 12)
  • Fixed an issue where select-serial-port callback crashes when called with an invalid serial port ID. #28619 (Also in 12)
  • Fixed an issue where win.capturePage() never called back after calling hide() for a hidden window on some platforms. #28076 (Also in 11, 12)
  • Fixed an issue where window.print() did not work properly when printing a pdf from the pdf plugin. #28351 (Also in 12)
  • Fixed an issue where drag regions on macOS would be offset incorrectly when no drag regions were set,. #29017 (Also in 11, 12)
  • Fixed an issue where errors thrown in functions passed over the contextBridge could be displayed incorrectly. #28446 (Also in 12)
  • Fixed an issue where extensions without a background page might not have file access. #29171 (Also in 12)
  • Fixed an issue where libuv might hang with multiple subframes when nodeIntegrationInSubframes is enabled. #27582 (Also in 10, 11, 12)
  • Fixed an issue where multiple calls to window.setFullScreen could cause problems. #28763 (Also in 11, 12)
  • Fixed an issue where some Node.js modules would hang on page reload on Windows. #28335 (Also in 11, 12)
  • Fixed an issue where some dialogs would stop working on macOS if window.hide() was called while they were open. #28694 (Also in 11, 12)
  • Fixed an issue where the drag regions in BrowserViews on macOS could be off in their y-axis. #28298 (Also in 10, 11, 12)
  • Fixed an issue where the thumbar disappeared after win.hide() on Windows. #28390 (Also in 10, 11, 12)
  • Fixed an issue where the void function Menu.setApplicationMenu would return a value on some platforms. #29129 (Also in 12)
  • Fixed an issue where the window couldn't be closed if a user tried to quit with a message box showing. #28988 (Also in 12)
  • Fixed an issue where windows in simpleFullscreen mode were not properly resizing when display metrics changed. #28216 (Also in 11, 12)
  • Fixed an out-of-bounds access in WebContents.sendInputEvent. #27827 (Also in 10, 11, 12)
  • Fixed background color not being applied for child windows created by native window.open path. #27593 (Also in 10, 11, 12)
  • Fixed bug where TouchBarPopover and TouchBarGroup were no longer rendering. #27901 (Also in 11, 12)
  • Fixed context menus not being positioned correctly when near the edge of the screen. #28276 (Also in 11, 12)
  • Fixed corner radius for vibrancy view in macOS 11. #28679 (Also in 11, 12)
  • Fixed crash when an exception occurs within the event emitter. #29106
  • Fixed crash when calling getBackgroundColor on a transparent window with no assigned background color. #28187 (Also in 11, 12)
  • Fixed failing to request file:// resources when web security is disabled. #28557 (Also in 11, 12)
  • Fixed intensive I/O from asar files causing ERR_FILE_NOT_FOUND after a while. #28203 (Also in 11, 12)
  • Fixed issue where window.open() would not return an object with a location.href setter when contextIsolation is enabled and nativeWindowOpen is disabled. #27899 (Also in 12)
  • Fixed navigator.bluetooth.requestDevice. #27902 (Also in 11, 12)
  • Fixed rare crash when initializing the internal PDF extension. #28453 (Also in 12)
  • Fixed service worker not working with custom protocol. #28354 (Also in 11, 12)
  • Fixed the handler set with setWindowOpenHandler not being invoked when a link was middle-clicked or shift-clicked. #28536 (Also in 12)
  • Fixed the window-all-closed event being emitted while the last BrowserWindow was still in the process of being closed. #28914 (Also in 11, 12)
  • Fixed warning when worldSafeExecuteJavaScript is disabled. #27928 (Also in 10, 11, 12)
  • No longer set backgroundColor in default-app when opening custom files / URLs. #28842 (Also in 10, 11, 12)
  • Support wasm-eval csp behind WebAssemblyCSP flag. #28569 (Also in 11, 12)
  • Transparent windows cannot be maximized using the Windows system menu or by double clicking the title bar. #28527 (Also in 12)
  • URLS passed to shell.openExternal on windows are now correctly URI encoded. This was already occurring on macOS and Linux. #28342 (Also in 10, 11, 12)
  • Fixed native module compilation with AsyncCleanupHooks on windows. #28110 (Also in 11, 12)
  • Fixed will-resize and will-move events not scaling the emitted newBounds rectangle to the appropriate Windows display scale factor. #29227 (Also in 11, 12)
  • Fixed drag and drop not working correctly for some x11 window managers. #29233 (Also in 11, 12)

Other Changes

  • Non-functional change; updates repository's issue template file. #27825
  • Updated community discussions link in default Electron menu. #28459 (Also in 12)

Documentation

End of Support for 10.x.y

Electron 10.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.