Firefox 138 Release Notes 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
importmapWert destypeAttributs des<script>Elements unterstützt nun denintegritySchlüssel. Dies ermöglicht es, dass ES-Modul-URLs, die in den Import-Maps referenziert werden, mit ihren Integritätsmetadaten abgeglichen werden. Infolgedessen sind diese Module jetzt kompatibel mit CSP Direktiven, die Subresource-Integrität (SRI) erfordern. (Firefox Bug 1945540).
CSS
Keine bemerkenswerten Änderungen
JavaScript
- Die statische Methode
Error.captureStackTrace()wird jetzt unterstützt. Diese installiert Stapelverfolgungsinformationen auf einem bereitgestellten Objekt als dieError.stackEigenschaft. Der Hauptanwendungsfall ist die Installation einer Stapelverfolgung auf einem benutzerdefinierten Fehlerobjekt, das nicht von derErrorSchnittstelle abgeleitet ist. (Firefox Bug 1950508). - Die statische Methode
Error.isError()kann jetzt verwendet werden, um zu prüfen, ob ein Objekt eine Instanz vonErroroder einerDOMExceptionist. Dies ist zuverlässiger als die Verwendung voninstanceoffür denselben Zweck. (Firefox Bug 1952249). - Die
importDeklaration unterstützt nun den Import von JSON-Modulen mithilfe deswithAttributs.
HTTP
- Der
Clear-Site-DataHeader kann mit dercache(und*) Direktive verwendet werden, um den Browser-Netzwerkcache zu leeren. Dies gibt Websites mehr Kontrolle über die für ihre Nutzer gespeicherten Daten, um beispielsweise das Risiko von Datenschutzlecks zu verringern, indem der Cache beim Abmelden geleert wird. (Firefox Bug 1930500). - Der HTTP
Origin-Agent-ClusterAntwort-Header kann nun von einer Website verwendet werden, um darauf hinzuweisen, dass das zugehörige Dokument in einem ursprungsschlüsselbasierten Agent-Cluster platziert werden sollte. In einem solchen Cluster werden der vom Dokument verwendete Betriebssystemprozess und/oder andere Betriebssystemressourcen nur mit anderen Dokumenten aus demselben Ursprung geteilt. Dies verringert die Wahrscheinlichkeit, dass ein ressourcenintensives Dokument die Leistung von Dokumenten aus anderen Ursprüngen beeinträchtigt. Entwickler können testen, ob der Browser das Dokument in einen ursprungsschlüsselbasierten Agent-Cluster gelegt hat, indem sie diewindow.originAgentClusterEigenschaft verwenden. (Firefox Bug 1665474)
APIs
- Die Login Status API wird jetzt unterstützt, wenn die Federated Credential Management (FedCM) API verwendet wird. Sie kann genutzt werden, um festzustellen und zu überprüfen, ob ein Browser-Nutzer bei einem Identitätsanbieter angemeldet ist. Dies umfasst die Unterstützung der
NavigatorLoginSchnittstelle, dernavigator.loginEigenschaft und desSet-LoginHTTP-Antwort-Headers. (Firefox Bug 1945576 und Firefox Bug 1945573). - Die Web Audio API unterstützt jetzt bidirektionale Nachrichtenübermittlung auf einer
AudioWorklet.portund einerAudioWorkletGlobalScope.port. Dies ermöglicht eine benutzerdefinierte, asynchrone Kommunikation zwischen Code im Hauptthread und dem globalen Bereich eines Audio-Worklets, z.B. zum Empfang von Steuerdaten oder globalen Einstellungen. (Firefox Bug 1951240) - Die
getFingerprints()Methode derRTCCertificateSchnittstelle wird jetzt unterstützt. Eine Anwendung kann dies verwenden, um Fingerabdrücke für ein Zertifikat zu erhalten, das möglicherweise außerhalb der Bandbreite geteilt wird, um einen bestimmten Benutzer oder Browser über WebRTC-Sitzungen hinweg zu identifizieren. (Firefox Bug 1525241).
DOM
Medien, WebRTC und Web Audio
- WebRTC-Anwendungen können jetzt 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 über die
degradationPreferenceEigenschaft im Parameterobjekt festgelegt, das an diesetParameters()Methode derRTCRtpSenderSchnittstelle übergeben wird. Es kann auch aus dem Objekt ausgelesen werden, das von dergetParameters()Methode zurückgegeben wird. (Firefox Bug 1329847).
WebDriver-Konformität (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 z.B. die Interaktion mit Browsing-Kontexten im Hauptprozess (z.B. Browser-UI) oder die Verwendung privilegierter APIs in Inhaltsprozessen. Dies wird für WebDriver BiDi-Funktionen in den nächsten Releases verwendet und kann bereits mit Marionette verwendet werden (siehe den Marionette-Abschnitt unten) (Firefox Bug 1944565).
WebDriver BiDi
- Der Befehl
webExtension.installinstalliert jetzt Web-Erweiterungen standardmäßig vorübergehend, sodass er mit nicht signierten Erweiterungen verwendet werden kann - entweder als XPI-Datei oder als entpackter Ordner. Ein neuer, spezifischer Parameter für Firefox,moz:permanent, wurde hinzugefügt, um die Installation als reguläre Erweiterung zu erzwingen (Firefox Bug 1947678). - Der Befehl
browsingContext.setViewportunterstützt jetzt einenuserContextsParameter, der ein Array von Benutzerkontext-IDs (Firefox Container) sein muss. Wenn angegeben, wird die Viewport-Konfiguration auf alle Browsing-Kontexte angewendet, die diesen Benutzerkontexten angehören, sowie auf alle in ihnen erstellten zukünftigen Kontexte. Dieser Parameter kann nicht zusammen mit dem vorhandenencontextParameter verwendet werden (Firefox Bug 1940952). - Der
browsingContext.InfoTyp enthält jetzt eineclientWindowEigenschaft, die der ID des Fensters entspricht, das den Browsing-Kontext besitzt. Diese wird typischerweise vonbrowsingContext.getTreezurückgegeben oder ist im Payload von Ereignissen wiebrowsingContext.contextCreatedenthalten (Firefox Bug 1920952).
Marionette
- Der Wechsel zum
chrome(Hauptprozess) Kontext mit Marionette erfordert jetzt die Verwendung des Befehlszeilen-Flags--remote-enable-system-accessbeim Start von Firefox (Firefox Bug 1710425).
Änderungen für Add-on-Entwickler
- Unterstützung für
page_actionalsmenus.ContextTypeimmenusAPI für Manifest V3 Erweiterungen hinzugefügt. Dies bietet Manifest V3 Erweiterungen dieselbe Möglichkeit wie Manifest V2 Erweiterungen, Menüeinträge zupage_actionhinzuzufügen. (Firefox Bug 1951166) - Die
contextualIdentitiesAPI ist in Firefox für Android nicht mehr definiert. Zuvor war sie definiert, aber fehlerhaft. (Firefox Bug 1659500) - Die
contextualIdentitiesBerechtigung wird in Firefox für Android jetzt nicht mehr erkannt. Zuvor aktivierte sie eine fehlerhafte Version der "Container" Funktion. (Firefox Bug 1659500) - Die neue Manifest V3 Version der
userScriptsAPI ist jetzt in Firefox für Android verfügbar. (Firefox Bug 1949955) - Implementiert die
webRequest.handlerBehaviorChangedAPI. In früheren Versionen wurde diese Methode exponiert, aber tat nichts. (Firefox Bug 1657575) - Die
alarms.createAPI gibt jetzt ein Versprechen zurück, anstattundefined. (Firefox Bug 1869171) - Unterstützung hinzugefügt, um die Manipulation von Tabs innerhalb von Tab-Gruppen zu ermöglichen, einschließlich der Hinzufügung von:
tabs.group()undtabs.ungroup(). (Firefox Bug 1959714)groupIdzutabs.Tab. (Firefox Bug 1959713)groupIdzutabs.query. (Firefox Bug 1959715)groupIdzutabs.onUpdated. (Firefox Bug 1959716)
- Der
jsonRessourcen-Typ wird jetzt sowohl inwebRequest.ResourceTypeals auch indeclarativeNetRequest.ResourceTypein Firefox unterstützt, mit aktivierten Importattributen standardmäßig. Zuvor wurde er alsscriptgemeldet. (Firefox Bug 1858078 und Firefox Bug 1950836)
Experimentelle Web-Features
Diese Funktionen werden neu in Firefox 138 ausgeliefert und gelten als experimentell. Sie können standardmäßig deaktiviert oder standardmäßig aktiviert sein, sind jedoch nur in der Nightly-Version verfügbar. Bei deaktivierten Funktionen suchen Sie auf der about:config Seite nach der entsprechenden Einstellung und setzen Sie diese auf true. Weitere solche Funktionen finden Sie auf der Seite Experimentelle Funktionen.
-
UA-Stile für
<h1>, die in Abschnittselemente eingebettet sind:layout.css.h1-in-section-ua-styles.enabled.Die
<h1>Überschrift wird jetzt nicht mehr in der Schriftgröße verringert, wenn sie in Abschnittselemente<article>,<aside>,<nav>, und<section>eingebettet ist. Die UA-Stile für<h1>, die in Abschnittselemente eingebettet sind, sind nicht mehr relevant, da der Umrissalgorithmus aus der HTML-Spezifikation entfernt wurde. (Firefox Bug 1883896).Als Teil eines gestaffelten Rollouts dieser Entfernung werden 5% der Nutzer von Firefox 138 und 50% der Nutzer von Firefox Beta 138 den Wert von
layout.css.h1-in-section-ua-styles.enabledauffalsegesetzt haben (Intent to unship: UA styles for h1 in article, aside, nav, section).Hinweis: Die Präferenz für diese Funktion funktioniert umgekehrt: Sie ist in der Nightly-Version auf
falseeingestellt, was die UA-Stilisierung für in Abschnittselemente eingebettete Überschriften entfernt. In allen anderen Kanälen ist sie auftrueeingestellt, was die bestehende UA-Stilisierung für die eingebetteten Überschriften beibehält. -
::details-contentCSS Pseudo-Element:layout.css.details-content.enabled.Das CSS
::details-contentPseudo-Element ermöglicht es Ihnen, den Inhalt des<details>Elements zu stylen. (Firefox Bug 1901037). -
Erlauben von Pseudo-Elementen nach elementgestützten Pseudo-Elementen
Die Arbeit hat begonnen, um Pseudo-Elemente wie
::first-letterund::beforean elementgestützte Pseudo-Elemente wie::details-contentund::file-selector-buttonanzuhängen. (Firefox Bug 1953557).Hinweis: Diese Funktion hängt von der Unterstützung für das elementgestützte Pseudo-Element ab, das gezielt wird, zum Beispiel:
::details-content, das hinter derlayout.css.details-content.enabledPräferenz steht. -
MutationEventauf dem Weg zur Entfernung:dom.mutation_events.enabledMutationEventund die zugehörigen Ereignisse (DOMSubtreeModified,DOMNodeInserted,DOMNodeRemoved,DOMCharacterDataModified,DOMAttrModified) sind jetzt standardmäßig in Firefox Nightly deaktiviert. (Firefox Bug 1951772). -
Notification.actions(Nightly):dom.webnotifications.actions.enabledDie
Notification.actionsEigenschaft kann die Aktionen abrufen, die mit einerNotificationverknüpft sind, wie sie mitServiceWorkerRegistration.showNotification()festgelegt wurden. (Firefox Bug 1225110). -
PerformanceEventTiming.interactionId:dom.performance.event_timing.enable_interactionidPerformanceEventTiming.interactionIdkann verwendet werden, um die Latenz-Zeitmessung für Ereignisse zu ermitteln, die durch eine bestimmte Benutzerinteraktion ausgelöst wurden. (Firefox Bug 1934683). -
HTML Sanitizer API:
dom.security.sanitizer.enabledDie HTML Sanitizer API ermöglicht es Entwicklern, nicht vertrauenswürdige HTML-Zeichenketten zu sanitizieren, damit sie sicher in das DOM eines Dokuments eingefügt werden können. (Firefox Bug 1950605, Firefox Bug 1952250).