Electron 36.0.0
Electron 36.0.0 est disponible ! It includes upgrades to Chromium 136, V8 13.6, and Node 22.14.0.
L’équipe Electron est heureuse d’annoncer la sortie d’Electron 36.0.0 ! Vous pouvez l'installer avec npm via npm install electron@latest
ou le télécharger sur notre site web de téléchargement de version. Vous obtiendrez plus de détails sur cette version en lisant ce qui suit.
If you have any feedback, please share it with us on Bluesky or Mastodon, or join our community Discord! Les bogues et les demandes de fonctionnalités peuvent être signalés dans l'[outil de suivi des problèmes] d’Electron (https://github.com/electron/electron/issues).
Changements notables
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,
});
Changements de la Stack
- 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)
Changements majeurs avec rupture de compatibilité
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
.
Fin du support pour 33.x.y
Electron 33.x.y a atteint la limite pour le support conformément à la politique d'assistance du projet. Nous encourageons les développeurs à mettre à jour vers une version plus récente d'Electron et de faire de même avec leurs applications.
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 |
Et maintenant ?
À court terme, vous pouvez compter sur l’équipe pour continuer a se concentrer sur le développement des principaux composants qui composent Electron, notamment Chromium, Node et V8.
You can find Electron's public timeline here.
More information about future changes can be found on the Planned Breaking Changes page.