Firefox 155 Versionshinweise für Entwickler (Stabil)
Dieser Artikel bietet Informationen über die Änderungen in Firefox 155, die Entwickler betreffen. Firefox 155 wurde am 1. September 2026 veröffentlicht.
Änderungen für Webentwickler
>Entwicklerwerkzeuge
- Die Emulationsschaltflächen für Medienfunktionen in der Regeln-Ansicht sind nun in einem speziellen Emulationspanel gesammelt, das mit der
@-Schaltfläche geöffnet wird. Das Panel unterstützt nun auch die Emulation derprefers-reduced-motionMedienfunktion. (Firefox-Bug 1692434 und Firefox-Bug 1477920). - Der JSON Viewer öffnet nun JSON Lines (NDJSON) Dokumente, die als
application/jsonl,application/jsonlines,application/x-ndjsonodertext/jsonlbereitgestellt werden, oder eine.jsonlDateierweiterung haben. Jede Zeile wird separat in einen eigenen zusammenklappbaren Eintrag geparst, der mit der Zeilennummer, aus der er stammt, gekennzeichnet ist, und eine Zeile, die nicht geparst werden kann, wird inline gemeldet, ohne den Rest des Dokuments zu beeinträchtigen. (Firefox-Bug 2055774, Firefox-Bug 2060972 und Firefox-Bug 2060529). - Eine Tastenkombination zum Deaktivieren von Haltepunkten wurde im Debugger hinzugefügt. (Firefox-Bug 1642578).
HTML
Keine bemerkenswerten Änderungen.
CSS
- Die
attr()CSS-Funktion kann nun in jeder CSS-Eigenschaft verwendet werden, nicht nur incontent. Dies ermöglicht es Ihnen, Styling von HTML-Attributen zu steuern, wie zum Beispielwidth: attr(data-size px), ohne JavaScript zu verwenden.<attr-type>Werte (einschließlich Einheitskennungen wiepxunds), Fallback-Werte und namensraumunterstützte Attribute werden nun unterstützt. Sie könnenattr()jetzt auch in Container-Style Abfragen verwenden. (Firefox-Bug 2038940). - Die
progress()CSS-Funktion wird jetzt unterstützt. Diese gibt eine<number>zurück, die anzeigt, wie weit ein Wert zwischen einem Start- und einem Endwert fortgeschritten ist. Das Ergebnis kann dann zur Berechnung anderer Werte verwendet werden, zum Beispielopacity: calc(0.4 + progress(100cqw, 300px, 900px) * 0.6). (Firefox-Bug 2047345). - Die
alpha()CSS-Funktion wird nun unterstützt. Sie können eine Farbe übergeben und die Farbe mit einem anderen Alpha-Wert (Transparenz) zurückerhalten, während andere Bestandteile der Farbe unverändert bleiben. Innerhalb der Funktion können Sie dasalpha-Schlüsselwort verwenden, um auf den Alpha-Kanal der Originalfarbe zu verweisen, zum Beispielalpha(from var(--brand) / calc(alpha * 0.5)). (Firefox-Bug 2059738 und Firefox-Bug 2059988). - Die
font-widthCSS-Eigenschaft wird nun unterstützt, zusammen mit demfont-width@font-faceDeskriptor und derCSSStyleDeclaration.fontWidthEigenschaft. Dies ist der neue Name für diefont-stretchEigenschaft, die weiterhin als Legacy-Alias funktioniert. Beachten Sie, dass die Berechnung der Stil-Aufzählung nunfont-widthstattfont-stretchzurückgibt. (Firefox-Bug 1911075).
JavaScript
- Die
Promise.allKeyed()undPromise.allSettledKeyed()statischen Methoden werden nun unterstützt, wie im TC39 await dictionary proposal definiert. Diese verhalten sich wiePromise.all()undPromise.allSettled(), nehmen jedoch ein Objekt von Versprechen statt eines Iterables. Sie erfüllen sich mit einem Objekt, das die gleichen Schlüssel hat, sodass Ergebnisse nach Name anstatt nach Position gelesen werden können. (Firefox-Bug 2057270). - Ein Modul, das aufgrund eines Netzwerkfehlers oder eines falschen MIME-Typs nicht geladen werden kann, wird nicht mehr als Fehler im Cache gespeichert, sodass das Importieren derselben Modulspezifikation erneut erfolgreich sein kann, sobald der Server sich erholt hat.
Dies gilt für JavaScript-, JSON-, CSS- und Text Module, die entweder statisch oder mit dynamischen Import geladen werden, sowohl in Fenstern als auch in Workern.
In diesem Zusammenhang löst
<link rel="modulepreload">jetzt dasloadEreignis anstelle vonerroraus für Module, die bereits abgerufen wurden oder noch abgerufen werden, und ein Modulskript lädt nun auch dann, wenn ein früheresmodulepreloadderselben URL seine Integritätsprüfung nicht bestanden hat. (Firefox-Bug 2055211 und Firefox-Bug 2052949).
HTTP
- Firefox verwendet jetzt Happy Eyeballs Version 3 bei der Verbindungsherstellung, um IPv6- und IPv4-Adressen zu vergleichen, sodass die Verbindungseinrichtung nicht durch eine unerreichbare Adressfamilie verzögert wird. Beachten Sie, dass dies derzeit nur auf einigen Plattformen unterstützt wird. (Firefox-Bug 2062892).
- QUIC Versionsverhandlung wird jetzt unterstützt, sodass HTTP/3 Verbindungen QUIC Version 2 verhandeln können. (Firefox-Bug 2059947).
APIs
- Mehrere WebTransport API Funktionen werden jetzt unterstützt:
- Send-Gruppen ermöglichen es Ihnen, Streams zu gruppieren, die Bandbreite teilen und Streams relativ zueinander innerhalb einer Gruppe priorisieren sollen.
Sie können eine solche Gruppe mit
WebTransport.createSendGroup()erstellen. Übergeben Sie dann die zurückgegebeneWebTransportSendGroupin dersendGroupOption vonWebTransport.createBidirectionalStream()oderWebTransport.createUnidirectionalStream(). (Firefox-Bug 2007165). - Die
WebTransport.exportKeyingMaterial()Methode leitet Schlüsselinformationen von der zugrunde liegenden TLS-Verbindung für ein gegebenes Label und Kontext ab, sodass beide Endpunkte dasselbe gemeinsame Geheimnis erhalten können. Dies ermöglicht beispielsweise einen handshakedetektor auf Anwendungsebene, um MITM-Angriffe zu erkennen, in Fällen, in denen eine Anwendung sich mit einem Peerserver verbindet, der nur ein selbstsigniertes Zertifikat besitzt. (Firefox-Bug 2007200). - Die
WebTransportDatagramDuplexStream.createWritable()Methode gibt einenWebTransportDatagramsWritableStream zum Senden von Datagrammen zurück, mitsendGroupundsendOrderEigenschaften, um es gegenüber anderen Sendern zu priorisieren. (Firefox-Bug 2007174). - Der
WebTransport()Konstruktor akzeptiert eineprotocolsOption, die die Anwendungsprotokolle auflistet, die der Client unterstützt. Das vom Server ausgewählte Protokoll, falls vorhanden, wird in derWebTransport.protocolEigenschaft zurückgegeben, sobald die Verbindung hergestellt ist und dasWebTransport.readyProtokoll erfüllt ist. (Firefox-Bug 2007150). - Die
WebTransport.drainingEigenschaft zeigt an, wann der Server den Client gebeten hat, einen geordneten Sitzungsabschluss einzuleiten. (Firefox-Bug 2007160).
- Send-Gruppen ermöglichen es Ihnen, Streams zu gruppieren, die Bandbreite teilen und Streams relativ zueinander innerhalb einer Gruppe priorisieren sollen.
Sie können eine solche Gruppe mit
- Die WebGPU API unterstützt jetzt das
dual-source-blendingFeature auf dem Desktop, das inGPUAdapter.requestDevice()angefordert werden kann. Dies ermöglicht es,src1,one-minus-src1,src1-alphaundone-minus-src1-alphain densrcFactorunddstFactorEigenschaften voncreateRenderPipeline()undcreateRenderPipelineAsync()zu spezifizieren. Die WGSLdual_source_blendingErweiterung wird ebenfalls unterstützt. (Firefox-Bug 1924328).
DOM
- Das
SVGAElementInterface implementiert nun dasHyperlinkElementUtilsMixin. Dadurch haben SVG<a>Elemente die gleichen URL-Komponenteneigenschaften wie HTML<a>Elemente:protocol,username,password,host,hostname,port,pathname,searchundhash. Die schreibgeschützteoriginEigenschaft wird ebenfalls bereitgestellt. (Firefox-Bug 2058578). - Die
SVGNumberList,SVGPointList,SVGStringListundSVGTransformListSchnittstellen unterstützen nun indexierte Setter. Das bedeutet, dass Sie ein Element in der Liste mit Hilfe der eckigen Klammernnotation ersetzen können, wietransformList[0] = newTransform, stattreplaceItem()aufzurufen. DieSVGLengthListSchnittstelle unterstützt bereits indexierte Setter. (Firefox-Bug 2059426). - Die
SVGGraphicsElement.getBBox()Methode respektiert nun ihroptionsArgument, mit den Eigenschaftenfill,stroke,markersundclipped. Dies ermöglicht es Ihnen, ein Begrenzungsrechteck zu erhalten, das die angewendeten Füllung, Striche und Clip berücksichtigt, statt nur den Füllgeometrie. (Firefox-Bug 2060873). - Elemente, die nicht gerendert werden, wie sie in
<mask>,<clipPath>,<marker>,<symbol>und<defs>, geben nun ein leeres Rechteck vonElement.getBoundingClientRect()und eine leere Liste vonElement.getClientRects()zurück, statt ein Rechteck zu melden, das nie gezeichnet wurde. (Firefox-Bug 2061646).
Medien, WebRTC und Web Audio
- Das
errorEreignis, das auf einemRTCDataChannelObjekt ausgelöst wird, kann jetztsctp-failurein seinererror.errorDetailEigenschaft melden, falls der Transport aufgrund eines Fehlers geschlossen wird. Darüber hinaus sindRTCErrorundRTCErrorEventjetzt in dedizierten Workern verfügbar (diese Exposition ist noch nicht in der Spezifikation). (Firefox-Bug 1814460). - Die
RTCPeerConnection.sctpEigenschaft gibt jetzt auf einRTCSctpTransportin den Zeiten zurück, die von der Spezifikation erforderlich sind, einschließlich imhave-remote-offer-Signalisierungsstatus, wo es zuvornullwar. Der Transport erreicht auch jetzt dieconnectedundclosedZustände, und seinemaxChannelsundmaxMessageSizeEigenschaften werden korrekt gefüllt. (Firefox-Bug 2019361 und Firefox-Bug 2056412). - Zwei-Byte-RTP-Header-Erweiterungen werden jetzt unterstützt, sodass Header-Erweiterungen mit einer ID von 15 oder mehr verhandelt werden können, statt einen
OperationErrorzu verursachen. (Firefox-Bug 2014357). - Die
selectedCandidatePairChangesEigenschaft wird jetzt inRTCTransportStatsgemeldet. (Firefox-Bug 2055911). - Die
transport-Statistiken, die vonRTCPeerConnection.getStats()zurückgegeben werden, sind nun korrekt vor der Verhandlung, also nachsetLocalDescription(), aber bevor eine entfernte Beschreibung festgelegt wurde. DiedtlsRoleEigenschaft wird jetzt alsunknownberichtet, bis das DTLS-Handshake eine Rolle auswählt, wobei sie zuvor überhaupt nicht gemeldet wurde (Firefox-Bug 2053296), und dieiceStateEigenschaft beginnt jetzt alsnewstattchecking, was fälschlicherweise angezeigt hat, dass die Konnektivitätsprüfungen bereits im Gange waren (Firefox-Bug 2053297).
WebAssembly
- Die kompakte Importsektion binäre Format-Erweiterung wird jetzt unterstützt, die die Größe von Modulen reduziert, die viele
importAnweisungen haben. (Firefox-Bug 2062344). - Der Weite Arithmetik Vorschlag wird jetzt unterstützt, mit den Instruktionen
i64.add128,i64.sub128,i64.mul_wide_sundi64.mul_wide_u. Diese produzieren 128-Bit-Ergebnisse aus 64-Bit-Operanden, die zuvor in Code kompiliert werden mussten, der in WebAssembly emuliert wurde, wie bignum und Kryptografiebibliotheken. (Firefox-Bug 2062374).
WebDriver-Komformität (WebDriver BiDi, Marionette)
Allgemein
- Deaktivierte das Download-Panel, um zu verhindern, dass das aktuelle Dokument den Fokus verliert, wenn ein Download beginnt. (Firefox-Bug 2035439).
- Korrigierte die Actions API, sodass das
dblclickEreignis ausgelöst wird, wenn ein Doppelklick bei gedrückterCtrl-Taste auf Nicht-macOS-Plattformen ausgeführt wird. (Firefox-Bug 2058556).
WebDriver BiDi
- Aktualisierte das Mozilla-spezifische
moz:debuggingModul, das nicht mehr von der selben geschachtelten Eventschleife-API wie die Entwicklertools abhängt, was Konflikte verhindert, wenn WebDriver BiDi und Entwicklertools parallel verwendet werden. (Firefox-Bug 2041335). - Behob das Problem, dass der Befehl
browsingContext.reloadfehlschlug, wenn er für Frames verwendet wurde. (Firefox-Bug 2030909). - Unterstützung für das
contextsArgument imsession.unsubscribeBefehl entfernt. Ab sofort können Clients nur noch durch Ereignisname oder Abonnement-ID abmelden. (Firefox-Bug 1988723).
Experimentelle Web-Funktionen
Diese Funktionen sind in Firefox 155 enthalten, aber standardmäßig deaktiviert.
Um mit ihnen zu experimentieren, suchen Sie nach der entsprechenden Einstellung auf der about:config Seite und setzen Sie sie auf true.
Weitere solcher Funktionen finden Sie auf der Seite Experimentelle Funktionen.
-
Scrollgesteuerte Animationen:
layout.css.scroll-driven-animations.enabledScrollgesteuerte Animationen ermöglichen es, dass eine Animation mit der Scroll-Position eines Scrollers oder mit der Position eines Elements innerhalb seines Scrollers fortschreitet, anstatt mit der Zeit. Diese Einstellung umfasst die
scroll-timelineundview-timelineEigenschaften und ihre Langformen, einschließlich derview-timeline-insetEigenschaft, sowie diescroll()undview()funktionalen Notationen. In dieser Version wurde die Langformview-timeline-insetzur Kurzformview-timelinehinzugefügt. (Firefox-Bug 2046602). -
CSS Typed Object Model Level 1:
layout.css.typed-om.enabledDie CSS Typed Object Model API stellt CSS-Werte als typisierte JavaScript-Objekte statt als Zeichenfolgen bereit, was die Manipulation von CSS aus Skripten vereinfacht. (Firefox-Bug 1278697).
-
at-rule()Unterstützungsabfragen:layout.css.supports.at-rule.enabledDie
at-rule()Funktion in der@supportsRegel ermöglicht es Ihnen zu testen, ob der Browser eine gegebene CSS-Regel unterstützt, zum Beispiel@supports at-rule(@scope). (Firefox-Bug 2060754). -
Audio Session API:
dom.audio_session.enabledDie Audio Session API ermöglicht es einer Website, zu deklarieren, wie ihr Audio sich im Vergleich zu anderem Audio auf dem Gerät verhalten soll, beispielsweise ob es mitmischen, reduzieren oder anderes Audio unterbrechen soll. (Firefox-Bug 2055710).
-
CSS-Grundformen erlauben
farthest-cornerundclosest-cornerSchlüsselwörter:layout.css.ellipse-corners.enabledDie
farthest-cornerundclosest-cornerSchlüsselwörter können für die Angabe von Radienwerten derellipse()undcircle()CSS Grundformen verwendet werden. (Firefox-Bug 2037673). -
Inhalt mit
line-clampabschneiden:layout.css.line-clamp.enabledDie
line-clampCSS-Eigenschaft funktioniert ohne das-webkit-Vendor-Präfix und unterstützt jetzt auch dasno-ellipsisSchlüsselwort und<string>Werte zur Auswahl dessen, was angezeigt wird, wo der Text abgeschnitten wird. (Firefox-Bug 2042999 und Firefox-Bug 2043000). -
Gescopte benutzerdefinierte Elementregister:
dom.scoped-custom-element-registries.enabledEin
CustomElementRegistrykann erstellt und anElement.attachShadow()übergeben werden, sodass ein Shadow-Root benutzerdefinierte Elemente definieren kann, die nicht mit den im globalen Register definierten kollidieren. (Firefox-Bug 2018900). Diese Version fügt auch das globalecustomelementregistryAttribut hinzu, um das Register auszuwählen, mit dem ein Element aus dem Markup verbunden ist. (Firefox-Bug 2029965). -
Puffergrenzen-Assertions in regulären Ausdrücken: (Nur Nightly)
javascript.options.experimental.regexp_buffer_boundariesDer TC39 RegExp Buffer Boundaries Vorschlag fügt die
\A,\zund\ZAssertionen zu regulären Ausdrücken hinzu. Diese passen zum Anfang oder Ende der gesamten Eingabe, unabhängig davon, ob dasm-Flag gesetzt ist. (Firefox-Bug 2047706). -
border-areaWert fürbackground-clip:layout.css.background-clip.border-area.enabledDer
border-areaWert derbackground-clipCSS-Eigenschaft schneidet den Hintergrund auf den Bereich, der vom Rahmen eines Elements gemalt wird, was es ermöglicht, ein Gradient oder Bild als Rahmen zu verwenden. (Firefox-Bug 2045230). -
view-timelinebeinhaltetview-timeline-inset:layout.css.scroll-driven-animations.enabledDie
view-timelineKurzform-Eigenschaft unterstützt jetzt dieview-timeline-insetEigenschaft. Die Kurzform ermöglicht es Ihnen, Start- und/oder End-Inset (oder Outset)-Werte anzugeben, um die Position der Fortschrittsanzeige anzupassen. (Firefox-Bug 2046602).