Firefox 138 für Entwickler

Dieser Artikel bietet Informationen über die Änderungen in Firefox 138, die Entwickler betreffen. Firefox 138 wurde am 29. April 2025 veröffentlicht.

Änderungen für Webentwickler

HTML

  • Der Wert importmap des type Attributs des <script> Elements unterstützt jetzt den integrity Schlüssel. Dies ermöglicht es, die in den Importmaps referenzierten ES-Modul-URLs mit ihren Integritätsmetadaten abzugleichen. Infolgedessen sind diese Module nun mit CSP Direktiven kompatibel, die Subresource Integrity (SRI) erfordern. (Firefox bug 1945540).

CSS

Keine bemerkenswerten Änderungen

JavaScript

  • Die statische Methode Error.captureStackTrace() wird jetzt unterstützt. Diese installiert Stack-Trace-Informationen auf einem bereitgestellten Objekt als die Error.stack Eigenschaft. Der Hauptanwendungsfall besteht darin, einen Stack-Trace auf einem benutzerdefinierten Fehlerobjekt zu installieren, das nicht von der Error Schnittstelle abgeleitet ist. (Firefox bug 1950508).
  • Die statische Methode Error.isError() kann nun verwendet werden, um zu überprüfen, ob ein Objekt eine Instanz eines Error oder einer DOMException ist. Dies ist zuverlässiger als die Verwendung von instanceof für denselben Zweck. (Firefox bug 1952249).
  • Die import Deklaration unterstützt jetzt den Import von JSON-Modulen mittels des with Attributs.

HTTP

  • Der Clear-Site-Data Header kann mit der cache (und *) Direktive verwendet werden, um den Netzwerk-Cache des Browsers zu löschen. Dies gibt Websites mehr Kontrolle über gespeicherte Daten ihrer Nutzer, da es beispielsweise das Risiko von Datenschutzlecks durch das Löschen des Caches beim Abmelden mindert. (Firefox bug 1942272).
  • Der HTTP Origin-Agent-Cluster Antwort-Header kann jetzt von einer Website verwendet werden, um darauf hinzuweisen, dass das zugehörige Dokument in einem ursprungsbezogenen Agent-Cluster platziert werden sollte. Innerhalb eines solchen Clusters werden die vom Dokument verwendeten Betriebssystemprozesse und/oder andere OS-Ressourcen nur mit anderen Dokumenten desselben Ursprungs geteilt. Dadurch wird es weniger wahrscheinlich, dass ein ressourcenintensives Dokument die Leistung von Dokumenten anderer Ursprünge beeinträchtigt. Entwickler können testen, ob der Browser das Dokument in einem ursprungsbezogenen Agent-Cluster platziert hat, indem sie die window.originAgentCluster Eigenschaft verwenden. (Firefox bug 1665474)

APIs

DOM

Medien, WebRTC und Web Audio

  • WebRTC-Anwendungen können nun eine Präferenz für die Priorisierung von Bildrate oder Auflösung festlegen, wenn beide aufgrund von Netzwerkverschlechterung nicht auf den konfigurierten Ebenen gehalten werden können. Der Wert wird mit der degradationPreference Eigenschaft im Parameterobjekt festgelegt, das an die setParameters() Methode der RTCRtpSender Schnittstelle übergeben wird. Er kann auch aus dem Objekt gelesen werden, das von der getParameters() Methode zurückgegeben wird. (Firefox bug 1329847).

Konformität mit WebDriver (WebDriver BiDi, Marionette)

Allgemein

  • Alle Remote-Protokolle aktivieren jetzt die Präferenzen, die erforderlich sind, um Protokolle ordnungsgemäß an stdout weiterzuleiten (Firefox bug 1947740).
  • Ein neues Firefox-Argument, --remote-enable-system-access, wurde hinzugefügt, um sensible Funktionen zu aktivieren, wie das Interagieren mit Browsing-Kontexten im übergeordneten Prozess (z.B. Browser-UI) oder das Verwenden privilegierter APIs in Inhaltsprozessen. Dies wird für WebDriver BiDi-Funktionen in den nächsten Versionen verwendet und kann bereits mit Marionette verwendet werden (siehe Abschnitt Marionette unten) (Firefox bug 1944565).

WebDriver BiDi

  • Der Befehl webExtension.install installiert jetzt Web-Erweiterungen standardmäßig vorübergehend, sodass er mit unsignierten Erweiterungen verwendet werden kann - entweder als XPI-Datei oder als entpackter Ordner. Ein neuer Firefox-spezifischer Parameter, moz:permanent, wurde hinzugefügt, um die Installation als reguläre Erweiterung zu erzwingen (Firefox bug 1947678).
  • Der Befehl browsingContext.setViewport unterstützt jetzt einen userContexts-Parameter, der ein Array von Benutzerkontext- (Firefox-Container-) IDs sein muss. Wenn angegeben, wird die Viewport-Konfiguration auf alle Browsing-Kontexte angewendet, die zu diesen Benutzerkontexten gehören, sowie auf alle zukünftigen Kontexte, die innerhalb dieser erstellt werden. Dieser Parameter kann nicht zusammen mit dem bestehenden context-Parameter verwendet werden (Firefox bug 1940952).
  • Der Typ browsingContext.Info enthält jetzt eine clientWindow-Eigenschaft, die der ID des Fensters entspricht, dem der Browsing-Kontext gehört. Sie wird typischerweise von browsingContext.getTree zurückgegeben oder in der Nutzlast von Ereignissen wie browsingContext.contextCreated enthalten (Firefox bug 1920952).

Marionette

  • Das Wechseln zum chrome (übergeordneten Prozess) Kontext mit Marionette erfordert jetzt die Verwendung des --remote-enable-system-access Befehlszeilen-Flags beim Starten von Firefox (Firefox bug 1710425).

Änderungen für Add-on-Entwickler

Experimentelle Webfunktionen

Diese Funktionen sind neu in Firefox 138 verfügbar und gelten als experimentell. Sie können standardmäßig deaktiviert oder standardmäßig aktiviert sein, aber nur in der Nightly-Version verfügbar sein. Für standardmäßig deaktivierte Funktionen suchen Sie auf der about:config Seite nach der entsprechenden Präferenz und setzen Sie sie auf true. Weitere solche Funktionen finden Sie auf der Experimental Features Seite.

Ältere Versionen