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 Web-Entwickler

HTML

Keine bemerkenswerten Änderungen

CSS

Entfernungen

JavaScript

  • Der JSON-Parse mit Source-Vorschlag wird jetzt unterstützt. Er zielt darauf ab, Funktionen bereitzustellen, um Probleme im Zusammenhang mit dem Verlust von Genauigkeit bei der Umwandlung von Werten wie große Gleitkommazahlen und Datumswerte zwischen JavaScript-Werten und JSON-Text zu mildern (Firefox-Bug 1934622). Insbesondere sind die folgenden Funktionen jetzt verfügbar:
    • Der JSON.parse() reviver-Parameter context-Argument: Bietet Zugriff auf den ursprünglichen JSON-Quelldateitext, der geparst wurde.
    • JSON.isRawJSON(): Testet, ob ein Wert ein von JSON.rawJSON() zurückgegebenes Objekt ist.
    • JSON.rawJSON(): Erstellt ein "raw JSON"-Objekt, das ein Stück JSON-Text enthält und in ein Objekt eingefügt werden kann, um den angegebenen Wert beizubehalten, wenn dieses Objekt stringifyt wird.

Sicherheit

  • Certificate Transparency ist ein Standard, um sicherzustellen, dass Zertifikate öffentlich offengelegt wurden, bevor Webbrowser ihnen vertrauen. Firefox unterstützt diese Funktion jetzt in Desktop-Versionen (aber nicht auf Android). Dies betrifft nur Server, die Zertifikate verwenden, die von einer Zertifizierungsstelle in Mozillas Root CA-Programm ausgestellt wurden. (Firefox-Bug 1938242).

APIs

DOM

Medien, WebRTC und Web Audio

WebDriver-Konformität (WebDriver BiDi, Marionette)

Allgemeines

  • Um Benutzereingaben realistischer zu gestalten und echte Benutzerinteraktionen im Browser besser zu simulieren, haben wir die Verarbeitung von Aktionsfolgen der Perform Actions-Befehle sowohl in Marionette als auch in WebDriver BiDi vom Inhaltsprozess in den Elternprozess verlegt. Während Ereignisse weiterhin synchron aus dem Inhaltsprozess gesendet werden, werden sie jetzt asynchron über IPC-Aufrufe ausgelöst, die vom Elternprozess stammen (Firefox-Bug 1922077).

    Aufgrund dieser signifikanten Änderung können noch einige Regressionen bestehen. Wenn Sie auf Probleme stoßen, melden Sie bitte einen Fehler für den Remote-Agent. Falls die Regressionen die Ausführung von Tests blockieren, können Sie vorübergehend zum vorherigen Verhalten zurückkehren, indem Sie die Firefox-Präferenz remote.events.async.enabled auf false setzen.

  • Mit der Verarbeitung von Aktionen, die nun im Elternprozess erfolgt, wurden auch die folgenden Probleme behoben:

    • Wir unterstützen jetzt die ordnungsgemäße Warteschlangenbildung von Aktionsfolgen ohne Race-Conditions. Dies ist insbesondere wichtig für den input.performActions-Befehl von WebDriver BiDi, der mehrfach parallel aufgerufen werden kann und die in die Warteschlange gestellten Aktionen sequentiell ausführen muss (Firefox-Bug 1915798).

    • Beim Versenden von Aktionen wird die input cancel list jetzt erst dann korrekt aktualisiert, nachdem die Aktion erfolgreich versendet wurde. Zuvor konnte, wenn eine Aktion fehlgeschlagen war, eine umgekehrte 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 individuelle Aktionen jetzt während des Versands erneut versucht, insbesondere in Situationen, in denen eine einzelne Aktion eine Navigation auslöst, die das aktuelle Browser-Kontext ersetzt (Firefox-Bug 1930530, Firefox-Bug 1930090).

    • Bei der Ausführung von Aktionen trat ein 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 immer noch versendet wurden (Firefox-Bug 1932916).

  • Einige Marionette- und WebDriver BiDi-Befehle, die intern darauf angewiesen sind, dass ein requestAnimationFrame emittiert wird, bevor sie zurückkehren, würden hängenbleiben, wenn der aktuelle Browser-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, mit dem 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-Features

Diese Funktionen sind neu in Firefox 135 verfügbar, aber standardmäßig deaktiviert. Um mit ihnen zu experimentieren, suchen Sie die entsprechende Präferenz auf der about:config-Seite und setzen Sie sie auf true. Weitere solche Funktionen finden Sie auf der Seite für experimentelle Funktionen.

  • Temporal API (Nightly Release): javascript.options.experimental.temporal. Das Temporal-Objekt zielt darauf ab, die Arbeit mit Datums- und Zeitangaben in verschiedenen Szenarien zu vereinfachen, mit eingebauten Zeitzonen- und Kalenderdarstellungen. (Firefox-Bug 1912511).
  • Prioritized Task Scheduling API: dom.enable_web_task_scheduling. Die Prioritized Task Scheduling API bietet eine standardisierte Möglichkeit, alle Tasks einer Anwendung zu priorisieren, egal ob sie im Code eines Website-Entwicklers definiert sind oder in Drittanbieter-Bibliotheken und Frameworks. Diese wurde vorübergehend in Nightly-Builds deaktiviert, um Störungen in freier Wildbahn zu vermeiden. (Firefox-Bug 1938242).

Ältere Versionen