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

JavaScript

  • Float16Array typisierte Arrays werden jetzt unterstützt, zusammen mit DataView.prototype.getFloat16() und DataView.prototype.setFloat16() zum Lesen und Setzen von Float16Array-Werten aus einem DataView, und der statischen Methode Math.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. Das beforeinput-Ereignis ersetzt textInput und sollte immer von neuen Anwendungen verwendet werden. (Firefox-Bug 1901923.)
  • Die Standardmethoden .toJSON() GeolocationCoordinates.toJSON() und GeolocationPosition.toJSON() werden jetzt unterstützt, was die Serialisierung von GeolocationCoordinates- und GeolocationPosition-Objekten mit JSON.stringify() ermöglicht (Firefox-Bug 1890706).
  • CSSPageDescriptors wird jetzt unterstützt und wird als Typ für CSSPageRule.style anstelle von CSSStyleDeclaration verwendet — was der aktuellen Spezifikation entspricht. Dies stellt sicher, dass CSSPageDescriptors nur die @page-bezogenen Eigenschaften freilegt, anstatt aller Eigenschaften, und löst auch ein Problem, bei dem das Festlegen der Seite size in einer CSS-@page-Regel nicht in CSSPageRule.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 Eigenschaft keySystemConfiguration im configuration-Argument der Methode, die die Eigenschaften des verwendeten Schlüsselsystems zur Verschlüsselung der Medien definiert, und eine neue keySystemAccess-Eigenschaft im zurückgegebenen Objekt, das ein MediaKeySystemAccess-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 asynchrone XMLHttpRequest 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 synchrone XMLHttpRequest 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() und exportKey() (Firefox-Bug 1804788).
  • Die Eigenschaften contentType und responseStatus des PerformanceResourceTiming-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 mit RTCDTMFSender.insertDTMF() einfügen. (Firefox-Bug 1623193).

Entfernungen

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 der beforeRequestSent-Phase verwendet wird, wie z. B. den body-Parameter, der es ermöglicht, Mock-Antworten zurückzugeben. (Firefox-Bug 1853882)
  • Das browsingContext.userPromptOpened enthält jetzt das handler-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 ein originalOpener-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 mit rel=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 und responseCompleted) 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ür browsingContext.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 und browser.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 das defaultValue-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 ein responseCompleted (oder fetchError)-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