Electron 36.0.0
Electron 36.0.0 est disponible ! Il comprend des mises à jour vers Chromium 136, V8 13.6 et Node.js 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
Support des outils d'écriture
Dans Electron 36, vous pouvez activer les fonctionnalités du système macOS telles que les outils d'écriture (orthographe et grammaire), le remplissage automatique et les éléments de menu Services dans vos menus contextuels. Pour ce faire, passez une instance WebFrameMain dans le paramètre frame
de 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 met à jour Chromium de 134.0.6998.23
à 136.0.7103.48
et V8 de 13.5
à 13.6.
Nouvelles fonctionnalités et améliorations
- Ajout de "BrowserWindow.isSnapped()" pour indiquer si une fenêtre donnée a été disposée par Snap sur Windows. #46226
- Ajout de
WebContents.focusedFrame
pour obtenir la frame ciblée. - Correction de
WebContents.opener
pour spécifier le type potentielnull
. #45667 - Ajout de
ffmpeg.dll
pour retarder la configuration de chargement. #46173 (Également en 34, 35) - Ajout de
nativeTheme.shouldUseDarkColorsForSystemIntegratedUI
pour distinguer le thème du système et de l'application. #46598 (Également en 35) - Ajout de
excludeUrls
au filtrewebRequest
et dépréciation de l'utilisation de tableaux vides dans la propriétéurls
. #44692 (Également en 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 using shared texture OSR. #45669 (Also in 35)
Changements majeurs avec rupture de compatibilité
Obsolète : 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.
Obsolète: Méthodes d'extension et événements sur session
session.loadExtension’, ‘session.removeExtension’, ‘session.getExtension’, ‘session.getAllExtensions’, et les événements
extension-loaded’,
extension-déchargée’, et
extension-ready’' ont tous déménagé dans le nouveau
Extensions
object
accessible par l’intermédiaire de la propriété d'instance session.extensions
.
Supprimé: quota
type syncable
dans 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.
Comportement modifié : GTK 4 est la valeur par défaut lors de l'exécution sur 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.
Changements de comportement : 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.