Electron 12.0.0
Electron 12.0.0 wurde veröffentlicht! Es enthält Upgrades auf Chromium 89
, V8 8.9
und Node.js 14.16
. Wir haben Änderungen am Remote-Modul, neue Standardwerte für contextIsolation, eine neue WebFrameMain API und allgemeine Verbesserungen hinzugefügt. Lesen Sie unten für weitere Details!
Das Electron-Team freut sich über die Veröffentlichung von Electron 12.0.0! Sie können es mit npm über npm install electron@latest
installieren oder von unserer Release-Website herunterladen. Lesen Sie weiter für Details zu dieser Version und teilen Sie bitte Ihr Feedback!
Bemerkenswerte Änderungen
Stack-Änderungen
- Chromium
89
- Node.js
14.16
- V8
8.9
Hervorgehobene Features
- The ContextBridge
exposeInMainWorld
method can now expose non-object APIs. #26834 - Upgraded from Node 12 to Node 14. #23249
- Added a new
webFrameMain
API for accessing sub-frames of aWebContents
instance from the main process. #25464 - The default values of
contextIsolation
andworldSafeExecuteJavaScript
are nowtrue
. #27949 #27502
Eine vollständige Liste der neuen Funktionen und Änderungen finden Sie in den 12.0.0 Versionshinweise.
Breaking Changes
- Das Modul
remote
wurde veraltet. Es wird durch@electron/remote
ersetzt. #25293- Wenn Sie derzeit das
remote
Modul verwenden, haben wir hier eine Anleitung zur Migration auf@electron/remote
geschrieben.
- Wenn Sie derzeit das
- Standardwert von
contextIsolation
auftrue
geändert. #27949 - Standardwert von
worldSafeExecuteJavaScript
auftrue
geändert. #27502 - Standard von
crashReporter.start({ compress })
vonfalse
auftrue
geändert. #25288 - Flash-Unterstützung entfernt: Chromium hat die Unterstützung für Flash, die auch in Electron 12 entfernt wurde, entfernt. Siehe Chromiums Flash-Roadmap für weitere Details.
- Benötigte SSE3 für Chrome auf x86: Chromium hat die Unterstützung für ältere x86 CPUs entfernt, die nicht mindestens SSE3 (Streaming SIMD Extensions 3) Unterstützung erfüllen. Diese Unterstützung wurde auch in Electron 12 entfernt.
Weitere Informationen zu diesen und zukünftigen Änderungen finden Sie auf der geplante Änderungen Seite.
API-Änderungen
- Added
webFrameMain
API: ThewebFrameMain
module can be used to look up frames across existingWebContents
instances. This is the main process equivalent of the existing webFrame API. More information about this new API can be found here, and in our documentation. app
API-Änderungen:BrowserWindow
API-Änderungen:- Added
BrowserWindow.isTabletMode()
API. #25209 - Added
resized
(Windows/macOS) andmoved
(Windows) events toBrowserWindow
. #26216 - Added new
system-context-menu
event to allow preventing and overriding the system context menu. #25795 - Added
win.setTopBrowserView()
so thatBrowserView
s can be raised. #27713 - Added
webPreferences.preferredSizeMode
to allow sizing views according to their document's minimum size. #25874
- Added
contextBridge
API changes:- Allowed ContextBridge
exposeInMainWorld
method to expose non-object APIs. #26834
- Allowed ContextBridge
display
API changes:- Added
displayFrequency
property to theDisplay
object to allow getting information about the refresh rate on Windows. #26472
- Added
extensions
API changes:- Added support for some
chrome.management
APIs. #25098
- Added support for some
MenuItem
API changes:- Added support for showing macOS share menu. #25629
net
API changes:powerMonitor
API changes:session
API-Änderungen:allowFileAccess
Option zurses.loadExtension()
API hinzugefügt. #27702display-capture
API fürsession.setPermissionRequestHandler
hinzugefügt. #27696disabledCipherSuites
Option zusession.setSSLConfig
hinzugefügt. #25818- Added
extension-loaded
,extension-unloaded
, andextension-ready
events tosession
. #25385 session.setSSLConfig()
hinzugefügt, um SSL zu konfigurieren. #25461- Added support for explicitly specifying
direct
,auto_detect
orsystem
modes insession.setProxy()
. #24937 - Serial API Unterstützung hinzugefügt. #25237
- APIs zum Aktivieren/Deaktivieren der Rechtschreibprüfung hinzugefügt. #26276
shell
API-Änderungen:- Eine neue asynchrone
shell.trashItem()
API wurde hinzugefügt und ersetzt die synchroneshell.moveItemToTrash()
. #25114
- Eine neue asynchrone
webContents
API-Änderungen:- Added a small console hint to console to help debug renderer crashes. #25317
- Added
frame
andwebContents
properties to the details object in webRequest handlers. #27334 - Added
webContents.forcefullyCrashRenderer()
to forcefully terminate a renderer process to assist with recovering a hung renderer. #25580 - Added
setWindowOpenHandler
API for renderer-created child windows, and deprecatenew-window
event. #24517
webFrame
API-Änderungen:- Rechtschreibprüfungs API zum Renderer hinzugefügt. #25060
Entfernte/Veraltete Änderungen
Die folgenden APIs wurden entfernt oder sind jetzt veraltet:
- Das Modul
remote
wurde veraltet. Es wird durch@electron/remote
ersetzt. #25293 - Veraltete
crashReporter
APIs entfernt. #26709 - Links zur Electron-Website wurden aus dem Standard-"Hilfe"-Menü in gepackten Apps entfernt. #25831
Ende der Unterstützung für 9.x.y
Electron 9.x.y hat das Ende der Unterstützung gemäß der Unterstützungsrichtlinien des Projekts erreicht. Developers and applications are encouraged to upgrade to a newer version of Electron.
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. Although we are careful not to make promises about release dates, our plan is release new major versions of Electron with new versions of those components approximately quarterly. Der vorläufige 13.0.0 Zeitplan legt Schlüsseldaten im Entwicklungslebenszyklus von Electron 13.0 fest. Also, see our versioning document for more detailed information about versioning in Electron.
For information on planned breaking changes in upcoming versions of Electron, see our Planned Breaking Changes doc.