Electron 36.0.0
Electron 36.0.0 wurde veröffentlicht! It includes upgrades to Chromium 136, V8 13.6, and Node 22.14.0.
Das Electron-Team freut sich, die Veröffentlichung von Electron 36.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.
If you have any feedback, please share it with us on Bluesky or Mastodon, or join our community Discord! Bugs und Feature-Anfragen können im Issue-Tracker von Electron gemeldet werden.
Bemerkenswerte Änderungen
Writing Tools Support
In Electron 36, you can enable macOS system-level features like Writing Tools (spelling and grammar), Autofill, and Services menu items in your context menus. To do so, pass a WebFrameMain instance into the frame
parameter for menu.popup()
.
import { BrowserWindow, Menu, WebFrameMain } from 'electron';
const currentWindow = BrowserWindow.getFocusedWindow();
const focusedFrame = currentWindow.webContents.focusedFrame;
const menu = Menu.buildFromTemplate([{ label: 'Copy', role: 'copy' }]);
menu.popup({
window: currentWindow,
frame: focusedFrame,
});
Stack-Änderungen
- Chromium
136.0.7103.48
- Node
22.14.0
- V8
13.6
Electron 36 upgrades Chromium from 134.0.6998.23
to 136.0.7103.48
, and V8 from 13.5
to 13.6
.
New Features and Improvements
- Added
BrowserWindow.isSnapped()
to indicate whether a given window has been arranged via Snap on Windows. #46226 - Added
WebContents.focusedFrame
to get the focused frame. - Fixed
WebContents.opener
to specify potentialnull
type. #45667 - Added
ffmpeg.dll
to delay load configuration. #46173 (Also in 34, 35) - Added
nativeTheme.shouldUseDarkColorsForSystemIntegratedUI
to distinguish system and app theme. #46598 (Also in 35) - Added
excludeUrls
towebRequest
filter and deprecated the use of empty arrays inurls
property. #44692 (Also in 35) - Added support for Autofill, Writing Tools and Services macOS level menu items in context menus via the new
frame
option inmenu.popup
. #46350 - Added support for
system-context-menu
on Linux. #46399 - Improved ASAR integrity checks on Windows. #46537
- Improved performance of
desktopCapturer.getSources
when not requesting thumbnails on macOS. #46251 (Also in 34, 35) - Removed 240 FPS limit when use shared texture OSR. #45669 (Also in 35)
Breaking Changes
Deprecated: NativeImage.getBitmap()
The NativeImage.getBitmap()
function is now deprecated and documented as an alias for NativeImage.toBitmap()
.
The two functions both return a newly-allocated copy of the bitmap and are functionally equivalent.
Deprecated: Extension methods and events on session
session.loadExtension
, session.removeExtension
, session.getExtension
,
session.getAllExtensions
, and the events extension-loaded
,
extension-unloaded
, and extension-ready
have all moved to the new
Extensions
object
accessible via the session.extensions
instance property.
Removed: quota
type syncable
in session.clearStorageData(options)
When calling session.clearStorageData(options)
, the options.quota
type
syncable
is no longer supported because it has been
removed
from upstream Chromium.
Deprecated: quota
property in session.clearStorageData(options)
When calling Session.clearStorageData(options)
, the options.quota
property is deprecated. Since the syncable
type was removed, there
is only type left -- 'temporary'
-- so specifying it is unnecessary.
Behavior Changed: GTK 4 is the default when running on GNOME
After an upstream change, GTK 4 is now the default when running on GNOME.
In rare cases, this may cause some applications or configurations to error with the following message:
Gtk-ERROR **: 11:30:38.382: GTK 2/3 symbols detected. Using GTK 2/3 and GTK 4 in the same process is not supported
Affected users can work around this by specifying the gtk-version
command-line flag:
$ electron --gtk-version=3 # or --gtk-version=2
The same can be done with the app.commandLine.appendSwitch
function.
Behavior Changed: app.commandLine
app.commandLine
will convert uppercases switches and arguments to lowercase.
app.commandLine
was only meant to handle Chromium switches (which aren't case-sensitive) and switches passed via app.commandLine
will not be passed down to any of the child processes.
If you were using app.commandLine
to parse app-specific command line arguments, you should do this via process.argv
.
Ende der Unterstützung für 33.x.y
Electron 33.x.y hat das Ende des Supports gemäß der Support-Richtlinie des Projekts erreicht. Developers and applications are encouraged to upgrade to a newer version of Electron.
E36 (Apr'25) | E37 (Jun'25) | E38 (Aug'25) |
---|---|---|
36.x.y | 37.x.y | 38.x.y |
35.x.y | 36.x.y | 37.x.y |
34.x.y | 35.x.y | 36.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.