Firefox 135 für Entwickler

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

Änderungen für Webentwickler

HTML

Keine bemerkenswerten Änderungen

CSS

Entfernungen

JavaScript

  • Der JSON parse with source proposal wird jetzt unterstützt. Dieser Vorschlag zielt darauf ab, Funktionen bereitzustellen, um Probleme bei Präzisionsverlust zu mindern, wenn Werte wie große Fließkommazahlen und Datumswerte zwischen JavaScript-Werten und JSON-Text konvertiert werden (Firefox-Bug 1934622). Insbesondere sind die folgenden Funktionen jetzt verfügbar:
    • Das JSON.parse() reviver-Parameter-context-Argument: Bietet Zugriff auf den ursprünglichen JSON-Quelltext, der geparst wurde.
    • JSON.isRawJSON(): Prüft, ob ein Wert ein von JSON.rawJSON() zurückgegebenes Objekt ist.
    • JSON.rawJSON(): Erzeugt ein "rohes JSON"-Objekt, das ein Stück JSON-Text enthält und anschließend in ein Objekt aufgenommen werden kann, um den angegebenen Wert beim Umwandeln in einen String zu bewahren.

Sicherheit

  • Certificate Transparency ist ein Standard, der sicherstellt, dass Zertifikate öffentlich bekannt gemacht werden, bevor Webbrowser ihnen vertrauen. Firefox unterstützt diese Funktion jetzt in Desktop-Versionen (nicht jedoch auf Android). Dies betrifft nur Server, die Zertifikate verwenden, die von einer Zertifizierungsstelle im Mozilla Root CA-Programm ausgestellt wurden. (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, haben wir die Verarbeitung der Aktionssequenz der Perform Actions-Befehle in Marionette und WebDriver BiDi vom Inhaltsprozess in den Elternprozess verlagert. Während Ereignisse weiterhin synchron vom Inhaltsprozess gesendet werden, werden sie nun asynchron über IPC-Aufrufe ausgelöst, die vom Elternprozess stammen (Firefox-Bug 1922077).

    Aufgrund dieser signifikanten Änderung können einige Regressionen noch vorhanden sein. Wenn Sie auf Probleme stoßen, reichen Sie bitte einen Fehlerbericht für den Remote Agent ein. Falls die Regressionen die Testausführung blockieren, können Sie vorübergehend zum vorherigen Verhalten zurückkehren, indem Sie die Firefox-Einstellung remote.events.async.enabled auf false setzen.

  • Mit der Verarbeitung der Aktionen im Elternprozess wurden auch folgende Probleme behoben:

    • Wir unterstützen nun eine ordnungsgemäße Warteschlangenabwicklung von Aktionssequenzen ohne Race-Bedingungen. Dies ist besonders wichtig für den input.performActions-Befehl von WebDriver BiDi, der mehrfach parallel aufgerufen werden kann und die Aufgaben in der richtigen Reihenfolge ausführen muss (Firefox-Bug 1915798).

    • Beim Versenden von Aktionen wird die input cancel list jetzt korrekt erst nach erfolgreichem Versenden der Aktion aktualisiert. Früher konnte, falls eine Aktion fehlschlug, eine Umkehrung der Aktion bestehen bleiben, was zu unerwarteten Nebeneffekten beim Zurücksetzen des Zustands der input source führen konnte (Firefox-Bug 1930845).

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

    • Beim Ausführen von Aktionen trat der Fehler 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 versendet wurden (Firefox-Bug 1932916).

  • Einige Marionette- und WebDriver BiDi-Befehle, die intern darauf angewiesen sind, dass ein requestAnimationFrame vor der Rückkehr gesendet wird, hängten sich auf, 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 hinzugefügt, wodurch Clients verschiedene Dateiformate angeben können (image/png und image/jpeg werden derzeit unterstützt) und die Kompressionsqualität für Screenshots definieren können (Firefox-Bug 1861737).

Änderungen für Add-on-Entwickler

Experimentelle Web-Funktionen

Diese Funktionen sind neu in Firefox 135 ausgeliefert worden, aber standardmäßig deaktiviert. Um mit ihnen zu experimentieren, suchen Sie auf der about:config-Seite nach der entsprechenden Einstellung und setzen Sie sie auf true. Weitere solcher Funktionen finden Sie auf der Seite Experimentelle Funktionen.

  • Temporal API (Nightly Version): javascript.options.experimental.temporal. Das Temporal-Objekt soll das Arbeiten mit Daten und Uhrzeiten in verschiedenen Szenarien vereinfachen, mit eingebauten Zeitzonen- und Kalenderdarstellungen. (Firefox-Bug 1912511).
  • Priorisierte Aufgabenplanung API: dom.enable_web_task_scheduling. Die Priorisierte Aufgabenplanung API bietet eine standardisierte Methode zur Priorisierung aller Aufgaben, die zu einer Anwendung gehören, egal ob sie im Code eines Webentwicklers definiert sind oder in Drittanbieter-Bibliotheken und Frameworks. Diese wurde vorübergehend in Nightly-Builds deaktiviert, um Ausfälle in freier Wildbahn zu vermeiden. (Firefox-Bug 1938242).