electron v22.2.0
sudowoodo-release-bot
released this
01 Feb 19:22
·
120 commits
to 22-x-y
since this release
Release Notes for v22.0.0
Stack Upgrades
- Chromium 108.0.5359.62.
- Node v16.17.1.
- V8 v10.8
Breaking Changes
- Added WebContents
input-event
event.- Deprecated BrowserWindow
scroll-touch-*
events. #35531
- Deprecated BrowserWindow
- The deprecated
new-window
event has been removed. #34526
Features
- Added
LoadBrowserProcessSpecificV8Snapshot
as a new fuse that will let the main/browser process load its v8 snapshot from a file atbrowser_v8_context_snapshot.bin
. Any other process will use the same path as is used today. #35266 (Also in 20, 21) - Added
WebContents.opener
to access window opener. - Added
app.getSystemLocale()
method. #35697 (Also in 21) - Added
contextBridge.exposeInIsolatedWorld(worldId, key, api)
to expose an API to anisolatedWorld
within a renderer from a preload script. #34974 - Added
webContents.close()
method. #35509 - Added
webFrameMain.origin
. #35438 (Also in 19, 20, 21) - Added an
app.getPreferredSystemLanguages()
API to return the user's system languages. #36291 (Also in 21) - Added new UtilityProcess API to launch chromium child process with node integration. #36089
- Added new WebContents event
content-bounds-updated
. #35533 - Added new
WebContents.ipc
andWebFrameMain.ipc
APIs. #34959 (Also in 21) - Added support for Web Bluetooth pin pairing on Linux and Windows. #35416 (Also in 21)
- Added support for
navigator.mediaDevices.getDisplayMedia
via a new session handler,ses.setDisplayMediaRequestHandler
. #30702 - Added support for
serialPort.forget()
as well as a new eventserial-port-revoked
emitted when a given origin is revoked. #36062
Fixes
- Added support for Webauthn discoverable keys (aka resident keys), allowing users to authenticate without first having to select or type a username. #35374
- Enable crashpad for ELECTRON_RUN_AS_NODE processes on linux. #36483
- Fixed
click
event and tooltip ofTray
not working on Linux. #36472 - Fixed an issue where frameless non-resizable windows showed a Windows 7 frame during startup. #36024
- Fixed an issue with incomplete EventEmitter object in sandboxed renderer preload script. #35522
- Fixed race condition during update on macOS that could result in TCC and Keychain errors. #36362
- Removed unneeded --turbo-profiling-input argument from mksnapshot_args. #36463
Also in earlier versions...
- Added a background to the WCO container to avoid rendering glitches. #35569 (Also in 19, 20, 21)
- Added support for Windows drop-down dialog extensions. #35618 (Also in 18, 19, 20, 21)
- Default margin has been added in the code. #36073 (Also in 21)
- Enable WCO maximize button when window enters tablet mode and is not already maximized. #35617 (Also in 19, 20, 21)
- Fixed
uv_os_gethostname
failing on Windows 7. #35702 (Also in 19, 20, 21) - Fixed a bug where calling
atob
in the renderer process could fail under some circumstances. #35415 (Also in 19, 20, 21) - Fixed a crash that occured when loading non-standard schemes from iframes. #35485 (Also in 21)
- Fixed a crash when switching origins with emulation settings set. #35466 (Also in 21)
- Fixed a drag-and-drop issue on macOS where items would be incorrectly moved instead of copied in some contexts. #35976 (Also in 20, 21)
- Fixed a potential crash on WebWorker destruction. #35422 (Also in 19, 20, 21)
- Fixed a potential issue when calling
webContents.printToPDF()
. #36065 (Also in 21) - Fixed a potential memory leak. #35964 (Also in 21)
- Fixed an edge case in
app.isInApplicationsFolder()
which would return false incorrectly in some cases. #35636 (Also in 19, 20, 21) - Fixed an issue where DevTools could not be docked with Windows Control Overlay enabled. #35754 (Also in 19, 20, 21)
- Fixed an issue where WCO could occlude DevTools opened in any non-detached mode. #35209 (Also in 18, 19, 20, 21)
- Fixed an issue where
screen.getCursorScreenPoint()
crashed on Wayland when it was called before aBrowserWindow
had been created. #35503 (Also in 21) - Fixed an issue where
serialPort.open()
failed withNetworkError: Failed to open serial port.
. #35306 (Also in 21) - Fixed an issue where app.relaunch loses args when execPath is specified. #35108 (Also in 19, 20, 21)
- Fixed an issue where calling
app.dock.setIcon(/path/t/icon)
would crash when called before theready
event onapp
. #36293 (Also in 20, 21) - Fixed an issue where frameless resizable windows showed Window 7 style frames while opening. #35189 (Also in 18, 19, 20, 21)
- Fixed an issue where frameless windows with
roundedCorners: false
couldn't enter fullscreen without crashing. #35421 (Also in 19, 20, 21) - Fixed an issue where part of the BrowserView could be cut off when calling
setBounds
on some windows. #34713 (Also in 19, 20, 21) - Fixed an issue where some options were incorrectly ignored when using
webContents.printToPDF()
. #35993 (Also in 21) - Fixed crash in renderer when resuming system from sleep. #35322 (Also in 18, 19, 20, 21)
- Fixed enable promise support with webFrameMain.executeJavaScript. #35292 (Also in 20, 21)
- Fixed issue with history.back() in sandboxed iframes affecting parent browsing context. #35420 (Also in 19, 20, 21)
- Fixed on-screen-keyboard not hiding on input rendered in webview is blurred. #35983 (Also in 20, 21)
- Fixed session.getBlobData never resolves with blob sizes > 65536. #35277 (Also in 19, 20, 21)
- Fixed spurious promise rejection in
webContents.loadURL
when navigating to a hash. #36151 (Also in 20, 21) - Fixed undefined details.requestingUrl from session.setPermissionCheckHandler. #35281 (Also in 20, 21)
- Fixed v8 flags and desktop name in package.json does not hornored when running local app using electron cli. #36049 (Also in 20, 21)
- Fixed: If a custom Electron build contains an electron.d.ts file, it is now being used. #33979 (Also in 20, 21)
- Picture-In-Picture mode no longer becomes a red rectangle on hover. #35034 (Also in 19, 20, 21)
- Provided display_id for desktopCapturer on Linux. #33861 (Also in 19, 20, 21)
- Removed support for
nodeIntegrationInWorker
in Service Workers and Shared Workers owing to sandboxing policies. #36010 (Also in 21) - Usage of
safeStorage
now consistently uses the correct service name on macOS regardless of timing with browser window construction. #34683 (Also in 19, 20) - You can now import the built-in electron module via ESModule loaders, i.e.
import('electron')
andimport 'electron'
now work natively. #35957 (Also in 20, 21) - Fixed a typo in the section on debugging with VSCode. #35256 (Also in 19, 20, 21)
Other Changes
- Backported fix for chromium:1352405. #36458
- Bumps the minimum required version of Node.js needed to install Electron to 12.20.55. #35301
- Enabled out-of-process iframe printing to PDF with
webContents.printToPDF().
. #36095 - Fixed
win.getBrowserViews()
not being updated when a BrowserView was moved to a different window. #35511 - Fixed an issue where some spellcheck functionality would incorrectly throw errors on macOS. #35514 (Also in 21)
- Modified the WCO maximized button style to match Windows 11 more closely. #35370 (Also in 20, 21)
- Updated
common.gypi
for native modules to support C++17 features in V8. #36369 (Also in 20, 21)
Documentation
Notices
Sunsetting Windows 7/8/8.1
Electron will be ending support for Windows 7/8/8.1 after version 22.x.y following Chromium's plan to end support. Older versions of Electron will continue to work, but no further updates will be made for these operating systems.
End of Support for 19.x.y
Electron 19.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.