Firefox-156-Versionshinweise für Entwickler (Stable)
Dieser Artikel enthält Informationen zu den Änderungen in Firefox 156, die Entwickler betreffen. Firefox 156 wurde am 15. September 2026 veröffentlicht.
Änderungen für Webentwickler
>Entwicklerwerkzeuge
- Die Anzeige der Viewport-Größe im Highlighter des Inspektors rundet Breite und Höhe nicht mehr, wodurch zuvor bei gebrochenen Zoomstufen oder auf Displays mit hoher Pixeldichte eine irreführende Größe gemeldet wurde. (Firefox-Bug 2055445).
- DevTools kann nun eine Verbindung zu einem Debugger-Server herstellen, der bis zu drei Versionen älter als der Client ist, gegenüber der vorherigen Begrenzung. Dies ist beim Remote-Debugging eines älteren Firefox- oder GeckoView-Builds relevant. (Firefox-Bug 2064221).
HTML
Keine nennenswerten Änderungen.
SVG
MouseEvent.offsetXundMouseEvent.offsetYwerden für Ereignisse, deren Ziel ein<tspan>ist, nun vom Ursprung des äußersten<svg>-Elements aus gemessen; zuvor wurde der falsche Ursprung verwendet. (Firefox-Bug 2066045).- Der Setter von
SVGSVGElement.currentScaleist nun bei einem verschachtelten<svg>-Element eine No-Op-Operation, wie von der Spezifikation gefordert. Beim äußersten<svg>-Element funktioniert er weiterhin. (Firefox-Bug 2063188).
CSS
- Das nicht standardisierte Pseudoelement
::-webkit-scrollbarwird nun in@supports-Bedingungen auf jeder Website als nicht unterstützt gemeldet, sodass@supports selector(::-webkit-scrollbar)falsezurückgibt und@supports not (selector(::-webkit-scrollbar))truezurückgibt. Dies schließt die Websites ein, die in der in Firefox 155 eingeführten Einstellunglayout.css.fake-webkit-scrollbar.enabled-domainsaufgeführt sind. Firefox verarbeitet auf diesen Websites weiterhin::-webkit-scrollbar-Regeln, meldet das Pseudoelement jedoch nicht mehr als unterstützt. Websites verwenden diese Prüfung als Signal dafür, dass die gesamte Familie::-webkit-scrollbar-*unterstützt wird, Firefox unterstützt jedoch die anderen Pseudoelemente dieser Familie nicht. Websites, die ihre Standard-Scrollbar-Stile mit@supports not (selector(::-webkit-scrollbar))absichern, erhalten diese Stile nun in Firefox. (Firefox-Bug 2062782). - Die Eigenschaften
text-box-trimundtext-box-edgebeschneiden nun in mehreren Fällen korrekt, die zuvor ein falsches Ergebnis erzeugten: Das Beschneiden verwendet die Schriftmetriken des Pseudoelements::first-line, wenn eines angewendet wird (Firefox-Bug 2063835), bei Fragmentierung einer Inline-Box in der letzten Zeile wird die korrekte Zeile beschnitten (Firefox-Bug 2063909), und das Beschneiden einer Inline-Box entfernt nicht mehr deren Rahmen und Innenabstand (Firefox-Bug 2064596). Beachten Sie, dasstext-box-trimin Kombination mitline-clampweiterhin keine Wirkung hat.
JavaScript
Promise.try()löst nun den Rückgabewert des Callbacks auf dieselbe Weise auf wiePromise.resolve(), sodass ein vom Callback zurückgegebenes Promise unverändert durchgereicht wird, statt in ein neues Promise verpackt zu werden.Promise.try(() => p)ist nun dasselbe Promise wiep, wennpein natives Promise ist. Dies folgt einer normativen Änderung der Spezifikation. (Firefox-Bug 2062293).using-Deklarationen können nicht mehr neu zugewiesen werden, entsprechend der von der Spezifikation verlangtenconst-ähnlichen Semantik. Zuvor konnte eine solche Bindung stillschweigend geändert werden. (Firefox-Bug 2040286).
Sicherheit
- Die Finite-Field-Diffie-Hellman-Gruppen
ffdhe2048undffdhe3072werden bei TLS-Handshakes standardmäßig nicht mehr angeboten. Server, die ausschließlich diese Gruppen unterstützen, können keine Verbindung mehr aushandeln; nahezu alle Server unterstützen stattdessen den ECDHE-Schlüsselaustausch. (Firefox-Bug 1992340).
APIs
SubtleCrypto.deriveBits()löst nun einenTypeErroraus, wenn der übergebene ParameterlengthNaN,Infinity, negativ oder größer als 232−1 ist. Zuvor wurden diese Werte entweder akzeptiert oder das zurückgegebene Promise mit einemOperationErrorabgelehnt. (Firefox-Bug 2065212).Scheduler.yield()übernimmt nun die Priorität und das Abbruchsignal der umschließenden Task über einawaithinweg, das synchron erfüllt wird, beispielsweise durch ein bereits aufgelöstes Promise, einen Nicht-Promise-Wert oder einenthen()-Callback auf einem erfüllten Promise. Zuvor verlor die Fortsetzung in diesen Fällen den übernommenen Zustand und fiel stillschweigend auf die Standardprioritätuser-visiblezurück.
DOM
Range.deleteContents()undRange.extractContents()arbeiten nun mit dem DOM-Baum statt mit dem flachen Baum. Dadurch löscht und extrahiert ein Range, der eine Shadow-Root-Grenze überspannt, nun die von der Spezifikation geforderten Knoten, auch wenn der Range innerhalb eines Shadow-Baums beginnt oder endet. Zuvor konnte ein solcher Range Inhalte innerhalb des Shadow-Baums entfernen, während nicht zugewiesene Kinder des Hosts an ihrer Stelle blieben, undRange.extractContents()konnte einen Fehler auslösen, statt ein Fragment zurückzugeben. Dieselbe Korrektur gilt fürSelection.deleteFromDocument(). (Firefox-Bug 2053997).
Medien, WebRTC und Web Audio
- Das Mitglied
alwaysNegotiateDataChannelsdes Konfigurationsobjekts, das an den KonstruktorRTCPeerConnection()übergeben wird, wird nun unterstützt. Wenn es auftruegesetzt ist, enthält das von der Verbindung erzeugte SDP immer eine Data-Channel-m-line, sodassRTCPeerConnection.createDataChannel()später aufgerufen werden kann, ohne eine neue Verhandlungsrunde zu erfordern. Das Mitglied hat standardmäßig den Wertfalse, wird vonRTCPeerConnection.getConfiguration()zurückgegeben und kann nicht durchRTCPeerConnection.setConfiguration()geändert werden. (Firefox-Bug 2062561).
WebDriver-Konformität (WebDriver BiDi, Marionette)
Allgemein
- Marionette und RemoteAgent verwenden nun beide einen benutzerdefinierten Exit-Code (69), wenn ihr Server nicht gestartet werden kann. (Firefox-Bug 2040974).
- Das Timing von Zwischenereignissen für Aktionen mit einer Dauer größer als 0 wurde verbessert, um näher an einem Intervall von 16 ms zu liegen und eine Aufblähung der Gesamtdauer zu vermeiden, selbst wenn der Content-Prozess überlastet ist. (Firefox-Bug 2054442).
WebDriver BiDi
browsingContext.startScreencastwählt nun sicher einen gültigen Download-Ordner aus und sollte keinen Fehler mehr auslösen, wenn der Standard-Download-Ordner (DfltDwnld) nicht verfügbar ist. (Firefox-Bug 2066782).- Das Mozilla-spezifische Modul
moz:debuggingwurde korrigiert, um verschachtelte Pausen korrekt zu verarbeiten. (Firefox-Bug 2060460).
Marionette
- Der Befehl
WebDriver:GetElementTagNamewurde aktualisiert, um den neuesten Spezifikationsänderungen zu entsprechen, und gibt nun den qualifizierten Namen des DOM-Elements zurück. Dieser Befehl wandelte den Rückgabewert zuvor immer in Kleinbuchstaben um. In der Praxis ist diese Änderung für HTML-Elemente abwärtskompatibel, für Elemente mit einem groß-/kleinschreibungssensitiven qualifizierten Namen, etwa SVG-Elemente, jedoch nicht abwärtskompatibel. (Firefox-Bug 2026697).
Änderungen für Add-on-Entwickler
- Der Manifest-Schlüssel
themefügt die Eigenschaftbackgrounds_areahinzu. Diese Eigenschaft ermöglicht es einem Theme festzulegen, wo dessen Hintergrundbilder und Farbverläufe gezeichnet werden. Wenn sie auf"window"gesetzt ist, werden sie über das gesamte Browserfenster gezeichnet, während"top_toolbars"sie auf die horizontalen Symbolleisten am oberen Fensterrand beschränkt. Wennbackgrounds_areaausgelassen oder auf"auto"gesetzt wird, wählt Firefox den Bereich anhand vonproperties.additional_backgrounds_alignmentaus. (Firefox-Bug 2059526)
Experimentelle Webfunktionen
Diese Funktionen werden in Firefox 156 ausgeliefert, sind jedoch standardmäßig deaktiviert.
Um mit ihnen zu experimentieren, suchen Sie auf der Seite about:config nach der entsprechenden Einstellung und setzen Sie sie auf true.
Weitere solche Funktionen finden Sie auf der Seite Experimentelle Funktionen.
-
Bereichsspezifische Custom-Element-Registries (Nightly):
dom.scoped-custom-element-registries.enabledBereichsspezifische Custom-Element-Registries werden nun unterstützt, sodass eine Shadow-Root Custom Elements definieren kann, die nicht mit den in der globalen Registry definierten kollidieren. Diese Version aktiviert die Funktion standardmäßig in Nightly-Builds. (Firefox-Bug 2064333).
-
named-feature()-Support-Abfragen:layout.css.anchor-positioning.follows-transforms.enabledDie Funktion
named-feature()in der@supports-At-Regel ermöglicht es Ihnen zu prüfen, ob der Browser eine Funktion unterstützt, die keine andere erkennbare Syntax hat, beispielsweise@supports named-feature(anchor-position-follows-transforms). (Firefox-Bug 2042977 und Firefox-Bug 2055354). -
Container Timing API:
dom.enable_container_timingDie Container Timing API meldet, wann die Inhalte eines Container-Elements gerendert werden, sodass Sie die Renderzeit eines Bereichs der Seite statt des gesamten Viewports messen können. (Firefox-Bug 1940240).