Electron: v14.0.0 Release

Release date:
August 30, 2021
Previous version:
v14.0.0-nightly.20210524 (released May 24, 2021)
Magnitude:
4,400 Diff Delta
Contributors:
13 total committers
Data confidence:
Commits:

167 Features Released with v14.0.0

Top Contributors in v14.0.0

trop[bot]
nornagon
erickzhao
jkleinsc
electron-roller[bot]
electron-bot
sudowoodo-release-bot[bot]
MarshallOfSound
deepak1556
miniak

Directory Browser for v14.0.0

We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.

Release Notes Published

Release Notes for v14.0.0

Stack Upgrades

Breaking Changes

  • Child windows no longer inherit BrowserWindow construction options from their parents. #28550
  • Deprecated worldSafeExecuteJavaScript option was removed from webPreferences. #28456
  • Removed deprecated additionalFeatures property from new-window and did-create-window WebContents events. #28548
  • Removed the deprecated app.allowRendererProcessReuse and BrowserWindow affinity options. #26874

Features

Additions

  • Added BrowserWindow.isFocusable() to determine whether a window is focusable. #28642
  • Added WebFrameMain.visibilityState instance property. #28706
  • Added disposition, referrer and postBody to the details object passed to the window open handler registered with setWindowOpenHandler. #28518 <span style="font-size:small;">(Also in 13)</span>
  • Added process.contextId used by @electron/remote. #28007 <span style="font-size:small;">(Also in 13)</span>
  • Added experimental cookie encryption support behind an Electron Fuse. #29492 <span style="font-size:small;">(Also in 13)</span>
  • Added missing resourceType conversions for webRequest listener details: font, ping, cspReport, media, webSocket. #30050
  • Added new session.storagePath API to get the path on disk for session-specific data. #28665 <span style="font-size:small;">(Also in 13)</span>
  • Added webContents.fromDevToolsTargetId(targetId) to lookup a WebContents instance from an associated Chrome DevTools Protocol TargetID. #30732
  • Added support for Windows Control Overlay on macOS. #29986
  • Added support for Windows Control Overlay on Windows. #30678 <span style="font-size:small;">(Also in 15)</span>
  • Added support for debug URLs such as chrome://gpucrash. #29466 <span style="font-size:small;">(Also in 13)</span>
  • Added support for directing Chromium logging to a file with --log-file=.../path/to/file.log. Also, it's now possible to enable logging from JavaScript by appending command-line switches during the first JS tick. #29963
  • Added support for the des-ede3 cipher in node crypto. #27897 <span style="font-size:small;">(Also in 11, 12, 13)</span>
  • Adding ContextBridgeMutability feature that skips context bridge DeepFreeze and SetReadOnlyNonConfigurable when exposing a value. #27348 ### Improvements
  • Improved performance characteristics of functions being sent back and forth over the contextBridge. #28285
  • Improved performance of napi_threadsafe_function. #29021 <span style="font-size:small;">(Also in 12, 13)</span> ### Removed/Deprecated
  • The submitURL option for crashReporter.start is no longer a required argument when uploadToServer is false. #28105 <span style="font-size:small;">(Also in 13)</span>

    Fixes

  • Allow Node.js to manage microtasks queue by using explicit microtasks policy before calling uv_run(). #28957 <span style="font-size:small;">(Also in 11, 12, 13)</span>

  • Allow loading source maps from custom protocols and asar bundles. #28573 <span style="font-size:small;">(Also in 12, 13)</span>

  • Child windows with specified background colors or transpency now work as intended. #28054 <span style="font-size:small;">(Also in 12, 13)</span>

  • 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. #28121 <span style="font-size:small;">(Also in 11, 12, 13)</span>

  • Electron Fuses are now in a consistent order across platforms. #29616 <span style="font-size:small;">(Also in 13)</span>

  • Fixed an issue where fs.promises.readFile would improperly error when passing a FileHandle to the path argument. #29577 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed CORS preflight request always being cancelled when connecting via proxy requiring authentication for apps that had registered WebRequest listeners. #29812 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed <webview> focus / blur events not working with contextIsolation enabled. #29004 <span style="font-size:small;">(Also in 10, 11, 12, 13)</span>

  • Fixed desktopCapturer.getSources() promise result sometimes never resolving. #28273 <span style="font-size:small;">(Also in 10, 11, 12, 13)</span>

  • Fixed documentEdited status not updating close button for frameless window on macOS. #30391 <span style="font-size:small;">(Also in 13, 15)</span>

  • Fixed postData parameter missing from new-window event. #28513 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed requestFullscreen inside webview does not make the element take fullscreen. #29989 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed select-bluetooth-device firing on Windows. #29613 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed webFrame spell checker APIs crashing when called in sandboxed renderer. #29053 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed will-resize and will-move events not scaling the emitted newBounds rectangle to the appropriate Windows display scale factor. #29162 <span style="font-size:small;">(Also in 11, 12, 13)</span>

  • Fixed a bug where, when a JumpList task description exceeded 260 characters, the JumpList was empty, despite valid entries. #28485 <span style="font-size:small;">(Also in 11, 12, 13)</span>

  • Fixed a crash in the repl when SharedArrayBuffer is disabled. #30484

  • Fixed a crash when process.exit is called and nativeWindowOpen is enabled. #30235 <span style="font-size:small;">(Also in 15)</span>

  • Fixed a crash when calling shell.trashItem() from the renderer process. #28748 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed a crash when calling the webContents.on('login') callback synchronously. #30090 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed a feature flag issue where spellchecker methods returned empty suggestion lists on Windows. #29705 <span style="font-size:small;">(Also in 13)</span>

  • Fixed a hang when denying a window.open using setWindowOpenHandler when nativeWindowOpen: false. #29883 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed a network process crash that could happen when using setCertificateVerifyProc with many concurrent verification requests. #28358 <span style="font-size:small;">(Also in 11, 12, 13)</span>

  • Fixed a potential crash that would occur with draggable regions on Windows. #30327 <span style="font-size:small;">(Also in 13, 15)</span>

  • Fixed a potential crash when calling app.quit() on macOS. #29962 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed a potential crash when setting vibrancy on macOS. #29723 <span style="font-size:small;">(Also in 13)</span>

  • Fixed an issue on Mac where an application could not capture its own window using the desktop capture or getMediaSourceId APIs. #30524 <span style="font-size:small;">(Also in 13, 15)</span>

  • Fixed an issue on Windows where empty console windows were appearing when --enable-logging was present. #30385 <span style="font-size:small;">(Also in 15)</span>

  • Fixed an issue present in webView where the leave-html-full-screen event is not emitted if the user exits fullscreen with esc instead of by clicking into the webView. #30561 <span style="font-size:small;">(Also in 12, 13, 15)</span>

  • Fixed an issue where background color would not be correctly applied to BrowserViews on Windows when either the x or y coordinate is negative (off-screen). #30541 <span style="font-size:small;">(Also in 13, 15)</span>

  • Fixed an issue where BrowserWindows would not properly honor transparency: true or a backgroundColor being set in their constructor options. #30159

  • Fixed an issue where Electron would sometimes not honor the user-defined Downloads directory. #29967 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed an issue where BrowserView webContents would appear not to load in some circumstances. #30335 <span style="font-size:small;">(Also in 15)</span>

  • Fixed an issue where beforeunload and unload weren't firing properly in BrowserViews. #28382

  • Fixed an issue where illegal access error could be thrown when nodeIntegrationInSubFrames is enabled. #29093 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed an issue where select-serial-port callback crashes when called with an invalid serial port ID. #28602 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed an issue where self.module.paths wouldn't work in Workers. #30014 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed an issue where the TouchBarScrubber crashes when showArrowButtons is enabled if items is an empty array. #30679 <span style="font-size:small;">(Also in 13, 15)</span>

  • Fixed an issue where toggling documentEdited status on macOS with titlebarStyle: 'hiddenInset' inadvertently moves the traffic light location. #30605 <span style="font-size:small;">(Also in 13, 15)</span>

  • Fixed an issue where win.capturePage() never called back after calling hide() for a hidden window on some platforms. #27883 <span style="font-size:small;">(Also in 11, 12, 13)</span>

  • Fixed an issue where window.print() did not work properly when printing a pdf from the pdf plugin. #28328 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed an issue where a specified aspect ratio could become incorrect when maximizing a window on macOS. #30331 <span style="font-size:small;">(Also in 12, 13, 15)</span>

  • Fixed an issue where custom traffic lights could be covered by BrowserViews on macOS. #29628 <span style="font-size:small;">(Also in 13)</span>

  • Fixed an issue where drag regions on macOS would be offset incorrectly when no drag regions were set,. #28984 <span style="font-size:small;">(Also in 11, 12, 13)</span>

  • Fixed an issue where draggable regions sometimes did not work properly when DevTools is open. #29735 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed an issue where dropdown menus did not work in DevTools when contextIsolation was enabled. #29886 <span style="font-size:small;">(Also in 13)</span>

  • Fixed an issue where errors thrown in functions passed over the contextBridge could be displayed incorrectly. #28346 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed an issue where extensions without a background page might not have file access. #29123 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed an issue where multiple calls to window.setFullScreen could cause problems. #25470 <span style="font-size:small;">(Also in 11, 12, 13)</span>

  • Fixed an issue where request headers were cleared if the optional "requestHeaders" parameter was not included in the webRequest.onBeforeSendHeaders callback response object. #29835 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed an issue where right-clicking in the devtools console throws an error. #29472

  • Fixed an issue where some Node.js modules would hang on page reload on Windows. #28175 <span style="font-size:small;">(Also in 11, 12, 13)</span>

  • Fixed an issue where some dialogs would stop working on macOS if window.hide() was called while they were open. #28671 <span style="font-size:small;">(Also in 11, 12, 13)</span>

  • Fixed an issue where the setAlwaysOnTop value would sometimes not be preserved for child windows on macOS. #29855 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed an issue where the drag regions in BrowserViews on macOS could be off in their y-axis. #28268 <span style="font-size:small;">(Also in 10, 11, 12, 13)</span>

  • Fixed an issue where the thumbar disappeared after win.hide() on Windows. #28366 <span style="font-size:small;">(Also in 10, 11, 12, 13)</span>

  • Fixed an issue where the traffic lights would get double-drawn when exiting fullscreen and adding a BrowserView on macOS. #30150 <span style="font-size:small;">(Also in 13)</span>

  • Fixed an issue where the user-data directory was incorrect in unpackaged apps. #30142

  • Fixed an issue where the void function Menu.setApplicationMenu would return a value on some platforms. #29118 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed an issue where the window couldn't be closed if a user tried to quit with a message box showing. #28967 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed an issue where windows in simpleFullscreen mode were not properly resizing when display metrics changed. #28150 <span style="font-size:small;">(Also in 11, 12, 13)</span>

  • Fixed an issue with PDF loading on Windows, where metadata was not loading correctly and causing the PDF to load as a blank page. #29831 <span style="font-size:small;">(Also in 13)</span>

  • Fixed app.getPath('logs') returning the wrong path on Linux and Windows. #29865

  • Fixed beta-only bug that caused mouse clicks to not be processed in frameless windows. #30459 <span style="font-size:small;">(Also in 15)</span>

  • Fixed context menus not being positioned correctly when near the edge of the screen. #28224 <span style="font-size:small;">(Also in 11, 12, 13)</span>

  • Fixed corner radius for vibrancy view in macOS 11. #28655 <span style="font-size:small;">(Also in 11, 12, 13)</span>

  • Fixed crash when an exception occurs within the event emitter. #28971 <span style="font-size:small;">(Also in 13)</span>

  • Fixed crash when calling getBackgroundColor on a transparent window with no assigned background color. #28120 <span style="font-size:small;">(Also in 11, 12, 13)</span>

  • Fixed crash when clicking links with target=_blank from webview. #29949 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed crashes in debug builds caused by microtasks policy mismatch. #29809 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed crashes on latest gen Intel and Ryzen processors. #29688

  • Fixed crashes on macOS when Geolocation was used. #29914 <span style="font-size:small;">(Also in 13)</span>

  • Fixed failing to request file:// resources when web security is disabled. #28489 <span style="font-size:small;">(Also in 11, 12, 13)</span>

  • Fixed frameless window having wrong traffic lights position on macOS 11. #30269 <span style="font-size:small;">(Also in 13, 15)</span>

  • Fixed hover state not clear bug when BrowserWindow is not resizable. #29801 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed incorrect value of document.focus when opening multiple windows on macOS. #29204 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed intensive I/O from asar files causing ERR_FILE_NOT_FOUND after a while. #28137 <span style="font-size:small;">(Also in 11, 12, 13)</span>

  • Fixed issue where the update permission prompt would cause 100% CPU spin while the prompt was open. #29806 <span style="font-size:small;">(Also in 13)</span>

  • Fixed key window status on mac when opening panels or using custom window switchers. #30066 <span style="font-size:small;">(Also in 12)</span>

  • Fixed media key globalShortcuts on macOS. #30569 <span style="font-size:small;">(Also in 15)</span>

  • Fixed memory leak when creating notification on macOS. #30008 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed memory leak when requesting files in ASAR archive from renderer. #29536 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed missing 'fetch' event in service workers for requests using a registered protocol. #29440 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed native module compilation with AsyncCleanupHooks on windows. #28067 <span style="font-size:small;">(Also in 11, 12, 13)</span>

  • Fixed page title not being updated on child windows without navigation entries under nativeWindowOpen. #29959 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed permissions issue that was preventing the PDF viewer from displaying. #29210 <span style="font-size:small;">(Also in 13)</span>

  • Fixed potential corruption of piped response data when using interceptHttpProtocol/registerHttpProtocol. #29670 <span style="font-size:small;">(Also in 11, 12, 13)</span>

  • Fixed pressing Alt with mouse click results in toggling menu bar. #29452 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed pressing ESC not exiting fullscreen from webview. #30127 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed pressing Alt+Shift and Alt+Ctrl toggling menu bar on KDE. #29444 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed rare crash in UpdateDraggableRegions. #30559 <span style="font-size:small;">(Also in 13, 15)</span>

  • Fixed rare crash when initializing the internal PDF extension. #28432 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed redirects between locations in custom protocols. #30156

  • Fixed sending intermediate certificates with 'select-client-certificate' event callback. #29570 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed service worker not working with custom protocol. #28326 <span style="font-size:small;">(Also in 11, 12, 13)</span>

  • Fixed shifted character getting changed in menu accelerator. #29481 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed some console messages still being printed to logs when the LogJsConsoleMessages feature was disabled. #30355 <span style="font-size:small;">(Also in 15)</span>

  • Fixed stack overflow crash in v8 on windows 32-bit builds. #30242 <span style="font-size:small;">(Also in 12, 13, 15)</span>

  • Fixed systemPreferences.getSystemColor returning colors missing alpha values. #30087 <span style="font-size:small;">(Also in 13)</span>

  • Fixed the 'did-fail-load' event not being emitted when the 'certificate-error' handler allowed an error through. #29870

  • Fixed the <select> element dropdown not appearing on Windows or Linux. #29771

  • Fixed the color select eyedropper not working within DevTools. #29752 <span style="font-size:small;">(Also in 13)</span>

  • Fixed the handler set with setWindowOpenHandler not being invoked when a link was middle-clicked or shift-clicked. #28498 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed the possibility for incorrect visual artifacts when using vibrancy and making frameless windows fullscreen on macOS. #29084 <span style="font-size:small;">(Also in 13)</span>

  • Fixed the spelling of 'attachment' in 'Content-Disposition' header when using the webRequest module. #29673 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed the window-all-closed event being emitted while the last BrowserWindow was still in the process of being closed. #28867 <span style="font-size:small;">(Also in 11, 12, 13)</span>

  • Fixed titlebar showing under simple fullscreen mode. #30707 <span style="font-size:small;">(Also in 13, 15)</span>

  • Fixed tray.setTitle not respecting ANSI colors if a font type was specified. #30164 <span style="font-size:small;">(Also in 13)</span>

  • Fixed using custom v8 snapshots on Apple Silicon. #29338 <span style="font-size:small;">(Also in 12, 13)</span>

  • Fixed using navigator.setAppBadge and navigator.clearAppBadge from a service worker in Electron. #27950 <span style="font-size:small;">(Also in 12)</span>

  • Fixed using vibrancy with titleBarStyle together resulting in weird window shadow on macOS. #29114 <span style="font-size:small;">(Also in 13)</span>

  • No longer set backgroundColor in default-app when opening custom files / URLs. #28792 <span style="font-size:small;">(Also in 10, 11, 12, 13)</span>

  • Restored cross-platform noop implementation of app.setAppUserModelId. #28915 <span style="font-size:small;">(Also in 13)</span>

  • Support wasm-eval csp behind WebAssemblyCSP flag. #28535 <span style="font-size:small;">(Also in 11, 12, 13)</span>

  • Transparent windows cannot be maximized using the Windows system menu or by double clicking the title bar. #28207 <span style="font-size:small;">(Also in 12, 13)</span>

  • URLS passed to shell.openExternal on windows are now correctly URI encoded. This was already occurring on macOS and Linux. #28334 <span style="font-size:small;">(Also in 10, 11, 12, 13)</span>

Other Changes

End of Support for 11.x.y

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