Firefox-129-Release-Notes für Entwickler
Dieser Artikel enthält Informationen zu den Änderungen in Firefox 129, die sich auf Entwickler auswirken. 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 Anfangswerte für Eigenschaften definieren, die für ein Element festgelegt sind und von denen aus Sie einen Übergang durchführen möchten, wenn das Element seine erste Stilaktualisierung erhält. Derzeit wird die Animation ausgehend von
display: none;nicht unterstützt (Firefox-Bug 1834876 und Firefox-Bug 1834877). - Die CSS-Eigenschaft
transition-behaviorwird unterstützt. Damit können Sie festlegen, ob diskrete Eigenschaften wiedisplayundoverlaydurch Festlegen des Werts aufallow-discreteübergeleitet werden können. (Firefox-Bug 1901645). -webkit-font-feature-settingswurde als Alias der Standardeigenschaftfont-feature-settingsimplementiert (Firefox-Bug 1595620).
JavaScript
- Typisierte
Float16Array-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 zum Runden von Zahlen auf 16 Bit verwendet werden kann. Der neue Typ ist für die gemeinsame Nutzung von Daten mit einer GPU nützlich, 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 nun denselben Namen für benannte Capturing Groups in verschiedenen Disjunktionsalternativen verwenden. Dies ist zulässig, weil nur eine Alternative in einer Disjunktion übereinstimmt, sodass ein in mehreren Alternativen deklarierter Name nur auf eine erfasste Gruppe verweisen kann. Die Namen müssen innerhalb einer bestimmten Alternative und im übrigen Muster weiterhin eindeutig sein. (Firefox-Bug 1903288.)
HTTP
- HTTPS-DNS-Einträge können nun unter Windows 11, Linux und Android 10+ mithilfe des DNS-Resolvers des Betriebssystems aufgelöst werden. Dadurch wird sichergestellt, dass DNS over 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 Header
Alt-Svcverwenden zu müssen, und aktiviert die automatische Aktualisierung von HTTP-Anfragen auf HTTPS, wenn der HTTPS-DNS-Eintrag vorhanden ist. Besonders wichtig ist, dass dadurch die Datenschutzfunktion Encrypted Client Hello (ECH) auch dann verwendet werden kann, wenn DoH nur auf dem Gerät und nicht im Browser aktiviert ist. (Firefox-Bug 1906239).
APIs
- Das veraltete Ereignis
textInputwird nun unterstützt, wodurch Web-Apps aktiviert werden, die Legacy-Bibliotheken oder Frameworks verwenden, welche von diesen Ereignissen abhängen. Dasbeforeinput-Ereignis ersetzttextInputund sollte stets von neuen Anwendungen verwendet werden. (Firefox-Bug 1901923.) - Die standardmäßigen
.toJSON()-MethodenGeolocationCoordinates.toJSON()undGeolocationPosition.toJSON()werden nun unterstützt. Sie ermöglichen die Serialisierung vonGeolocationCoordinates- undGeolocationPosition-Objekten mitJSON.stringify()(Firefox-Bug 1890706). CSSPageDescriptorswird nun unterstützt und wird stattCSSStyleDeclarationals Typ fürCSSPageRule.styleverwendet — entsprechend der aktuellen Spezifikation. Dadurch stelltCSSPageDescriptorsnur die mit@pageverbundenen Eigenschaften bereit, anstatt aller Eigenschaften, und es wird außerdem ein Problem behoben, bei dem das Festlegen der Seitengrößesizein einer CSS-At-Regel@pagenicht inCSSPageRule.stylewidergespiegelt wurde. (Firefox-Bug 1890842, Firefox-Bug 1867106.)MediaCapabilities.decodingInfo()kann nun Dekodierungsinformationen für eine bestimmte Konfiguration verschlüsselter Medien sowie für unverschlüsselte Medien abrufen. Dadurch können Anwendungen im Voraus feststellen, ob die Konfiguration unterstützt wird und ob sie die Inhalte reibungslos sowie energieeffizient wiedergibt. Zu den Änderungen gehören eine neue EigenschaftkeySystemConfigurationim Argumentconfigurationder Methode, welche die Eigenschaften des zur Verschlüsselung der Medien verwendeten Schlüsselsystems definiert, sowie eine neue EigenschaftkeySystemAccessim zurückgegebenen Objekt. Diese ist einMediaKeySystemAccess-Objekt, das zum Erstellen von Schlüsseln und zum Dekodieren der Inhalte für die Wiedergabe verwendet 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 Websites beheben sollte, aber auch zu einer schlechteren Leistung auf Websites führen kann, die das alte „nicht blockierende“ Verhalten einer synchronenXMLHttpRequesterwarten. Bitte melden Sie einen Bug, wenn Ihre Website durch diese Änderung hätte behoben werden sollen, aber weiterhin entsprechende Probleme aufweist. (Firefox-Bug 697151.) - Der digitale Signaturalgorithmus Ed25519 wird von der Web Crypto API unterstützt und kann in den
SubtleCrypto-Methodensign(),verify(),generateKey(),importKey()undexportKey()verwendet werden (Firefox-Bug 1804788). - Die Eigenschaften
contentTypeundresponseStatusder SchnittstellePerformanceResourceTimingwerden nun unterstützt. Sie geben jeweils 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.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 dies unterstützt wird, können Sie DTMF-Töne mitRTCDTMFSender.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
- CDP (Chrome DevTools Protocol) ist jetzt standardmäßig deaktiviert. Es kann über die Einstellung
remote.active-protocolswieder aktiviert werden. Weitere Informationen dazu finden Sie im folgenden Blogbeitrag. (Firefox-Bug 1882089)
WebDriver BiDi
- Unterstützung für den Befehl
network.setCacheBehaviorwurde hinzugefügt. Er ermöglicht Ihnen, den Browser so zu konfigurieren, dass der Netzwerk-Cache entweder global oder für eine Gruppe von Browsing-Kontexten der obersten Ebene umgangen wird. (Firefox-Bug 1901032 und Firefox-Bug 1906100) - Unterstützung für Prompts vom Typ
beforeUnloadwurde hinzugefügt, die nun auf dieselbe Weise wie andere Benutzer-Prompts 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, beispielsweise den Parameterbody, mit dem Sie Mock-Antworten zurückgeben können. (Firefox-Bug 1853882) browsingContext.userPromptOpenedenthält nun das Feldhandler, das den für den Prompt konfigurierten Benutzer-Prompt-Handler enthält, der das Ereignis ausgelöst hat. (Firefox-Bug 1904822)- Der Typ
BrowsingContextInfostellt nun ein FeldoriginalOpenerbereit, das die Kontext-ID des Browsing-Kontexts „opener“ ist. Dieses wird beispielsweise gesetzt, wenn der neue Kontext über einen Link erstellt wurde, auch mitrel=noopener, durchwindow.openusw. Falls 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 aufgeführt. (Firefox-Bug 1805176) - Unterstützung für das Argument
promptUnloadfürbrowsingContext.closewurde hinzugefügt. Damit können Sie „beforeunload“-Prompts umgehen, wenn Sie einen Kontext über diesen Befehl schließen. (Firefox-Bug 1862380) - Ein Fehler in
network.continueRequestwurde behoben, durch den Sie nicht mehrere Werte für denselben Header festlegen konnten. (Firefox-Bug 1904379) - Ein Fehler für die Capability
unhandledPromptBehaviorwurde behoben, die nicht mit reinen BiDi-Sitzungen verwendet werden konnte. (Firefox-Bug 1907935) - Ein Fehler bei
session.endundbrowser.closewurde behoben, durch den diese unerwartet fehlschlugen, wenn kein Marionette-Client verbunden war. (Firefox-Bug 1890091) - Ein Fehler bei
browsingContext.navigatewurde behoben, durch den der Vorgang nicht aufgelöst wurde, wenn eine Same-Document-Navigation bei „beforeunload“ begann. (Firefox-Bug 1879163) - Der Befehl
browser.closewurde verbessert, um beim Schließen von Browsing-Kontexten der obersten Ebene alle „beforeunload“-Prompts zu verwerfen. (Firefox-Bug 1873196) - Ein Fehler im Ereignis
browsingContext.userPromptOpenedwurde behoben, bei dem das FelddefaultValueunerwartet fehlte (Firefox-Bug 1859814) - Ein Problem mit dem Ereignis
network.responseCompletedwährend Authentifizierungsabläufen wurde behoben, bei dem dieses im Vergleich zu den Spezifikationen zu oft ausgelöst wurde. Für den gesamten HTTP-Authentifizierungsablauf wird nur ein EreignisresponseCompleted(oderfetchError) erwartet. (Firefox-Bug 1906106) - Der Befehl
browser.removeUserContextwurde verbessert, um alle „beforeunload“-Prompts zu überspringen. (Firefox-Bug 1876062)