Firefox 135 für Entwickler

Dieser Artikel bietet Informationen zu den Änderungen in Firefox 135, die Entwickler betreffen. Firefox 135 wurde am 4. Februar 2025 veröffentlicht.

Änderungen für Webentwickler

HTML

Keine bedeutenden Änderungen

CSS

Entfernungen

JavaScript

  • Der JSON parse with source proposal wird nun unterstützt. Ziel dieses Vorschlags ist es, Probleme im Zusammenhang mit Präzisionsverlusten zu mindern, die beim Konvertieren von Werten wie großen Fließkommazahlen und Datumswerten zwischen JavaScript-Werten und JSON-Text auftreten (Firefox Bug 1934622). Insbesondere sind die folgenden Funktionen jetzt verfügbar:
    • Der reviver-Parameter context-Argument von JSON.parse() (reviver parameter context argument): Ermöglicht Zugriff auf den ursprünglichen JSON-Quelltext, der analysiert wurde.
    • JSON.isRawJSON(): Überprüft, ob ein Wert ein Objekt ist, das von JSON.rawJSON() zurückgegeben wurde.
    • JSON.rawJSON(): Erstellt ein "rohes JSON"-Objekt, das ein Stück JSON-Text enthält und in ein Objekt eingefügt werden kann, um den angegebenen Wert beim Serialisieren des Objekts beizubehalten.

Sicherheit

  • Certificate Transparency ist ein Standard, der sicherstellt, dass Zertifikate öffentlich bekannt gemacht werden, bevor sie von Webbrowsern vertraut werden. Firefox unterstützt diese Funktion nun in der Desktop-Version (nicht auf Android). Dies betrifft nur Server, die Zertifikate von einer Zertifizierungsstelle verwenden, die im Mozilla Root CA-Programm enthalten ist. (Firefox Bug 1938242).

APIs

DOM

Medien, WebRTC und Web Audio

WebDriver-Konformität (WebDriver BiDi, Marionette)

Allgemein

  • Um Benutzereingaben realistischer zu gestalten und reale Benutzerinteraktionen im Browser besser zu simulieren, wurde die Verarbeitung der Aktionssequenzen der Perform Actions-Befehle sowohl in Marionette als auch in WebDriver BiDi vom Content-Prozess in den Parent-Prozess verlagert. Während Ereignisse weiterhin synchron aus dem Content-Prozess gesendet werden, werden sie jetzt asynchron über IPC-Aufrufe ausgelöst, die vom Parent-Prozess ausgehen (Firefox Bug 1922077).

    Aufgrund dieser signifikanten Änderung können noch einige Regressionen existieren. Sollten Probleme auftreten, melden Sie diese bitte im Bugzilla für den Remote Agent. Falls die Regressionen die Testausführung blockieren, kann vorübergehend auf das vorherige Verhalten zurückgegriffen werden, indem die Firefox-Präferenz remote.events.async.enabled auf false gesetzt wird.

  • Durch die Verarbeitung von Aktionen im Parent-Prozess wurden auch folgende Probleme behoben:

    • Es wird nun eine korrekte Warteschlange von Aktionssequenzen ohne Race-Conditions unterstützt. Dies ist insbesondere für den input.performActions-Befehl von WebDriver BiDi wichtig, der mehrfach parallel aufgerufen werden kann und die eingereihten Aktionen sequenziell ausführen muss (Firefox Bug 1915798).

    • Beim Versenden von Aktionen wird die input cancel list jetzt korrekt nur nach erfolgreicher Verarbeitung der Aktion aktualisiert. Zuvor konnte es bei einer fehlgeschlagenen Aktion dazu kommen, dass eine Rückgängig-Aktion fälschlicherweise bestehen blieb, was zu unerwarteten Seiteneffekten beim Zurücksetzen des input source-Status führte (Firefox Bug 1930845).

    • Während der Ausführung von Aktionen werden nun individuelle Aktionen während der Ausführung wiederholt, insbesondere in Situationen, in denen eine einzelne Aktion eine Navigation auslöst, die den aktuellen Browsing-Kontext ersetzt (Firefox Bug 1930530, Firefox Bug 1930090).

    • Bei der Ausführung von Aktionen trat ein Fehler des Typs TypeError: can't access property "getActor", browsingContext.currentWindowGlobal is null auf, wenn eine Aktion (nicht die letzte) in der Aktionskette das Fenster schloss und die verbleibenden Aktionen noch verarbeitet wurden (Firefox Bug 1932916).

  • Einige Marionette- und WebDriver-BiDi-Befehle, die intern darauf angewiesen sind, dass ein requestAnimationFrame vor ihrer Rückkehr ausgelöst wird, hingen fest, wenn der aktuelle Browsing-Kontext während ihrer Ausführung navigiert wurde (Firefox Bug 1937118).

WebDriver BiDi

  • Unterstützung für das format-Feld im browsingContext.captureScreenshot-Befehl wurde hinzugefügt. Damit können Clients unterschiedliche Dateiformate spezifizieren (image/png und image/jpg werden derzeit unterstützt) und die Komprimierungsqualität für Screenshots definieren (Firefox Bug 1861737).

Änderungen für Add-on-Entwickler

Experimentelle Web-Features

Diese Features sind neu in Firefox 135 integriert, aber standardmäßig deaktiviert. Um sie auszuprobieren, suchen Sie auf der Seite about:config nach der entsprechenden Präferenz und setzen Sie diese auf true. Weitere experimentelle Funktionen finden Sie auf der Seite Experimental features.

  • Temporal API (Nightly-Version): javascript.options.experimental.temporal. Das Temporal-Objekt zielt darauf ab, die Arbeit mit Datums- und Zeitangaben in verschiedenen Szenarien zu vereinfachen, mit integrierten Zeitzonen- und Kalenderdarstellungen. (Firefox Bug 1912511).
  • Prioritized Task Scheduling API: dom.enable_web_task_scheduling. Die Prioritized Task Scheduling API bietet eine standardisierte Methode, um alle einer Anwendung zugehörigen Aufgaben zu priorisieren, unabhängig davon, ob sie im Code des Website-Entwicklers oder in Drittanbieterbibliotheken und -frameworks definiert wurden. Diese wurde vorübergehend in Nightly-Builds deaktiviert, um Fehlfunktionen in freier Wildbahn zu vermeiden. (Firefox Bug 1938242).

Ältere Versionen