Stack Upgrades
- Chromium 98.0.4758.74
- Node V16.13.0
- V8 v9.8
Breaking Changes
desktopCapturer.getSources
is now only available in the main process. #30720
Features
Additions
- Added WebHID support. #30213 (Also in 15, 16)
- Added
commandLine.removeSwitch
to allow apps to remove command line switches from Chromiums internal command line representation. #30933 (Also in 15, 16) - Added
textWidth
option todialog.showMessageBox()
/dialog.showMessageBoxSync()
. #30474 (Also in 15, 16) - Added
webContents.getMediaSourceId()
, can be used withgetUserMedia
to get a stream for aWebContents
. #31204 - Added missing info to in-app purchase’s
transaction
andproduct
structures. #32602 - Added new data parameter to
app.requestSingleInstanceLock()
. #30891 (Also in 16) - Added warning when
ipcRenderer.sendSync()
is called with no listeners for channel onipcMain
. #31344 (Also in 13, 14, 15, 16) - Began passing securityOrigin in details for permission request handlers for media requests in addition to permission check handlers. #31357 (Also in 13, 14, 15, 16)
- Support obsolete blowfish ciphers bf-{cbc,cfb,ecb} through the Node.js crypto API. #32439
Removed/Deprecated
- Deprecates
webContents.getPrinters()
and introduceswebContents.getPrintersAsync()
. #31023
Fixes
- Fixed
maxWidth
not working in BrowserWindow constructor options. #32637 - Fixed VoiceOver not reading typed words correctly in MAS builds. #32567
- Fixed a crash when starting VoiceOver on macOS. #32578
- Fixed a potential crash in v8 by using allocation type: kOld in v8 ScriptOrModule legacy lifetime. #32355
- Fixed an issue where calling screen capture on macOS does not properly release underlying OS capture mechanisms. #32464
- Fixed issue where not all serial devices were exposed to the handler specified by
session.setDevicePermissionHandler
. #32685 - Fixed an issue with transparent windows failing to fire the
maximize
andunmaximize
events on Windows. #32690 - Fixed draggable regions not updating unless a relayout occurs. #32638
Also in earlier versions….
- Allowed specifying x64 arch on Mac Rosetta via
npm_config_arch
. #32382 (Also in 15, 16) - Assertion failure happening in the
showSaveDialogSync()
code path has been fixed. (Fixes #31997). #32083 (Also in 14, 15, 16) - Bug fixed for registering protocol in windows which used to set invalid command if the execution path included space. #32329 (Also in 14, 15, 16)
- Changed WebHID to use
disable-hid-blocklist
flag to enable FIDO devices. #31626 (Also in 15, 16) - Enables support for
navigator.keyboard.lock()
. #31572 (Also in 16) - Fixed “Failed to serialize arguments” error when emitting ‘context-menu’ event for webview. #31259 (Also in 15, 16)
- Fixed Let’s Encrypt DST Root CA X3 certificate expiration. #31213 (Also in 12, 13, 14, 15, 16)
- Fixed
<webview>
background transparency regression. #31722 (Also in 16) - Fixed
BrowserView.setBackgroundColor()
not working correctly. #31746 (Also in 16) - Fixed
clipboard.writeBuffer()
,clipboard.readBuffer()
andclipboard.read()
‘s ability to manipulate platform-specific clipboard formats. #31116 (Also in 15, 16) - Fixed
window.open
not overriding parent’swebPreferences
. #32107 (Also in 15, 16) - Fixed a JavaScript exception from webContents if render frame was disposed in WebFrameMain, resets the value of
render_frame_disposed_
after updating render frame host. #31401 (Also in 14, 15, 16) - Fixed a crash caused by app.getLocaleCountryCode(). #32322 (Also in 15, 16)
- Fixed a crash that occurred when user attempted to download an edited PDF. #32539 (Also in 15, 16)
- Fixed a crash when a
BrowserWindow
is closed subsequent to itswebContents
being destroyed. #31620 (Also in 14, 15, 16) - Fixed a potential crash when importing media files or custom file types. #31884 (Also in 16)
- Fixed a potential crash when setting
nativeTheme.themeSource
on macOS. #31329 (Also in 14, 15, 16) - Fixed a potential issue when setting backgroundColor on
BrowserView
s. #31948 (Also in 14, 15, 16) - Fixed a tracing agent-related crash when initializing Node.js in service workers. #31459 (Also in 14, 15, 16)
- Fixed an issue that the
alert()
dialog title is corrupted. #32469 (Also in 14, 15, 16) - Fixed an issue where BrowserView dragging behavior was inconsistent with MacOS window dragging. #31114 (Also in 13, 14, 15, 16)
- Fixed an issue where BrowserView may sometimes crash on
browserView.webContents.destroy()
. #31796 (Also in 15, 16) - Fixed an issue where
BrowserView
s crashed ifview.webContents.destroy()
is called after loading a URL. #31794 (Also in 14, 15, 16) - Fixed an issue where
Content-Disposition
filenames would be incorrectly truncated at the first comma for a filename attachment which contained one. #31669 (Also in 13, 14, 15, 16) - Fixed an issue where
MediaMetadata
did not work properly. #31492 (Also in 13, 14, 15, 16) - Fixed an issue where
app.getPath('crashDumps')
returned an incorrect path for Linux. #31668 (Also in 15, 16) - Fixed an issue where
clipboard.read()
could cause crashes with custom clipboard formats. #31566 (Also in 15, 16) - Fixed an issue where
ipcRenderer.postMessage
would throw errors when thetransfer
argument was not passed. #32459 (Also in 14, 15, 16) - Fixed an issue where button labels in file choosers were improperly localized on Linux. #30888 (Also in 14, 15, 16)
- Fixed an issue where changes to draggable regions in a
BrowserWindow
incorrectly affected those in an attachedBrowserView
. #31085 (Also in 13, 14, 15, 16) - Fixed an issue where frameless vibrant windows would not show transparency correctly on macOS. #32649 (Also in 16)
- Fixed an issue where if
backgroundColor
was set toundefined
, vibrancy failed to work and thebackgroundColor
would show up as white. #32653 (Also in 16) - Fixed an issue where out-of-focus BrowserViews could not be immediately dragged. #31062 (Also in 13, 14, 15, 16)
- Fixed an issue where playing media would open Accessibility permissions dialog on macOS. #31805 (Also in 15, 16)
- Fixed an issue where some calls to
crypto.createPrivateKey
made with algorithms unsupported by BoringSSL cause a crash when invoking methods on their return values. #31087 (Also in 15, 16) - Fixed an issue where the ‘maximize’ and ‘unmaximize’ events didn’t fire properly on linux. #32492 (Also in 14, 15, 16)
- Fixed an issue where transparency was not always set correctly on webContents. #31685 (Also in 16)
- Fixed an issue where windows with vibrancy types set on them would incorrectly have a white instead of transparent background. #31493 (Also in 16)
- Fixed an issue which caused print settings to not work properly when printing silently. #31489 (Also in 13, 14, 15, 16)
- Fixed an potential crash in
WebContents::MessageTo
when a render frame has been destroyed. #31289 (Also in 13, 14, 15, 16) - Fixed aspect ratio resize for frameless windows on macOS. #32447 (Also in 15, 16)
- Fixed behaviour on posix when passing lists into
app.requestSingleInstanceLock(additionalData)
API. #31661 (Also in 16) - Fixed black border around the page after resizing is disabled. #31021 (Also in 13, 14, 15, 16)
- Fixed black window when screen capturing a content-protected BrowserWindow on Windows 10. #31340 (Also in 13, 14, 15, 16)
- Fixed clipboard.read to once again work like clipboard.readBuffer. #31623 (Also in 15, 16)
- Fixed console windows from ELECTRON_RUN_AS_NODE instances. #31972 (Also in 16)
- Fixed crash caused by
GetHostNameW
on Windows 7. #31804 (Also in 16) - Fixed crash caused by double free when destroying WebContents. #31104 (Also in 14, 15, 16)
- Fixed crash in GTK open dialog when trying to preview huge image files. #31799 (Also in 14, 15, 16)
- Fixed crash in v8 due to
(Check failed: !regexp_stack_->is_in_use())
. #31102 (Also in 13, 14, 15, 16) - Fixed crash when calling
webContents.setZoomFactor(1.0)
. #32621 (Also in 13, 14, 15, 16) - Fixed crash when changing zoom level for webview. #31350 (Also in 14, 15, 16)
- Fixed crash when playing media files on Windows 7/8 or macOS 10.11/10.12. #32214 (Also in 13, 14, 15, 16)
- Fixed crash when using singleton api with packaged apps on macOS. #31608 (Also in 16)
- Fixed crash when using sync dialog APIs immediately after async dialog APIs. #31606 (Also in 15, 16)
- Fixed default label text in GTK dialogs. #31798 (Also in 14, 15, 16)
- Fixed default setting used when setting an insecure cookie on a secure site. #31800 (Also in 16)
- Fixed event with invalid timestamp in trace log. #31349 (Also in 14, 15, 16)
- Fixed incorrect
skipTransformProcessType
option parsing inwin.setVisibleOnAllWorkspaces()
. #32398 (Also in 13, 14, 15, 16) - Fixed issue where non-resizable frameless windows aren’t draggable. #30925 (Also in 13, 14, 15, 16)
- Fixed minimized BrowserWindow being restored by BrowserWindow.unmaximize(). #32496 (Also in 14, 15, 16)
- Fixed possible ‘Object has been destroyed’ error when calling
window.open
with a frame name and usingsetWindowOpenHandler
. #31208 (Also in 14, 15, 16) - Fixed potential crash on Windows and Linux when using
desktopCapturer.getSources
. #32070 (Also in 16) - Fixed regression where console windows would open for execSync and some spawnSync calls for Windows users. #32378 (Also in 16)
- Fixed respecting aspect ratio when maximum size is set on BrowserWindow. #31958 (Also in 14, 15, 16)
- Fixed window frame glitch when calling
setContentProtection
. #31768 (Also in 14, 16) - Fixed windows with
roundedCorners: false
unable to be closed. #32612 (Also in 15, 16) - Generate valid config.gypi file in Node.js headers. #31404 (Also in 14, 15, 16)
- Having a secure CSP will no longer cause a CSP violation warning to appear in console. #30991 (Also in 16)
- Removes several Chromium private enterprise APIs from Mac Apple Store builds. #31482 (Also in 12, 13, 14, 15, 16)
- Strip symbols from crashpad_handler binary on Linux, reducing bundle size. #32549 (Also in 15, 16)
- The
<webview>
implementation was made more robust, it no longer breaks whenwill-attach-webview
handler modifies the internalparams.instanceId
. #32430 (Also in 16) ~/.config/{App Name}
will no longer be incorrectly deleted if it is a symlink on unix systems. #31777 (Also in 16)
Other Changes
- Changed Web Serial to use
ses.setDevicePermissionHandler
to allow developers more control over Web Serial permissioning. #31181 (Also in 15, 16)
Documentation
- Documentation changes
End of Support for 13.x.y
Electron 13.x.y has reached end-of-support. As per Electron’s new 8-week cadence, we are supporting the latest four versions of Electron until May 2022, with the release of Electron 19. After Electron 19 is released, we’ll return to supporting the latest three major versions, as well as the alpha, beta, and nightly releases.
E17 (Feb’22) | E18 (Mar’22) | E19 (May’22) |
---|---|---|
17.x.y | 18.x.y | 19.x.y |
16.x.y | 17.x.y | 18.x.y |
15.x.y | 16.x.y | 17.x.y |
14.x.y | 15.x.y | — |