Firefox 129 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. Sie ermöglicht es, Startwerte für Eigenschaften zu definieren, die auf einem Element gesetzt werden, von denen aus Sie übergehen 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
transition-behavior
CSS-Eigenschaft wird unterstützt. Damit können Sie angeben, ob diskrete Eigenschaften, wiedisplay
undoverlay
, durch Setzen des Wertes aufallow-discrete
übergangsfähig sind. (Firefox-Bug 1901645). -webkit-font-feature-settings
wurde als Alias der Standard-Eigenschaftfont-feature-settings
implementiert (Firefox-Bug 1595620).
JavaScript
Float16Array
typisierte Arrays werden jetzt unterstützt, zusammen mitDataView.prototype.getFloat16()
undDataView.prototype.setFloat16()
zum Lesen und Setzen vonFloat16Array
-Werten aus einemDataView
, und 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 für Speicherverbrauch zu tauschen. (Firefox-Bug 1903329.)- Reguläre Ausdrücke können jetzt denselben Namen für benannte Erfassungsgruppen in verschiedenen Diskjunctions-Alternativen verwenden. Dies ist erlaubt, da immer nur eine Alternative in einer Diskjunktion übereinstimmt, 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 Rest des Musters weiterhin einzigartig sein. (Firefox-Bug 1903288.)
HTTP
- HTTPS-DNS-Einträge können nun 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 Nutzung von HTTP/3, ohne dass der
Alt-Svc
-Header verwendet werden muss, und ermöglicht das automatische Upgrade von HTTP-Anfragen auf HTTPS, wenn der HTTPS-DNS-Eintrag vorhanden ist. Am wichtigsten ist, dass es jetzt die Nutzung der Datenschutzfunktion Verschlüsseltes Client-Hallo (ECH) ermöglicht, auch wenn DoH nur auf dem Gerät aktiviert ist, nicht im Browser. (Firefox-Bug 1906239).
APIs
- Das veraltete
textInput
-Ereignis wird jetzt unterstützt, was es Web-Apps ermöglicht, die veraltete Bibliotheken oder Frameworks verwenden, die auf diesen Ereignissen basieren. Dasbeforeinput
-Ereignis ersetzttextInput
und sollte immer von neuen Anwendungen verwendet werden. (Firefox-Bug 1901923.) - Die Standardmethoden
.toJSON()
GeolocationCoordinates.toJSON()
undGeolocationPosition.toJSON()
werden jetzt unterstützt, was die Serialisierung vonGeolocationCoordinates
- undGeolocationPosition
-Objekten mitJSON.stringify()
ermöglicht (Firefox-Bug 1890706). CSSPageDescriptors
wird jetzt unterstützt und wird als Typ fürCSSPageRule.style
anstelle vonCSSStyleDeclaration
verwendet — was der aktuellen Spezifikation entspricht. Dies stellt sicher, dassCSSPageDescriptors
nur die@page
-bezogenen Eigenschaften freilegt, anstatt aller Eigenschaften, und löst auch ein Problem, bei dem das Festlegen der Seitesize
in einer CSS-@page
-Regel nicht inCSSPageRule.style
widergespiegelt 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 sie den Inhalt flüssig wiedergeben und energieeffizient sein wird. Änderungen umfassen eine neue EigenschaftkeySystemConfiguration
imconfiguration
-Argument der Methode, die die Eigenschaften des verwendeten Schlüsselsystems zur Verschlüsselung der Medien definiert, 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 nun Ereignisse für eine synchrone
XMLHttpRequest
aus, bevor die Ereignisse für eine laufende asynchroneXMLHttpRequest
ausgelöst werden. Dies behebt einen langjährigen Verhaltensunterschied zu anderen Browsern. Beachten Sie, dass dies zwar einige Websites beheben sollte, es aber auch zu einer verschlechterten Leistung auf Websites führen kann, die das alte "nicht blockierende" Verhalten für eine synchroneXMLHttpRequest
erwarten. Bitte melden Sie einen Fehler, wenn Ihre Website durch diese Änderung behoben werden sollte, aber weiterhin 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
contentType
undresponseStatus
desPerformanceResourceTiming
-Interfaces werden jetzt unterstützt und geben den Inhaltstyp der abgerufenen Ressource und den beim Abrufen der Ressource zurückgegebenen HTTP-Antwortstatuscode an. (Firefox-Bug 1800443, Firefox-Bug 1796785.) - Die Eigenschaft
RTCDTMFSender.canInsertDTMF
wird jetzt unterstützt. Sie ermöglicht es Ihnen zu überprüfen, ob ein WebRTC-Sender DTMF-Töne in die ausgehende Verbindung einfügen kann. Wenn dies unterstützt wird, 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 reaktiviert werden. Mehr dazu erfahren Sie im folgenden Blogbeitrag. (Firefox-Bug 1882089)
WebDriver BiDi
- Unterstützung für den
network.setCacheBehavior
-Befehl hinzugefügt, der es ermöglicht, den Browser so zu konfigurieren, dass der Netzwerk-Cache entweder global oder für eine Reihe von Top-Level-Browsing-Kontexten umgangen wird. (Firefox-Bug 1901032 und Firefox-Bug 1906100) - Unterstützung für Aufforderungen des Typs
beforeUnload
hinzugefügt, die nun auf die gleiche Weise wie andere Benutzeraufforderungen behandelt werden können. (Firefox-Bug 1824220) - Wir unterstützen jetzt alle Argumente für den
network.provideResponse
-Befehl, wenn er in derbeforeRequestSent
-Phase verwendet wird, wie z. B. denbody
-Parameter, der es ermöglicht, Mock-Antworten zurückzugeben. (Firefox-Bug 1853882) - Das
browsingContext.userPromptOpened
enthält jetzt dashandler
-Feld, das den für die Aufforderung konfigurierten Benutzeraufforderungs-Handler enthält, der das Ereignis ausgelöst hat. (Firefox-Bug 1904822) - Der Typ
BrowsingContextInfo
wird nun einoriginalOpener
-Feld bereitstellen, das die Kontext-ID des "Öffners" Browsing-Kontextes ist. Dies wird zum Beispiel gesetzt, wenn der neue Kontext durch die Verwendung eines Links (auch mitrel=noopener
),window.open
etc. erstellt wurde. Wenn der neue Browsing-Kontext keinen relevanten Öffner hat, wird das Feld auf null gesetzt. (Firefox-Bug 1898004) - Netzwerkereignisse (
beforeRequestSent
,responseStarted
undresponseCompleted
) werden jetzt für Anfragen an Daten-URLs erstellt. In Firefox 129 werden nur Navigationsanfragen aufgelistet. (Firefox-Bug 1805176) - Wir haben die Unterstützung für das
promptUnload
-Argument fürbrowsingContext.close
hinzugefügt, das es ermöglicht, "beforeunload"-Aufforderungen beim Schließen eines Kontextes über diesen Befehl zu umgehen. (Firefox-Bug 1862380) - Ein Fehler in
network.continueRequest
wurde behoben, bei dem Sie nicht mehrere Werte für denselben Header setzen konnten. (Firefox-Bug 1904379) - Ein Fehler mit der
unhandledPromptBehavior
-Fähigkeit wurde behoben, die in BiDi-Only-Sitzungen nicht verwendet werden konnte. (Firefox-Bug 1907935) - Ein Fehler mit
session.end
undbrowser.close
wurde behoben, der unerwarteterweise fehlschlug, wenn kein Marionette-Client verbunden war. (Firefox-Bug 1890091) - Ein Fehler mit
browsingContext.navigate
wurde behoben, der es nicht lösen konnte, wenn eine Navigation im selben Dokument bei "beforeunload" begann. (Firefox-Bug 1879163) - Der Befehl
browser.close
wurde verbessert, um alle "beforeunload"-Aufforderungen beim Schließen der Top-Level-Browsing-Kontexte zu verwerfen. (Firefox-Bug 1873196) - Ein Fehler im
browsingContext.userPromptOpened
-Ereignis wurde behoben, bei dem dasdefaultValue
-Feld unerwarteterweise fehlte (Firefox-Bug 1859814) - Ein Problem beim
network.responseCompleted
-Ereignis während Authentifizierungsabläufen wurde behoben, das zu oft im Vergleich zu den Spezifikationen emittiert wurde. Nur einresponseCompleted
(oderfetchError
)-Ereignis wird für den gesamten HTTP-Authentifizierungsfluss erwartet. (Firefox-Bug 1906106) - Der Befehl
browser.removeUserContext
wurde verbessert, um alle "beforeunload"-Aufforderungen zu umgehen. (Firefox-Bug 1876062)
Ältere Versionen
- Firefox 128 für Entwickler
- Firefox 127 für Entwickler
- Firefox 126 für Entwickler
- Firefox 125 für Entwickler
- Firefox 124 für Entwickler
- Firefox 123 für Entwickler
- Firefox 122 für Entwickler
- Firefox 121 für Entwickler
- Firefox 120 für Entwickler
- Firefox 119 für Entwickler
- Firefox 118 für Entwickler
- Firefox 117 für Entwickler
- Firefox 116 für Entwickler
- Firefox 115 für Entwickler
- Firefox 114 für Entwickler
- Firefox 113 für Entwickler
- Firefox 112 für Entwickler
- Firefox 111 für Entwickler
- Firefox 110 für Entwickler
- Firefox 109 für Entwickler
- Firefox 108 für Entwickler
- Firefox 107 für Entwickler
- Firefox 106 für Entwickler
- Firefox 105 für Entwickler
- Firefox 104 für Entwickler
- Firefox 103 für Entwickler
- Firefox 102 für Entwickler
- Firefox 101 für Entwickler
- Firefox 100 für Entwickler
- Firefox 99 für Entwickler
- Firefox 98 für Entwickler