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-Regel @starting-style wird unterstützt. Diese erlaubt es, Startwerte für Eigenschaften zu definieren, die auf einem Element gesetzt sind und von denen aus bei der ersten Stilaktualisierung des Elements übergegangen werden soll. Derzeit wird das Animieren von
display: none;nicht unterstützt (Firefox-Bug 1834876 und Firefox-Bug 1834877). - Die
transition-behaviorCSS-Eigenschaft wird unterstützt. Damit kann festgelegt werden, ob diskrete Eigenschaften, wiedisplayundoverlay, durch Setzen des Wertes aufallow-discreteübergegangen werden können. (Firefox-Bug 1901645). -webkit-font-feature-settingswurde als Alias der standardmäßigenfont-feature-settingsEigenschaft implementiert (Firefox-Bug 1595620).
JavaScript
Float16Arraygetypte Arrays werden jetzt unterstützt, zusammen mitDataView.prototype.getFloat16()undDataView.prototype.setFloat16()zum Lesen und Setzen vonFloat16ArrayWerten aus einerDataView, und der statischen MethodeMath.f16round(), die genutzt werden kann, um Zahlen auf 16 Bit zu runden. Der neue Typ ist nützlich für den Datenaustausch mit einer GPU, insbesondere für Anwendungsfälle, bei denen es sinnvoll ist, Präzision gegen Speicherverbrauch einzutauschen. (Firefox-Bug 1903329.)- Reguläre Ausdrücke können jetzt denselben Namen für benannte Capturing-Gruppen in verschiedenen Disjunktionsalternativen verwenden. Dies ist erlaubt, da nur eine Alternative in einer Disjunktion übereinstimmen wird, sodass ein Name, der in mehreren Alternativen deklariert wurde, nur auf eine erfasste Gruppe verweisen kann. Die Namen müssen dennoch innerhalb einer bestimmten Alternative und im gesamten restlichen Muster eindeutig sein. (Firefox-Bug 1903288.)
HTTP
- HTTPS-DNS-Einträge können jetzt mit dem DNS-Resolver 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 den
Alt-Svc-Header verwenden zu müssen, und ermöglicht die automatische Hochstufung von HTTP-Anfragen zu HTTPS, wenn der HTTPS-DNS-Eintrag vorhanden ist. Am wichtigsten ist, dass jetzt die Verwendung der Datenschutzfunktion Encrypted Client Hello (ECH) möglich ist, auch wenn DoH nur auf dem Gerät und nicht im Browser aktiviert ist. (Firefox-Bug 1906239).
APIs
- Das veraltete
textInputEreignis wird jetzt unterstützt, was Web-Apps ermöglicht, die veraltete Bibliotheken oder Frameworks verwenden, die auf diese Ereignisse angewiesen sind. DasbeforeinputEreignis 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 präsentiert, anstatt allen Eigenschaften, und behebt auch ein Problem, bei dem das Setzen der Seitesizein einer CSS@pageRegel nicht inCSSPageRule.stylereflektiert wurde. (Firefox-Bug 1890842, Firefox-Bug 1867106.)MediaCapabilities.decodingInfo()kann jetzt Dekodierungsinformationen für eine bestimmte verschlüsselte Medien-Konfiguration sowie unverschlüsselte Medien abrufen, was es Anwendungen ermöglicht, im Voraus zu bestimmen, ob die Konfiguration unterstützt wird und ob der Inhalt flüssig und stromsparend abgespielt wird. Zu den Änderungen gehören eine neue EigenschaftkeySystemConfigurationimconfiguration-Argument der Methode, die die Eigenschaften des Schlüsselsystems definiert, das zur Verschlüsselung der Medien verwendet wird, und eine neuekeySystemAccess-Eigenschaft im zurückgegebenen Objekt, das einMediaKeySystemAccessObjekt ist, das verwendet werden kann, um Schlüssel zu erstellen und den Inhalt für die Wiedergabe zu dekodieren. (Firefox-Bug 1898344).- Firefox löst jetzt Ereignisse für eine synchrone
XMLHttpRequestaus, bevor die Ereignisse für eine laufende asynchroneXMLHttpRequestausgelöst werden. Dies behebt einen langjährigen Verhaltensunterschied zu anderen Browsern. Beachten Sie, dass, während dies einige Seiten reparieren sollte, es auch zu verminderter Leistung auf Seiten führen kann, die das alte "nicht blockierende" Verhalten für eine synchroneXMLHttpRequesterwarten. Bitte melden Sie einen Bug, wenn Ihre Website durch diese Änderung repariert worden sein 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
SubtleCryptoMethoden verwendet werden:sign(),verify(),generateKey(),importKey()undexportKey()(Firefox-Bug 1804788). - Die Eigenschaften
contentTypeundresponseStatusdesPerformanceResourceTimingInterface werden jetzt unterstützt, was den Inhaltstyp der abgerufenen Ressource und den beim Abrufen der Ressource zurückgegebenen HTTP-Antwortstatuscode angibt. (Firefox-Bug 1800443, Firefox-Bug 1796785.) - Die Eigenschaft
RTCDTMFSender.canInsertDTMFwird jetzt 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 durch die Verwendung vonRTCDTMFSender.insertDTMF()einfügen. (Firefox-Bug 1623193).
Entfernte Funktionen
- Die Methode
Navigator.vibrate()wurde entfernt (Firefox-Bug 1653318, Firefox-Bug 1900037).
WebDriver-Konformität (WebDriver BiDi, Marionette)
Entfernte Funktionen
- Standardmäßig ist das CDP (Chrome DevTools Protocol) jetzt deaktiviert. Es kann über die
remote.active-protocols-Option erneut aktiviert werden. Mehr dazu erfahren Sie im folgenden Blog-Beitrag. (Firefox-Bug 1882089)
WebDriver BiDi
- Unterstützung für das
network.setCacheBehavior-Kommando hinzugefügt, das es ermöglicht, den Browser zu konfigurieren, den Netzwerk-Cache entweder global oder für eine Reihe von obersten Browsing-Kontexten zu umgehen. (Firefox-Bug 1901032 und Firefox-Bug 1906100) - Unterstützung für Eingabeaufforderungen vom Typ
beforeUnloadhinzugefügt, die jetzt auf die gleiche Weise wie andere Benutzereingabeaufforderungen behandelt werden können. (Firefox-Bug 1824220) - Wir unterstützen jetzt alle Argumente für das
network.provideResponse-Kommando, wenn es in der PhasebeforeRequestSentverwendet wird, wie z.B. denbody-Parameter, der es ermöglicht, Mock-Antworten zurückzugeben. (Firefox-Bug 1853882) - Das
browsingContext.userPromptOpenedenthält jetzt dashandler-Feld, das den Benutzeraufforderungs-Handler enthält, der für die Eingabeaufforderung konfiguriert ist, die das Ereignis ausgelöst hat. (Firefox-Bug 1904822) - Der
BrowsingContextInfo-Typ wird jetzt einoriginalOpener-Feld bereitstellen, das die Kontext-ID des "Opener"-Browsing-Kontextes ist. Dies wird eingestellt, wenn der neue Kontext z.B. durch Klicken auf einen Link (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 jetzt für Anfragen an Daten-URLs erstellt. In Firefox 129 werden nur Navigationsanfragen aufgelistet. (Firefox-Bug 1805176) - Wir haben Unterstützung für das
promptUnloadArgument vonbrowsingContext.closehinzugefügt, welches es ermöglicht, "beforeunload"-Aufforderungen zu umgehen, wenn ein Kontext über dieses Kommando geschlossen wird. (Firefox-Bug 1862380) - Behebung eines Bugs in
network.continueRequest, bei dem mehrere Werte für denselben Header nicht gesetzt werden konnten. (Firefox-Bug 1904379) - Behebung eines Bugs für die
unhandledPromptBehaviorFähigkeit, die in BiDi-Only-Sitzungen nicht verwendet werden konnte. (Firefox-Bug 1907935) - Behebung eines Bugs mit
session.endundbrowser.close, die unerwartet fehlschlugen, wenn kein Marionette-Client verbunden war. (Firefox-Bug 1890091) - Behebung eines Bugs mit
browsingContext.navigate, die fehlschlagen würde, wenn eine gleiche Dokumentnavigation auf "beforeunload" startete. (Firefox-Bug 1879163) - Verbesserung des
browser.closeKommandos zur Unterdrückung aller "beforeunload"-Aufforderungen beim Schließen der obersten Browsing-Kontexte. (Firefox-Bug 1873196) - Behebung eines Bugs im
browsingContext.userPromptOpenedEreignis, welches unerwartet dasdefaultValueFeld nicht enthielt (Firefox-Bug 1859814) - Behebung eines Problems mit dem
network.responseCompletedEreignis während Authentifizierungsabläufen, das zu viele Male ausgesendet wurde, verglichen mit den Spezifikationen. Es wird erwartet, dass nur einresponseCompleted(oderfetchError) Ereignis für den gesamten HTTP-Authentifizierungsablauf auftritt. (Firefox-Bug 1906106) - Verbesserung des
browser.removeUserContextKommandos zur Überspringung aller "beforeunload"-Aufforderungen. (Firefox-Bug 1876062)