Release Notes for v13.0.0
Stack Upgrades
- Chromium 91.0.4472.69.
- Node v14.17.0
- V8 v9.1
Breaking Changes
- Fixed so window.open() parameter frameName is no longer set as window title. #27481
- Changed
session.setPermissionCheckHandler(handler)
to allow forhandler
's first parameter,webContents
to benull
. #19903
Features
Additions
- Added
process.contextId
used by@electron/remote
. #28251 - Added
process.contextIsolated
property that indicates whether the current renderer context hascontextIsolation
enabled. #28252 - Added
process.uptime()
to sandboxed renderers. #26684 - Added
roundedCorners
option forBrowserWindow
. #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 'registration-completed' event to
- Added
disposition
,referrer
andpostBody
to the details object passed to the window open handler registered withsetWindowOpenHandler
. #29277
Improvements
- Additional permission checks are now routed through
session.setPermissionCheckHandler
. These includeNotification.permission
, andpermission.query
. Please note that thewebContents
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 forcustomButtonOnHover
window. #26789 - The
submitURL
option forcrashReporter.start
is no longer a required argument whenuploadToServer
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. FixhiddenInset
titleBarStyle not working withtrafficLightPosition
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 withcustomButtonsOnHover
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
andgetColor
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 withcontextIsolation
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 fromnew-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
BrowserView
s. #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
BrowserView
s could have mismatched draggable regions to their bounds. #27952 (Also in 10, 11, 12) - Fixed an issue where
illegal access error
could be thrown whennodeIntegrationInSubFrames
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 callinghide()
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 alocation.href
setter whencontextIsolation
is enabled andnativeWindowOpen
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 behindWebAssemblyCSP
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
andwill-move
events not scaling the emittednewBounds
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
- Documentation changes:
- #26239
- tutorial/application-distribution
- tutorial/application-packaging (Removed)
- #26501
- #26542 - tutorial/offscreen-rendering
- #27387 - tutorial/native-file-drag-drop
- #27486 - tutorial/support
- #27770 - api/menu
- #28213 - api/browser-window
- #28365
- #29149
- #26239
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.