Firefox 129 für Entwickler

Dieser Artikel liefert Informationen zu den Änderungen in Firefox 129, die Entwickler betreffen. Firefox 129 wurde am 6. August 2024 veröffentlicht.

Änderungen für Webentwickler

CSS

JavaScript

HTTP

  • HTTPS DNS-Einträge können jetzt 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 Verwendung von HTTP/3 ohne die Alt-Svc-Header zu verwenden und ermöglicht das automatische Upgrade von HTTP-Anforderungen auf HTTPS, wenn der HTTPS-DNS-Eintrag vorhanden ist. Am wichtigsten ist, dass es jetzt möglich ist, die Datenschutzfunktion Encrypted Client Hello (ECH) zu verwenden, auch wenn DoH nur auf dem Gerät und nicht im Browser aktiviert ist. (Firefox-Fehler 1906239).

APIs

  • Das veraltete textInput-Ereignis wird jetzt unterstützt und ermöglicht Web-Apps, die veraltete Bibliotheken oder Frameworks verwenden, die auf diese Ereignisse angewiesen sind. Das beforeinput-Ereignis ersetzt textInput und sollte von neuen Anwendungen immer verwendet werden. (Firefox-Fehler 1901923.)
  • Die Standard-Methoden .toJSON() GeolocationCoordinates.toJSON() und GeolocationPosition.toJSON() werden jetzt unterstützt und ermöglichen die Serialisierung von GeolocationCoordinates und GeolocationPosition-Objekten mit JSON.stringify() (Firefox-Fehler 1890706).
  • CSSPageDescriptors wird jetzt unterstützt und wird anstelle von CSSStyleDeclaration als Typ für CSSPageRule.style verwendet — entsprechend der aktuellen Spezifikation. Dies stellt sicher, dass CSSPageDescriptors nur die @page-bezogenen Eigenschaften exponiert, anstatt aller Eigenschaften, und behebt auch ein Problem, bei dem das Festlegen der Seitengröße size in einer CSS-@page-At-Regel nicht in CSSPageRule.style widergespiegelt wurde. (Firefox-Fehler 1890842, Firefox-Fehler 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 wissen, ob die Konfiguration unterstützt wird und ob die Inhalte flüssig abgespielt werden und stromsparend sind. Zu den Änderungen gehört eine neue Eigenschaft keySystemConfiguration im configuration-Argument der Methode, die die Eigenschaften des Schlüsselsystems definiert, das zur Verschlüsselung der Medien verwendet wird, sowie eine neue keySystemAccess-Eigenschaft im zurückgegebenen Objekt, das ein MediaKeySystemAccess Objekt ist, das verwendet werden kann, um Schlüssel zu erstellen und die Inhalte zur Wiedergabe zu dekodieren. (Firefox-Fehler 1898344).
  • Firefox löst jetzt Ereignisse für ein synchrones XMLHttpRequest aus, bevor die Ereignisse für laufende asynchrone XMLHttpRequest ausgelöst werden. Dies behebt einen langjährigen Verhaltensunterschied zu anderen Browsern. Beachten Sie, dass diese Änderung zwar einige Seiten beheben sollte, aber auch zu einer verschlechterten Leistung auf Seiten führen kann, die das alte "nicht blockierende" Verhalten für ein synchrones XMLHttpRequest erwarten. Bitte melden Sie einen Fehler, wenn Ihre Website durch diese Änderung behoben werden sollte, aber immer noch verwandte Probleme aufweist. (Firefox-Fehler 697151.)
  • Der Ed25519 digitale Signaturalgorithmus wird von der Web Crypto API unterstützt und kann in den SubtleCrypto-Methoden verwendet werden: sign(), verify(), generateKey(), importKey() und exportKey() (Firefox-Fehler 1804788).
  • Die Eigenschaften contentType und responseStatus des PerformanceResourceTiming-Interfaces werden jetzt unterstützt und zeigen den Inhaltstyp der abgerufenen Ressource sowie den HTTP-Antwortstatuscode an, der beim Abrufen der Ressource zurückgegeben wurde. (Firefox-Fehler 1800443, Firefox-Fehler 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 es unterstützt wird, können Sie DTMF-Töne mit RTCDTMFSender.insertDTMF() einfügen. (Firefox-Fehler 1623193).

Entfernungen

WebDriver-Konformität (WebDriver BiDi, Marionette)

Entfernungen

  • Standardmäßig ist CDP (Chrome DevTools Protocol) jetzt deaktiviert. Es kann über die Einstellung remote.active-protocols wieder aktiviert werden. Weitere Informationen finden Sie in diesem Blogbeitrag. (Firefox-Fehler 1882089)

WebDriver BiDi

  • Unterstützung für den Befehl network.setCacheBehavior hinzugefügt, der es ermöglicht, den Browser so zu konfigurieren, dass der Netzwerkcache entweder global oder für eine Reihe von obersten Web-Kontexten umgangen wird. (Firefox-Fehler 1901032 und Firefox-Fehler 1906100)
  • Unterstützung für Eingabeaufforderungen vom Typ beforeUnload hinzugefügt, die jetzt wie andere Benutzereingabeaufforderungen behandelt werden können. (Firefox-Fehler 1824220)
  • Wir unterstützen jetzt alle Argumente für den Befehl network.provideResponse, wenn er in der Phase beforeRequestSent verwendet wird, z. B. den Parameter body, der es ermöglicht, simulierte Antworten zurückzugeben. (Firefox-Fehler 1853882)
  • browsingContext.userPromptOpened enthält jetzt das handler-Feld, das den Benutzereingabeaufforderungshandler enthält, der für die Eingabeaufforderung konfiguriert ist, die das Ereignis ausgelöst hat. (Firefox-Fehler 1904822)
  • Der Typ BrowsingContextInfo wird jetzt ein originalOpener-Feld bereitstellen, das die Kontext-ID des "Opener"-Browserkontexts ist. Dies wird zum Beispiel gesetzt, wenn der neue Kontext durch die Verwendung eines Links (auch mit rel=noopener), window.open usw. erstellt wurde. Wenn der neue Browserkontext keinen relevanten Opener hat, wird das Feld auf null gesetzt. (Firefox-Fehler 1898004)
  • Netzwerkevents (beforeRequestSent, responseStarted und responseCompleted) werden jetzt für Anfragen zu Daten-URLs erstellt. In Firefox 129 werden nur Navigationsanfragen aufgelistet. (Firefox-Fehler 1805176)
  • Wir haben Unterstützung für das promptUnload-Argument in browsingContext.close hinzugefügt, das es ermöglicht, "beforeunload"-Eingabeaufforderungen zu umgehen, wenn ein Kontext über diesen Befehl geschlossen wird. (Firefox-Fehler 1862380)
  • Ein Fehler in network.continueRequest wurde behoben, bei dem Sie nicht mehrere Werte für denselben Header festlegen konnten. (Firefox-Fehler 1904379)
  • Ein Fehler in der unhandledPromptBehavior-Fähigkeit wurde behoben, der nicht mit BiDi-only-Sitzungen verwendet werden konnte. (Firefox-Fehler 1907935)
  • Ein Fehler mit session.end und browser.close wurde behoben, bei dem es unerwartet fehlschlug, wenn kein Marionette-Client verbunden war. (Firefox-Fehler 1890091)
  • Ein Fehler mit browsingContext.navigate wurde behoben, der sich nicht auflösen ließ, wenn eine Navigation im gleichen Dokument bei "beforeunload" startete. (Firefox-Fehler 1879163)
  • Der Befehl browser.close wurde verbessert, um alle "beforeunload"-Eingabeaufforderungen zu verwerfen, wenn die obersten Browserkontexte geschlossen werden. (Firefox-Fehler 1873196)
  • Ein Fehler im browsingContext.userPromptOpened-Ereignis wurde behoben, das unerwartet das defaultValue-Feld vermissen ließ (Firefox-Fehler 1859814)
  • Ein Problem mit dem network.responseCompleted Ereignis während Authentifizierungsflüssen wurde behoben, das zu oft im Vergleich zu den Spezifikationen ausgelöst wurde. Es wird nur ein responseCompleted- (oder fetchError-)Ereignis für den gesamten HTTP-Authentifizierungsfluss erwartet. (Firefox-Fehler 1906106)
  • Der Befehl browser.removeUserContext wurde verbessert, um alle "beforeunload"-Eingabeaufforderungen zu überspringen. (Firefox-Fehler 1876062)

Ältere Versionen