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 angezeigt wurde. (Firefox-Bug 2055445).
- DevTools kann nun eine Verbindung zu einem Debugger-Server herstellen, der bis zu drei Versionen älter als der Client ist, statt wie zuvor nur bis zur bisherigen Grenze. 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, die auf ein<tspan>abzielen, nun vom Ursprung des äußersten<svg>-Elements aus gemessen. Zuvor wurde der falsche Ursprung verwendet. (Firefox-Bug 2066045).- Der Setter von
SVGSVGElement.currentScalehat bei einem verschachtelten<svg>-Element nun keine Wirkung, wie von der Spezifikation gefordert. Beim äußersten<svg>-Element funktioniert er weiterhin. (Firefox-Bug 2063188).
CSS
- Das nicht standardisierte Pseudo-Element
::-webkit-scrollbarwird nun auf jeder Website in@supports-Bedingungen als nicht unterstützt gemeldet. Daher gibt@supports selector(::-webkit-scrollbar)falsezurück und@supports not (selector(::-webkit-scrollbar))gibttruezurück. Dies schließt die in der Voreinstellunglayout.css.fake-webkit-scrollbar.enabled-domainsaufgeführten Websites ein, die in Firefox 155 eingeführt wurde. Firefox verarbeitet auf diesen Websites weiterhin::-webkit-scrollbar-Regeln, meldet das Pseudo-Element 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 Pseudo-Elemente 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-edgetrimmen nun in mehreren Fällen korrekt, die zuvor ein falsches Ergebnis erzeugten: Beim Trimmen werden die Schriftmetriken des Pseudo-Elements::first-lineverwendet, sofern eines angewendet wird (Firefox-Bug 2063835), die richtige Zeile wird getrimmt, wenn ein Inline-Box auf der letzten Zeile fragmentiert ist (Firefox-Bug 2063909), und das Trimmen 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 von seinem Callback zurückgegebenen Wert mithilfe vonPromiseResolveauf. Ein vom Callback zurückgegebenes Promise wird daher durchgereicht, statt in ein neues Promise eingeschlossen 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 gefordertenconst-ähnlichen Semantik. Zuvor konnte eine solche Bindung stillschweigend verändert werden. (Firefox-Bug 2040286).
Sicherheit
- Die endlichen Diffie-Hellman-Gruppen
ffdhe2048undffdhe3072werden in TLS-Handshakes standardmäßig nicht mehr angeboten. Server, die nur 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 Aufgabe über einawaithinweg, das sich synchron erfüllt, etwa ein bereits aufgelöstes Promise, ein Nicht-Promise-Wert oder einthen()-Callback für ein erfülltes 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 auf dem DOM-Baum statt auf dem flachen Baum. Dadurch löscht und extrahiert ein Bereich, der eine Shadow-Root-Grenze überspannt, nun die von der Spezifikation geforderten Knoten, auch wenn der Bereich innerhalb eines Shadow-Baums beginnt oder endet. Zuvor konnte ein solcher Bereich Inhalte innerhalb des Shadow-Baums entfernen und dabei nicht zugewiesene Kinder des Hosts unverändert lassen, 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 ohne eine neue Aushandlungsrunde aufgerufen werden kann. 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 Verlängerung 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 behandeln. (Firefox-Bug 2060460).
Marionette
- Der Befehl
WebDriver:GetElementTagNamewurde aktualisiert, um den neuesten Änderungen der Spezifikation zu entsprechen, und gibt nun den qualifizierten Namen des DOM-Elements zurück. Dieser Befehl wandelte den Rückgabewert bisher 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, wie SVG-Elemente, ist sie 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 seine Hintergrundbilder und Verlä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 Rand des Fensters beschränkt. Wennbackgrounds_areaweggelassen oder auf"auto"gesetzt wird, wählt Firefox den Bereich basierend aufproperties.additional_backgrounds_alignment. (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 Voreinstellung und setzen Sie sie auf true.
Weitere solche Funktionen finden Sie auf der Seite Experimentelle Funktionen.
-
Bereichsbezogene Custom-Element-Registries (Nightly):
dom.scoped-custom-element-registries.enabledBereichsbezogene Custom-Element-Registries werden nun unterstützt, sodass eine Shadow-Root Custom Elements definieren kann, die nicht mit denjenigen in der globalen Registry kollidieren. Diese Version aktiviert die Funktion standardmäßig in Nightly-Builds. (Firefox-Bug 2064333).
-
named-feature()-Unterstützungsabfragen: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 gezeichnet werden. Damit können Sie die Renderzeit eines Bereichs der Seite statt des gesamten Viewports messen. (Firefox-Bug 1940240).