Firefox 129 Versionshinweise für Entwickler
Dieser Artikel bietet Informationen zu den Änderungen in Firefox 129, die Entwickler betreffen. Firefox 129 wurde am 6. August 2024 veröffentlicht.
Änderungen für Webentwickler
>CSS
- Die CSS-At-Regel @starting-style wird unterstützt. Damit können Sie Startwerte für Eigenschaften definieren, die an einem Element gesetzt sind, von denen aus Sie eine Übergangsanimation beginnen möchten, wenn das Element sein erstes Style-Update erhält. Momentan wird das Animieren von
display: none;nicht unterstützt (Firefox-Bug 1834876 und Firefox-Bug 1834877). - Die
transition-behaviorCSS-Eigenschaft wird unterstützt. Damit können Sie angeben, ob diskrete Eigenschaften wiedisplayundoverlaydurch Übergänge mit dem Wertallow-discreteanimiert werden können. (Firefox-Bug 1901645). -webkit-font-feature-settingswurde als Alias der Standard-Eigenschaftfont-feature-settingsimplementiert (Firefox-Bug 1595620).
JavaScript
Float16Arraytypisierte Arrays werden jetzt unterstützt, zusammen mitDataView.prototype.getFloat16()undDataView.prototype.setFloat16()zum Lesen und Setzen vonFloat16Array-Werten aus einemDataViewund der statischen MethodeMath.f16round(), die verwendet werden kann, um Zahlen auf 16 Bit zu runden. Der neue Typ ist nützlich, um Daten mit einer GPU zu teilen, insbesondere für Anwendungsfälle, bei denen es sinnvoll ist, Präzision gegen Speicherverbrauch abzuwägen. (Firefox-Bug 1903329.)- Reguläre Ausdrücke können jetzt denselben Namen für benannte Erfassungsgruppen in verschiedenen Verknüpfungsalternativen verwenden. Dies ist erlaubt, da nur eine Alternative in einer Verknüpfung übereinstimmen wird, sodass ein Name, der in mehreren Alternativen deklariert ist, nur auf eine erfasste Gruppe verweisen kann. Die Namen müssen innerhalb einer bestimmten Alternative und im gesamten restlichen Muster dennoch eindeutig sein. (Firefox-Bug 1903288.)
HTTP
- HTTPS-DNS-Einträge können jetzt mithilfe des DNS-Resolvers des Betriebssystems auf Windows 11, Linux und Android 10+ aufgelöst werden. Dies stellt sicher, dass DNS über HTTPS (DoH) verwendet wird, wenn ein Benutzer es auf dem Gerät aktiviert hat, auch wenn es nicht im Browser aktiviert ist. Diese Funktion ermöglicht die Verwendung von HTTP/3 ohne die Notwendigkeit, den
Alt-Svc-Header zu verwenden und ermöglicht die automatische Aktualisierung von HTTP-Anfragen auf HTTPS, wenn der HTTPS-DNS-Eintrag vorhanden ist. Am wichtigsten ist, dass es jetzt die Verwendung der Datenschutzfunktion Encrypted Client Hello (ECH) ermöglicht, auch wenn DoH nur auf dem Gerät und nicht im Browser aktiviert ist. (Firefox-Bug 1906239).
APIs
- Das veraltete
textInput-Ereignis wird jetzt unterstützt, was es Webanwendungen ermöglicht, die auf veraltete Bibliotheken oder Frameworks setzen, die auf diese Ereignisse angewiesen sind. Dasbeforeinput-Ereignis ersetzttextInputund sollte immer von neuen Anwendungen verwendet werden. (Firefox-Bug 1901923.) - Die Standard-
.toJSON()-MethodenGeolocationCoordinates.toJSON()undGeolocationPosition.toJSON()werden jetzt unterstützt, was die Serialisierung vonGeolocationCoordinates- undGeolocationPosition-Objekten mitJSON.stringify()ermöglicht (Firefox-Bug 1890706). CSSPageDescriptorswird jetzt unterstützt und wird als Typ fürCSSPageRule.styleanstelle vonCSSStyleDeclarationverwendet — entsprechend der aktuellen Spezifikation. Dies stellt sicher, dassCSSPageDescriptorsnur die@page-bezogenen Eigenschaften bereitstellt, anstatt alle Eigenschaften, und löst auch ein Problem, bei dem das Setzen der Seitesizein einer CSS-@page-At-Regel nicht inCSSPageRule.stylewidergespiegelt wurde. (Firefox-Bug 1890842, Firefox-Bug 1867106.)MediaCapabilities.decodingInfo()kann jetzt Entkodierungsinformationen für eine bestimmte verschlüsselte Medien-Konfiguration sowie unverschlüsselte Medien erhalten, sodass Anwendungen im Voraus feststellen können, ob die Konfiguration unterstützt wird und ob sie den Inhalt reibungslos abspielen und energieeffizient sein wird. Änderungen beinhalten eine neue EigenschaftkeySystemConfigurationimconfiguration-Argument der Methode, die die Eigenschaften des Schlüsselverwaltungssystems definiert, das verwendet wird, um das Medium zu verschlüsseln, und eine neuekeySystemAccess-Eigenschaft im zurückgegebenen Objekt, das einMediaKeySystemAccess-Objekt ist, das verwendet werden kann, um Schlüssel zu erstellen und den Inhalt zur Wiedergabe zu dekodieren. (Firefox-Bug 1898344).- Firefox löst jetzt Ereignisse für eine synchrone
XMLHttpRequestaus, bevor die Ereignisse für jede laufende asynchroneXMLHttpRequestausgelöst werden. Dies behebt einen langjährigen Verhaltensunterschied zu anderen Browsern. Beachten Sie, dass dies zwar einige Websites reparieren sollte, aber möglicherweise auch die Leistung auf Websites verschlechtert, die das alte "nicht blockierende" Verhalten für eine synchroneXMLHttpRequesterwarten. Bitte melden Sie einen Fehler, wenn Ihre Website durch diese Änderung hätte behoben werden sollen, aber immer noch verwandte Probleme aufweist. (Firefox-Bug 697151.) - Der Ed25519 digitale Signaturalgorithmus wird von der Web Crypto API unterstützt und kann in den Methoden
SubtleCryptoverwendet werden:sign(),verify(),generateKey(),importKey()undexportKey()(Firefox-Bug 1804788). - Die Eigenschaften
contentTypeundresponseStatusdes InterfacesPerformanceResourceTimingwerden jetzt unterstützt und geben den Inhaltstyp der abgerufenen Ressource und den HTTP-Antwortstatuscode zurück, der bei der Abfrage der Ressource zurückgegeben wurde. (Firefox-Bug 1800443, Firefox-Bug 1796785.) - Die Eigenschaft
RTCDTMFSender.canInsertDTMFwird jetzt unterstützt. Damit können Sie überprüfen, ob ein WebRTC-Sender DTMF-Töne in die ausgehende Verbindung einfügen kann. Wenn unterstützt, können Sie DTMF-Töne durch Nutzung vonRTCDTMFSender.insertDTMF()einfügen. (Firefox-Bug 1623193).
Entfernungen
- Die Methode
Navigator.vibrate()wurde entfernt (Firefox-Bug 1653318, Firefox-Bug 1900037).
WebDriver-Konformität (WebDriver BiDi, Marionette)
Entfernungen
- Standardmäßig ist das CDP (Chrome DevTools Protocol) jetzt deaktiviert. Es kann über die
remote.active-protocols-Einstellung wieder aktiviert werden. Sie können mehr dazu im folgenden Blog-Beitrag erfahren. (Firefox-Bug 1882089)
WebDriver BiDi
- Unterstützung für den
network.setCacheBehavior-Befehl wurde hinzugefügt, der es ermöglicht, den Browser so zu konfigurieren, dass entweder global oder für eine Reihe von obersten Browsing-Kontexten der Netzwerk-Cache umgangen wird. (Firefox-Bug 1901032 und Firefox-Bug 1906100) - Unterstützung für Eingabeaufforderungen des Typs
beforeUnloadwurde hinzugefügt, die jetzt auf die gleiche Weise behandelt werden können wie andere Eingabeaufforderungen. (Firefox-Bug 1824220) - Wir unterstützen jetzt alle Argumente für den
network.provideResponse-Befehl, wenn er in der PhasebeforeRequestSentverwendet wird, wie denbody-Parameter, der es ermöglicht, simulierte Antworten zurückzugeben. (Firefox-Bug 1853882) - Das
browsingContext.userPromptOpenedenthält jetzt dashandler-Feld, das den Benutzereingabeaufforderungs-Handler enthält, der für die Eingabeaufforderung konfiguriert ist, die das Ereignis ausgelöst hat. (Firefox-Bug 1904822) - Der Typ
BrowsingContextInfowird jetzt einoriginalOpener-Feld bereitstellen, das die Kontext-ID des "Opener"-Browsing-Kontexts ist. Dies wird zum Beispiel gesetzt, wenn der neue Kontext durch Anklicken eines Links erstellt wurde (selbst mitrel=noopener),window.openusw. Wenn der neue Browsing-Kontext keinen relevanten Opener hat, wird das Feld auf null gesetzt. (Firefox-Bug 1898004) - Netzwerkevents (
beforeRequestSent,responseStartedundresponseCompleted) werden jetzt für Anfragen zu Daten-URLs erstellt. In Firefox 129 werden nur Navigationsanfragen aufgelistet. (Firefox-Bug 1805176) - Unterstützung für das
promptUnload-Argument fürbrowsingContext.closewurde hinzugefügt, das es ermöglicht, "beforeunload"-Ereignisse zu umgehen, wenn ein Kontext über diesen Befehl geschlossen wird. (Firefox-Bug 1862380) - Ein Fehler im
network.continueRequestwurde behoben, bei dem Sie nicht mehrere Werte für denselben Header setzen konnten. (Firefox-Bug 1904379) - Ein Fehler in der Fähigkeit
unhandledPromptBehaviorwurde behoben, der bei reinen BiDi-Sitzungen nicht verwendet werden konnte. (Firefox-Bug 1907935) - Ein Fehler in
session.endundbrowser.closewurde behoben, bei dem es unerwartet fehlschlug, wenn kein Marionette-Client verbunden war. (Firefox-Bug 1890091) - Ein Fehler bei
browsingContext.navigatewurde behoben, der fehlschlug, wenn eine gleiche Dokumentnavigation bei "beforeunload" begann. (Firefox-Bug 1879163) - Der
browser.close-Befehl wurde verbessert, um alle "beforeunload"-Ereignisse beim Schließen der obersten Browsing-Kontexte zu verwerfen. (Firefox-Bug 1873196) - Ein Fehler im
browsingContext.userPromptOpened-Ereignis wurde behoben, bei dem dasdefaultValue-Feld unerwartet fehlte (Firefox-Bug 1859814) - Ein Problem mit dem
network.responseCompleted-Ereignis bei Authentifizierungsabläufen wurde behoben, das zu oft im Vergleich zu den Spezifikationen ausgelöst wurde. Für den gesamten HTTP-Authentifizierungsfluss wird nur ein einzigesresponseCompleted- (oderfetchError-)Ereignis erwartet. (Firefox-Bug 1906106) - Der
browser.removeUserContext-Befehl wurde verbessert, um alle "beforeunload"-Ereignisse zu überspringen. (Firefox-Bug 1876062)