Release Notes for v23.0.0
Stack Upgrades
- Chromium 110.0.5481.77.
- Node v18.12.1.
- V8 v11.0
Breaking Changes
- Windows 7, Windows 8, and Windows 8.1 are not supported anymore, as Chromium 110 dropped support. #36513
Features
- Added
label
property toDisplay
objects. #36933 (Also in 21, 22) - Added an
app.getPreferredSystemLanguages()
API to return the user's system languages. #36035 (Also in 21, 22) - Added new UtilityProcess API to launch chromium child process with node integration. #34980 (Also in 22)
- Added support for WebUSB. #36289
- Added support for
serialPort.forget()
as well as a new eventserial-port-revoked
emitted when a given origin is revoked. #35310 (Also in 22) - Adds new
setHiddenInMissionControl
API to allow developers to opt out of mission control on macOS. #36092 (Also in 22)
Fixes
- Basic accessibility support is now enabled when macOS Voice Control is activated to allow for full voice control of Electron applications. #37145
- Fixed a printing crash caused by an uninitialized pref. #37149
- Default margin has been added in the code. #36060 (Also in 21, 22)
- Doing
require('electron/*')
where*
is not one ofmain
,common
orrenderer
no longer resolves with the built-inelectron
module. #35915 - Enable crashpad for ELECTRON_RUN_AS_NODE processes. #36460 (Also in 22)
- Fixed
click
event and tooltip ofTray
not working on Linux. #36333 (Also in 22) - Fixed a crash that could occur when running eval in inline scripts in unsandboxed renderer processes. #36667 (Also in 22)
- Fixed a drag-and-drop issue on macOS where items would be incorrectly moved instead of copied in some contexts. #35963 (Also in 20, 21, 22)
- Fixed a potential issue when calling
webContents.printToPDF()
. #36046 (Also in 21, 22) - Fixed a potential memory leak. #35932 (Also in 21, 22)
- Fixed an RTL issue that could happen in some locales when calling
BrowserWindow.setTrafficLightPosition()
on macOS. #36850 (Also in 21, 22) - Fixed an error when fs.readdir gets null for options. #36848 (Also in 21, 22)
- Fixed an issue on macOS when trying to switch processes with
Cmd+Tab
after exiting Kiosk Mode. #36917 (Also in 21, 22) - Fixed an issue where
<datalist>
elements were improperly positioned within the page. #36959 - Fixed an issue where
webView
s could have an incorrect initial background color following reloads. #36938 (Also in 21, 22) - Fixed an issue where calling
app.dock.setIcon(/path/t/icon)
would crash when called before theready
event onapp
. #36279 (Also in 20, 21, 22) - Fixed an issue where frameless non-resizable windows showed a Windows 7 frame during startup. #35365 (Also in 22)
- Fixed an issue where some options were incorrectly ignored when using
webContents.printToPDF()
. #35975 (Also in 21, 22) - Fixed an issue where the
setPermissionRequestHandler
callback would be invoked twice when usingnavigator.getUserMedia(...)
. #36874 (Also in 22) - Fixed an issue with incorrect focus ring highlighting when using
dialog.showMessageBox()
. #36803 (Also in 21, 22) - Fixed binary stripping for branded release builds on Linux. #36656 (Also in 21, 22)
- Fixed missing headers in libcxx_headers bundle. #36864
- Fixed on-screen-keyboard not hiding on input rendered in webview is blurred. #35921 (Also in 20, 21, 22)
- Fixed race condition during update on macOS that could result in TCC and Keychain errors. #36130 (Also in 22)
- Fixed spurious promise rejection in
webContents.loadURL
when navigating to a hash. #36129 (Also in 20, 21, 22) - Fixed v8 flags and desktop name in package.json does not hornored when running local app using electron cli. #35997 (Also in 20, 21, 22)
- Fixed warning about duplicate
WebSwapCGLLayer
symbols when Electron starts on macOS. #36799 (Also in 21, 22) - Removed plugin helper checks on macOS gated behind enable_plugins buildflag. #36977 (Also in 22)
- Removed support for
nodeIntegrationInWorker
in Service Workers and Shared Workers owing to sandboxing policies. #35919 (Also in 21, 22) - Removed unneeded
--turbo-profiling-input
argument from mksnapshot_args. #36378 (Also in 22) - The keychain account name for MAS and Darwin builds of the same Electron application now differ. #35864
- Use the process cache to reduce the memory for asar file. #36665 (Also in 21, 22)
- You can now import the built-in electron module via ESModule loaders, i.e.
import('electron')
andimport 'electron'
now work natively. #35930 (Also in 20, 21, 22)
Other Changes
- The deprecated
incrementCapturerCount()
/decrementCapturerCount()
methods have been removed. #37148 - Updated Chromium to 110.0.5481.77. #37120
- Added node-api: handle no support for external buffers. #36623
- Enabled out-of-process iframe printing to PDF with
webContents.printToPDF().
. #36051 (Also in 22) - Removed unneeded --turbo-profiling-input argument from mksnapshot_args for Linux mksnapshot zips. #36534 (Also in 22)
- Updated Chromium to 110.0.5481.38. #36955
- Updated Node.js to v18.12.1. #36356
- Upgraded Node.js to v18.10.0. #35999
Documentation
- Documentation changes: #35894
Notices
Sunsetting Windows 7/8/8.1
Electron has ended support for Windows 7/8/8.1 in version 23.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 20.x.y
Electron 20.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.