Electron 24.0.0
Electron 24.0.0 has been released! It includes upgrades to Chromium 112.0.5615.49
, V8 11.2
, and Node.js 18.14.0
. Read below for more details!
The Electron team is excited to announce the release of Electron 24.0.0! You can install it with npm via npm install electron@latest
or download it from our releases website. Continue reading for details about this release.
If you have any feedback, please share it with us on Twitter, or join our community Discord! Bugs and feature requests can be reported in Electron's issue tracker.
Notable Changes
Stack Changes
- Chromium
112.0.5615.49
- Node.js
18.14.0
- V8
11.2
Breaking Changes
API Changed: nativeImage.createThumbnailFromPath(path, size)
The maxSize
parameter has been changed to size
to reflect that the size passed in will be the size the thumbnail created. Previously, Windows would not scale the image up if it were smaller than maxSize
, and macOS would always set the size to maxSize
. Behavior is now the same across platforms.
// a 128x128 image.
const imagePath = path.join('path', 'to', 'capybara.png');
// Scaling up a smaller image.
const upSize = { width: 256, height: 256 };
nativeImage.createThumbnailFromPath(imagePath, upSize).then((result) => {
console.log(result.getSize()); // { width: 256, height: 256 }
});
// Scaling down a larger image.
const downSize = { width: 64, height: 64 };
nativeImage.createThumbnailFromPath(imagePath, downSize).then((result) => {
console.log(result.getSize()); // { width: 64, height: 64 }
});
New Features
- Added the ability to filter
HttpOnly
cookies withcookies.get()
. #37365 - Added
logUsage
toshell.openExternal()
options, which allows passing theSEE_MASK_FLAG_LOG_USAGE
flag toShellExecuteEx
on Windows. TheSEE_MASK_FLAG_LOG_USAGE
flag indicates a user initiated launch that enables tracking of frequently used programs and other behaviors. #37291 - Added
types
to thewebRequest
filter, adding the ability to filter the requests you listen to.#37427 - Added a new
devtools-open-url
event towebContents
to allow developers to open new windows with them. #36774 - Added several standard page size options to
webContents.print()
. #37265 - Added the
enableLocalEcho
flag to the session handlerses.setDisplayMediaRequestHandler()
callback for allowing remote audio input to be echoed in the local output stream whenaudio
is aWebFrameMain
. #37528 - Allow an application-specific username to be passed to
inAppPurchase.purchaseProduct()
. #35902 - Exposed
window.invalidateShadow()
to clear residual visual artifacts on macOS. #32452 - Whole-program optimization is now enabled by default in electron node headers config file, allowing the compiler to perform opimizations with information from all modules in a program as opposed to a per-module (compiland) basis. #36937
SystemPreferences::CanPromptTouchID
(macOS) now supports Apple Watch. #36935
End of Support for 21.x.y
Electron 21.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.
As noted in Farewell, Windows 7/8/8.1, Electron 22's (Chromium 108) planned end of life date will be extended from May 30, 2023 to October 10, 2023. The Electron team will continue to backport any security fixes that are part of this program to Electron 22 until October 10, 2023.
E24 (Apr'23) | E25 (May'23) | E26 (Aug'23) |
---|---|---|
24.x.y | 25.x.y | 26.x.y |
23.x.y | 24.x.y | 25.x.y |
22.x.y | 23.x.y | 24.x.y |
-- | 22.x.y | 22.x.y |
What's Next
In the short term, you can expect the team to continue to focus on keeping up with the development of the major components that make up Electron, including Chromium, Node, and V8.
You can find Electron's public timeline here.
More information about future changes can be found on the Planned Breaking Changes page.