Electron 33.0.0
Electron 33.0.0 wurde veröffentlicht! It includes upgrades to Chromium 130.0.6723.44, V8 13.0, and Node 20.18.0.
Das Electron-Team freut sich, die Veröffentlichung von Electron 33.0.0 ankündigen zu können! Sie können es mit npm über npm electron@latest
installieren oder von unserer Releases-Website herunterladen. Lesen Sie weiter für Details zu dieser Version.
Wenn Sie Feedback haben, teilen Sie es uns bitte auf Twitter oder Mastodon mit oder treten Sie unserem Community-Discord bei! Bugs und Feature-Anfragen können im Issue-Tracker von Electron gemeldet werden.
Bemerkenswerte Änderungen
Highlights
- Added a handler,
app.setClientCertRequestPasswordHandler(handler)
, to help unlock cryptographic devices when a PIN is needed. #41205 - Extended
navigationHistory
API with 2 new functions for better history management. #42014 - Improved native theme transparency checking. #42862
Stack-Änderungen
- Chromium
130.0.6723.44
- Node
20.18.0
- V8
13.0
Electron 33 upgrades Chromium from 128.0.6613.36
to 130.0.6723.44
, Node from 20.16.0
to 20.18.0
, and V8 from 12.8
to 13.0
.
Neue Funktionen
- Added a handler,
app.setClientCertRequestPasswordHandler(handler)
, to help unlock cryptographic devices when a PIN is needed. #41205 - Added error event in utility process to support diagnostic reports on V8 fatal errors. #43997
- Added
View.setBorderRadius(radius)
for customizing the border radius of views—with compatibility forWebContentsView
. #42320 - Extended
navigationHistory
API with 2 new functions for better history management. #42014
Breaking Changes
Removed: macOS 10.15 support
macOS 10.15 (Catalina) is no longer supported by Chromium.
Older versions of Electron will continue to run on Catalina, but macOS 11 (Big Sur) or later will be required to run Electron v33.0.0 and higher.
Behavior Changed: Native modules now require C++20
Due to changes made upstream, both V8 and Node.js now require C++20 as a minimum version. Developers using native node modules should build their modiles with --std=c++20
rather than --std=c++17
. Images using gcc9 or lower may need to update to gcc10 in order to compile. See #43555 for more details.
Behavior Changed: custom protocol URL handling on Windows
Due to changes made in Chromium to support Non-Special Scheme URLs, custom protocol URLs that use Windows file paths will no longer work correctly with the deprecated protocol.registerFileProtocol
and the baseURLForDataURL
property on BrowserWindow.loadURL
, WebContents.loadURL
, and <webview>.loadURL
. protocol.handle
will also not work with these types of URLs but this is not a change since it has always worked that way.
// No longer works
protocol.registerFileProtocol('other', () => {
callback({ filePath: '/path/to/my/file' });
});
const mainWindow = new BrowserWindow();
mainWindow.loadURL(
'data:text/html,<script src="loaded-from-dataurl.js"></script>',
{ baseURLForDataURL: 'other://C:\\myapp' }
);
mainWindow.loadURL('other://C:\\myapp\\index.html');
// Replace with
const path = require('node:path');
const nodeUrl = require('node:url');
protocol.handle(other, (req) => {
const srcPath = 'C:\\myapp\\';
const reqURL = new URL(req.url);
return net.fetch(
nodeUrl.pathToFileURL(path.join(srcPath, reqURL.pathname)).toString()
);
});
mainWindow.loadURL(
'data:text/html,<script src="loaded-from-dataurl.js"></script>',
{ baseURLForDataURL: 'other://' }
);
mainWindow.loadURL('other://index.html');
Behavior Changed: webContents
property on login
on app
The webContents
property in the login
event from app
will be null
when the event is triggered for requests from the utility process
created with respondToAuthRequestsFromMainProcess
option.
Deprecated: textured
option in BrowserWindowConstructorOption.type
The textured
option of type
in BrowserWindowConstructorOptions
has been deprecated with no replacement. This option relied on the NSWindowStyleMaskTexturedBackground
style mask on macOS, which has been deprecated with no alternative.
Deprecated: systemPreferences.accessibilityDisplayShouldReduceTransparency
The systemPreferences.accessibilityDisplayShouldReduceTransparency
property is now deprecated in favor of the new nativeTheme.prefersReducedTransparency
, which provides identical information and works cross-platform.
// Deprecated
const shouldReduceTransparency =
systemPreferences.accessibilityDisplayShouldReduceTransparency;
// Replace with:
const prefersReducedTransparency = nativeTheme.prefersReducedTransparency;
End of Support for 30.x.y
Electron 30.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.
E33 (Oct'24) | E34 (Jan'25) | E35 (Apr'25) |
---|---|---|
33.x.y | 34.x.y | 35.x.y |
32.x.y | 33.x.y | 34.x.y |
31.x.y | 32.x.y | 33.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.
Sie können die öffentliche Zeitleiste von Electron hier finden.
Weitere Informationen über zukünftige Änderungen können auf der Geplante Breaking Changes Seite gefunden werden.