Firefox 129 Release Notes für Entwickler
Dieser Artikel bietet Informationen über die Ä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 für ein Element Anfangswerte für Eigenschaften definieren, von denen Sie eine Transition durchführen möchten, wenn das Element seine erste Stilaktualisierung erhält. Derzeit wird das Animieren von
display: none;nicht unterstützt (Firefox-Bug 1834876 und Firefox-Bug 1834877). - Die CSS-Eigenschaft
transition-behaviorwird unterstützt. Damit können Sie angeben, ob diskrete Eigenschaften wiedisplayundoverlaydurch Setzen auf den Wertallow-discreteübergehen können (Firefox-Bug 1901645). -webkit-font-feature-settingswurde als Alias der Standard-Eigenschaftfont-feature-settingsimplementiert (Firefox-Bug 1595620).
JavaScript
Float16ArrayTypisierte Arrays werden nun unterstützt, zusammen mitDataView.prototype.getFloat16()undDataView.prototype.setFloat16()zum Lesen und Setzen vonFloat16Array-Werten aus einemDataView, sowie 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, in denen es sinnvoll ist, Präzision gegen Speicherverbrauch abzuwägen (Firefox-Bug 1903329).- Reguläre Ausdrücke können nun denselben Namen für benannte Gruppenerfassungen in unterschiedlichen Alternativen der Disjunktion verwenden. Dies ist erlaubt, da nur eine Alternative in einer Disjunktion übereinstimmt, sodass ein Name, der in mehreren Alternativen deklariert ist, nur auf eine erfasste Gruppe verweisen kann. Die Namen müssen immer noch eindeutig innerhalb einer bestimmten Alternative und im gesamten restlichen Muster sein (Firefox-Bug 1903288).
HTTP
- HTTPS-DNS-Einträge können nun auf Windows 11, Linux und Android 10+ mit dem DNS-Resolver des Betriebssystems 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 im Browser nicht aktiviert ist. Diese Funktion ermöglicht die Verwendung von HTTP/3, ohne den
Alt-Svc-Header verwenden zu müssen, und ermöglicht ein automatisches Upgrade von HTTP-Anfragen auf HTTPS, wenn der HTTPS-DNS-Eintrag vorhanden ist. Am wichtigsten ist, dass die Verwendung der Datenschutzfunktion Encrypted Client Hello (ECH) nun auch dann möglich ist, wenn DoH nur auf dem Gerät aktiviert ist, nicht im Browser (Firefox-Bug 1906239).
APIs
- Das veraltete
textInput-Ereignis wird nun unterstützt, wodurch Web-Apps, die auf veraltete Bibliotheken oder Frameworks angewiesen sind, die diese Ereignisse nutzen, wieder voll funktionsfähig sind. Dasbeforeinput-Ereignis ersetzttextInputund sollte immer von neuen Anwendungen verwendet werden (Firefox-Bug 1901923). - Die Standardmethoden
.toJSON()GeolocationCoordinates.toJSON()undGeolocationPosition.toJSON()werden nun unterstützt und ermöglichen die Serialisierung vonGeolocationCoordinates- undGeolocationPosition-Objekten mitJSON.stringify()(Firefox-Bug 1890706). CSSPageDescriptorswird nun unterstützt und wird als Typ fürCSSPageRule.styleanstelle vonCSSStyleDeclarationverwendet — entsprechend der aktuellen Spezifikation. Dies stellt sicher, dassCSSPageDescriptorsnur die@page-bezogenen Eigenschaften offenlegt, anstatt aller Eigenschaften, und behebt auch ein Problem, bei dem das Setzen der Seitesizein einer CSS-@page-At-Regel nicht inCSSPageRule.stylereflektiert wurde (Firefox-Bug 1890842, Firefox-Bug 1867106).MediaCapabilities.decodingInfo()kann nun Dekodierungsinformationen für eine bestimmte verschlüsselte Medien-Konfiguration sowie unverschlüsselte Medien abrufen, sodass Anwendungen im Voraus feststellen können, ob die Konfiguration unterstützt wird und ob die Inhalte reibungslos abgespielt und stromsparend sein werden. Zu den Änderungen gehört eine neue EigenschaftkeySystemConfigurationimconfiguration-Argument der Methode, die die Eigenschaften des Schlüsselsystems definiert, das zur Verschlüsselung der Medien verwendet wird, sowie eine neue EigenschaftkeySystemAccessim zurückgegebenen Objekt, die einMediaKeySystemAccess-Objekt ist, mit dem Schlüssel erstellt und der Inhalt zur Wiedergabe dekodiert werden kann (Firefox-Bug 1898344).- Firefox löst nun Ereignisse für eine synchrone
XMLHttpRequestaus, bevor die Ereignisse für laufende asynchroneXMLHttpRequestausgelöst werden. Dies behebt einen langjährigen Verhaltensunterschied zu anderen Browsern. Beachten Sie, dass dies zwar einige Seiten reparieren sollte, auf Seiten, die das alte "nicht blockierende" Verhalten für eine synchroneXMLHttpRequesterwarten, jedoch auch die Leistung beeinträchtigen kann. Bitte melden Sie einen Fehler, wenn Ihre Website durch diese Änderung hätte behoben werden sollen, jedoch immer noch verwandte Probleme aufweist (Firefox-Bug 697151). - Der Ed25519-Algorithmus für digitale Signaturen wird von der Web Crypto API unterstützt und kann in den
SubtleCrypto-Methoden verwendet werden:sign(),verify(),generateKey(),importKey()undexportKey()(Firefox-Bug 1804788). - Die Eigenschaften
contentTypeundresponseStatusdesPerformanceResourceTiming-Interfaces werden nun unterstützt und zeigen den Inhaltstyp der abgerufenen Ressource sowie den HTTP-Antwortstatuscode an, der beim Abrufen der Ressource zurückgegeben wurde (Firefox-Bug 1800443, Firefox-Bug 1796785). - Die Eigenschaft
RTCDTMFSender.canInsertDTMFwird nun unterstützt. Sie ermöglicht Ihnen zu überprüfen, ob ein WebRTC-Sender DTMF-Töne in die ausgehende Verbindung einfügen kann. Falls unterstützt, können Sie DTMF-Töne mitRTCDTMFSender.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) nun deaktiviert. Es kann über die
remote.active-protocols-Einstellung wieder aktiviert werden. Mehr darüber erfahren Sie im folgenden Blogbeitrag (Firefox-Bug 1882089).
WebDriver BiDi
- Unterstützung für den Befehl
network.setCacheBehaviorwurde hinzugefügt, mit dem Sie den Browser so konfigurieren können, dass der Netzwerk-Cache entweder global oder für eine Reihe von obersten Browserkontexten umgangen wird (Firefox-Bug 1901032 und Firefox-Bug 1906100). - Unterstützung für Eingabeaufforderungen des Typs
beforeUnloadwurde hinzugefügt, die nun auf die gleiche Weise wie andere Benutzereingabeaufforderungen behandelt werden können (Firefox-Bug 1824220). - Wir unterstützen jetzt alle Argumente für den Befehl
network.provideResponse, wenn er in der PhasebeforeRequestSentverwendet wird, wie z. B. dasbody-Parameter, das Ihnen ermöglicht, Mock-Antworten zurückzugeben (Firefox-Bug 1853882). - Der
browsingContext.userPromptOpenedenthält jetzt dashandler-Feld, das den Benutzereingabeaufforderungs-Handler enthält, der für die Eingabeaufforderung konfiguriert wurde, 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 z. B. gesetzt, wenn der neue Kontext durch Verwenden eines Links (auch mitrel=noopener),window.openusw. erstellt wurde. Wenn der neue Browsing-Kontext keinen relevanten Opener hat, wird das Feld auf null gesetzt (Firefox-Bug 1898004). - Netzwerkereignisse (
beforeRequestSent,responseStartedundresponseCompleted) werden nun für Anfragen an Daten-URLs erstellt. In Firefox 129 werden nur Navigationsanfragen aufgelistet (Firefox-Bug 1805176). - Wir haben Unterstützung für das
promptUnload-Argument fürbrowsingContext.closehinzugefügt, das Ihnen ermöglicht, "beforeunload"-Eingabeaufforderungen zu umgehen, wenn Sie einen Kontext über diesen Befehl schließen (Firefox-Bug 1862380). - Ein Fehler in
network.continueRequestwurde behoben, bei dem Sie keine mehrfachen Werte für denselben Header setzen konnten (Firefox-Bug 1904379). - Ein Fehler für die
unhandledPromptBehavior-Fähigkeit wurde behoben, der nicht mit ausschließlich BiDi-Sitzungen verwendet werden konnte (Firefox-Bug 1907935). - Ein Fehler mit
session.endundbrowser.closewurde behoben, der unerwartet fehlschlug, wenn kein Marionette-Client verbunden war (Firefox-Bug 1890091). - Ein Fehler mit
browsingContext.navigatewurde behoben, der zu einer nicht auflösbaren Antwort führte, wenn eine same-document-Navigation auf "beforeunload" begann (Firefox-Bug 1879163). - Der
browser.close-Befehl wurde verbessert, um alle "beforeunload"-Eingabeaufforderungen zu verwerfen, wenn die obersten Browsing-Kontexte geschlossen werden (Firefox-Bug 1873196). - Ein Fehler im
browsingContext.userPromptOpened-Ereignis wurde behoben, bei dem unerwartet dasdefaultValue-Feld fehlte (Firefox-Bug 1859814). - Ein Problem mit dem
network.responseCompleted-Ereignis während der Authentifizierungsflüsse wurde behoben, bei dem es zu oft im Vergleich zu den Spezifikationen ausgelöst wurde. Es wird nur einresponseCompleted- (oderfetchError-)Ereignis für den gesamten HTTP-Authentifizierungsfluss erwartet (Firefox-Bug 1906106). - Der
browser.removeUserContext-Befehl wurde verbessert, um alle "beforeunload"-Eingabeaufforderungen zu überspringen (Firefox-Bug 1876062).