Versionshinweise für Entwickler von Firefox 129
Dieser Artikel enthält 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. Diese ermöglicht es, Startwerte für Eigenschaften zu definieren, die bei einem Element festgelegt werden, von denen Sie aus animieren 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-behaviorCSS-Eigenschaft wird unterstützt. Sie ermöglicht das Festlegen, ob diskrete Eigenschaften, wiedisplayundoverlay, durch Setzen des Werts aufallow-discreteübergeleitet werden können. (Firefox-Bug 1901645). -webkit-font-feature-settingswurde als Alias der Standard-Eigenschaftfont-feature-settingsimplementiert (Firefox-Bug 1595620).
JavaScript
Float16Arraygetypte 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 in Anwendungsfällen, in denen es sinnvoll ist, auf Präzision zugunsten des Speicherverbrauchs zu verzichten. (Firefox-Bug 1903329.)- Reguläre Ausdrücke können nun denselben Namen für benannte Erfassungsgruppen in verschiedenen Disjunktions-Alternativen verwenden. Dies ist erlaubt, da nur eine Alternative in einer Disjunktion ü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 restlichen Muster immer noch eindeutig sein. (Firefox-Bug 1903288.)
HTTP
- HTTPS-DNS-Einträge können nun mithilfe des DNS-Resolvers des Betriebssystems unter 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 den
Alt-SvcHeader verwenden zu müssen, und ermöglicht sogar automatische Upgrades von HTTP-Anfragen auf HTTPS, wenn der HTTPS-DNS-Eintrag vorhanden ist. Am wichtigsten ist, dass es nun die Verwendung der Encrypted Client Hello (ECH) Datenschutzfunktion ermöglicht, selbst wenn DoH nur auf dem Gerät aktiviert ist, nicht im Browser. (Firefox-Bug 1906239).
APIs
- Das veraltete
textInputEreignis wird nun unterstützt, wodurch Web-Apps, die ältere Bibliotheken oder Frameworks verwenden, die auf diese Ereignisse angewiesen sind, laufen können. Dasbeforeinputevent ersetzttextInputund sollte von neuen Anwendungen immer verwendet werden. (Firefox-Bug 1901923.) - Die standardmäßigen
.toJSON()MethodenGeolocationCoordinates.toJSON()undGeolocationPosition.toJSON()werden nun unterstützt, was die Serialisierung vonGeolocationCoordinatesundGeolocationPositionObjekten mitJSON.stringify()ermöglicht (Firefox-Bug 1890706). CSSPageDescriptorswird nun unterstützt und wird als Typ fürCSSPageRule.styleanstelle vonCSSStyleDeclarationverwendet — entsprechend der aktuellen Spezifikation. Dies stellt sicher, dassCSSPageDescriptorsnur die@pagebezogenen Eigenschaften offenlegt, statt aller Eigenschaften, und löst auch ein Problem, bei dem das Setzen der Seitesizein einer CSS@pageAt-Regel nicht inCSSPageRule.stylewidergespiegelt wurde. (Firefox-Bug 1890842, Firefox-Bug 1867106.)MediaCapabilities.decodingInfo()kann nun Decodierungsinformationen für eine bestimmte verschlüsselte Medien-Konfiguration sowie unverschlüsselte Medien abrufen, sodass Anwendungen im Voraus erkennen können, ob die Konfiguration unterstützt wird und ob sie den Inhalt reibungslos abspielen und energieeffizient sein wird. Zu den Änderungen gehört eine neue EigenschaftkeySystemConfigurationimconfiguration-Argument der Methode, die die Eigenschaften des Schlüsselsystems definiert, das zum Verschlüsseln der Medien verwendet wird, sowie eine neue EigenschaftkeySystemAccessim zurückgegebenen Objekt, das einMediaKeySystemAccessObjekt ist, das zum Erstellen von Schlüsseln und Decodieren der Inhalte für die Wiedergabe verwendet werden kann. (Firefox-Bug 1898344).- Firefox löst nun Ereignisse für ein synchrones
XMLHttpRequest, bevor die Ereignisse für ein laufendes asynchronesXMLHttpRequestausgelöst werden. Dies behebt einen langjährigen Verhaltensunterschied zu anderen Browsern. Beachten Sie, dass dies zwar einige Websites beheben sollte, es jedoch auch zu einer Verschlechterung der Leistung auf Websites führen kann, die das alte „nicht blockierende“ Verhalten für ein synchronesXMLHttpRequesterwarten. Bitte melden Sie einen Fehler, wenn Ihre Website durch diese Änderung hätte behoben werden sollen, aber weiterhin verwandte Probleme aufweist. (Firefox-Bug 697151.) - Der Ed25519 digitale Signaturalgorithmus wird von der Web Crypto API unterstützt und kann in den
SubtleCryptoMethoden verwendet werden:sign(),verify(),generateKey(),importKey()undexportKey()(Firefox-Bug 1804788). - Die
contentTypeundresponseStatusEigenschaften derPerformanceResourceTimingSchnittstelle werden nun 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
RTCDTMFSender.canInsertDTMFEigenschaft wird nun unterstützt. Sie ermöglicht es, zu ü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 einfügen, indem SieRTCDTMFSender.insertDTMF()verwenden. (Firefox-Bug 1623193).
Entfernungen
- Die
Navigator.vibrate()Methode 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. Weitere Informationen dazu finden Sie im folgenden Blogbeitrag. (Firefox-Bug 1882089)
WebDriver BiDi
- Unterstützung für den Befehl
network.setCacheBehaviorhinzugefügt, der es ermöglicht, den Browser so zu konfigurieren, dass der Netzwerk-Cache entweder global oder für eine Gruppe von obersten Browser-Kontexten umgangen wird. (Firefox-Bug 1901032 und Firefox-Bug 1906100) - Unterstützung für Aufforderungen vom Typ
beforeUnloadhinzugefügt, die nun auf die gleiche Weise wie andere Benutzeraufforderungen behandelt werden können. (Firefox-Bug 1824220) - Wir unterstützen nun alle Argumente für den
network.provideResponseBefehl, wenn dieser in der PhasebeforeRequestSentverwendet wird, wie z.B. denbodyParameter, der es ermöglicht, gefälschte Antworten zurückzugeben. (Firefox-Bug 1853882) browsingContext.userPromptOpenedenthält nun dashandlerFeld, das den für die Aufforderung konfigurierten Benutzeraufforderungs-Handler enthält, der das Ereignis ausgelöst hat. (Firefox-Bug 1904822)- Der
BrowsingContextInfoTyp wird jetzt einoriginalOpenerFeld bereitstellen, das die Kontext-ID des "Öffners" Browsing-Kontexts ist. Dies wird z.B. gesetzt, wenn der neue Kontext durch ein Link (auch mitrel=noopener),window.openetc. erstellt wurde. Wenn der neue Browsing-Kontext keinen relevanten Öffner hat, wird das Feld auf null gesetzt. (Firefox-Bug 1898004) - Netzwerkevents (
beforeRequestSent,responseStartedundresponseCompleted) werden nun für Anfragen zu Daten-URLs erstellt. In Firefox 129 werden nur Navigationsanforderungen aufgelistet. (Firefox-Bug 1805176) - Wir haben die Unterstützung für das Argument
promptUnloadbeibrowsingContext.closehinzugefügt, das es ermöglicht, „unbeforeunload“-Aufforderungen zu umgehen, wenn Sie einen Kontext über diesen Befehl schließen. (Firefox-Bug 1862380) - Ein Fehler in
network.continueRequestwurde behoben, bei dem Sie nicht mehrere Werte für denselben Header einstellen konnten. (Firefox-Bug 1904379) - Ein Fehler bei der
unhandledPromptBehaviorFähigkeit wurde behoben, die nicht mit ausschließlich BiDi-Sitzungen verwendet werden konnte. (Firefox-Bug 1907935) - Ein Fehler mit
session.endundbrowser.closewurde behoben, die unerwartet fehlschlagen würden, wenn kein Marionette-Client verbunden war. (Firefox-Bug 1890091) - Ein Fehler mit
browsingContext.navigatewurde behoben, der nicht gelöst werden konnte, wenn eine gleichseitige Navigation bei „unload“ begann. (Firefox-Bug 1879163) - Der
browser.closeBefehl wurde verbessert, um alle „unbeforeunload“-Aufforderungen beim Schließen der obersten Browsing-Kontexte zu verwerfen. (Firefox-Bug 1873196) - Ein Fehler im
browsingContext.userPromptOpenedEreignis wurde behoben, bei dem dasdefaultValueFeld unerwartet fehlte (Firefox-Bug 1859814) - Ein Problem mit dem
network.responseCompletedEreignis während Authentifizierungsabläufen wurde behoben, das zu oft im Vergleich zu den Spezifikationen ausgegeben wurde. Nur einresponseCompleted(oderfetchError) Ereignis wird für den gesamten HTTP-Authentifizierungsablauf erwartet. (Firefox-Bug 1906106) - Der
browser.removeUserContextBefehl wurde verbessert, um alle „unbeforeunload“-Aufforderungen zu überspringen. (Firefox-Bug 1876062)