Firefox 155 Versionshinweise für Entwickler (Beta)
Dieser Artikel bietet Informationen über die Änderungen in Firefox 155, die Entwickler betreffen. Firefox 155 ist die aktuelle Beta-Version von Firefox und wird am 1. September 2026 veröffentlicht.
Hinweis: Die Versionshinweise für diese Firefox-Version sind noch in Bearbeitung.
Änderungen für Webentwickler
>Entwickler-Tools
- Die Medieneigenschafts-Emulations-Schaltflächen in der Regel-Ansicht werden jetzt in einem eigenen Emulations-Panel gesammelt, das über die
@-Schaltfläche geöffnet wird. Das Panel fügt auch die Emulation der Media-Funktionprefers-reduced-motionhinzu. (Firefox Bug 1692434 und Firefox Bug 1477920). - Der JSON Viewer öffnet jetzt JSON Lines (NDJSON) Dokumente, die als
application/jsonlines,application/x-ndjsonodertext/jsonlbereitgestellt werden, oder eine.jsonlDateierweiterung haben. Jede Zeile wird separat in einem eigenen einklappbaren Eintrag geparst, der mit der Zeilennummer gekennzeichnet ist, aus der sie stammt, 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 im Debugger wurde hinzugefügt. (Firefox Bug 1642578).
CSS
- Die
attr()CSS-Funktion kann jetzt in jeder CSS-Eigenschaft verwendet werden, nicht nur incontent. Dies ermöglicht es, das Styling von HTML-Attributen abzuleiten, wie z.B.width: attr(data-size px), ohne JavaScript zu verwenden.<attr-type>Werte (einschließlich Einheitsbezeichner wiepxunds), Fallback-Werte und Namensraum-Attribute werden jetzt unterstützt. Sie könnenattr()jetzt auch innerhalb von Container-Stilabfragen verwenden. (Firefox Bug 2038940). - Die
progress()CSS-Funktion wird jetzt unterstützt. Diese gibt eine<number>zurück, die angibt, wie weit ein Wert zwischen einem Start- und einem Endwert fortgeschritten ist. Das Ergebnis kann dann verwendet werden, um andere Werte zu berechnen, z.B.opacity: calc(0.4 + progress(100cqw, 300px, 900px) * 0.6). (Firefox Bug 2047345). - Die
alpha()CSS-Funktion wird jetzt unterstützt. Sie können eine Farbe übergeben und erhalten die Farbe mit einem anderen Alpha- (Transparenz) Wert zurück, wobei andere Farbkomponenten unverändert bleiben. Innerhalb der Funktion können Sie dasalphaSchlüsselwort verwenden, um auf den Alpha-Kanal der Originalfarbe zu verweisen, z.B.alpha(from var(--brand) / calc(alpha * 0.5)). (Firefox Bug 2059738 und Firefox Bug 2059988). - Die
font-widthCSS-Eigenschaft wird jetzt unterstützt, zusammen mit demfont-width@font-faceDeskriptor und derCSSStyleDeclaration.fontWidthEigenschaft. Dies ist der neue Name für diefont-stretchEigenschaft, die weiterhin als veraltetes Alias funktioniert. Beachten Sie, dass die Enumerierung des berechneten Stils jetztfont-widthstattfont-stretchzurückgibt. (Firefox Bug 1911075).
JavaScript
- Die
Promise.allKeyed()undPromise.allSettledKeyed()statischen Methoden werden jetzt unterstützt, wie im TC39 Await Dictionary Proposal definiert. Diese verhalten sich ähnlich wiePromise.all()undPromise.allSettled(), außer dass sie ein Objekt von Promises anstatt eines iterierbaren Wertes übernehmen. Sie werden mit einem Objekt erfüllt, das dieselben Schlüssel hat, so dass Ergebnisse nach Namen statt 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 gecached, so dass das Importieren desselben Modulspezifizierers erneut erfolgreich sein kann, wenn der Server sich erholt.
Dies gilt für JavaScript-, JSON-, CSS- und Text-Module, die entweder statisch oder mit dynamischem Import geladen werden, sowohl in Fenstern als auch in Workern.
In diesem Zusammenhang löst
<link rel="modulepreload">jetzt dasloadEreignis statterrorfür Module aus, die bereits abgerufen werden oder noch abgerufen werden, und ein Modulskript lädt jetzt auch dann, wenn ein vorherigesmodulepreloadderselben URL seine Integritätsprüfung nicht bestanden hat. (Firefox Bug 2055211 und Firefox Bug 2052949).
HTTP
- Firefox verwendet jetzt Happy Eyeballs Version 3 beim Aufbau von Verbindungen, indem IPv6- und IPv4-Adressen gegeneinander antreten, sodass der Verbindungsaufbau nicht durch eine unerreichbare Adressfamilie verzögert wird. Beachten Sie, dass dies derzeit nur auf einigen Plattformen unterstützt wird. (Firefox Bug 2062892).
- QUIC-Version-Negotiation wird jetzt unterstützt, was es [HTTP/3]-Verbindungen ermöglicht, QUIC Version 2 zu verhandeln. (Firefox Bug 2059947).
APIs
- Mehrere WebTransport API-Funktionen werden jetzt unterstützt:
- Sendegruppen ermöglichen es Ihnen, Streams zu gruppieren, die Bandbreite teilen sollten, und Streams relativ zueinander innerhalb einer Gruppe zu priorisieren.
Sie können eine mithilfe von
WebTransport.createSendGroup()erstellen. Übergibt dann die zurückgegebeneWebTransportSendGroupin dersendGroup-Option vonWebTransport.createBidirectionalStream()oderWebTransport.createUnidirectionalStream(). (Firefox Bug 2007165). - Die
WebTransport.exportKeyingMaterial()Methode leitet Material für die Schlüsselableitung aus der zugrundeliegenden TLS-Verbindung für ein gegebenes Label und einen Kontext ab, sodass beide Endpunkte dasselbe gemeinsame Geheimnis erhalten können. (Firefox Bug 2007200). - Die
WebTransportDatagramDuplexStream.createWritable()Methode gibt einenWebTransportDatagramsWritableStream zum Senden von Datagrammen zurück, mitsendGroupundsendOrderEigenschaften, um ihn gegen andere Sender zu priorisieren. (Firefox Bug 2007174). - Der
WebTransport()Konstruktor akzeptiert eineprotocolsOption, die die unterstützten Anwendungsprotokolle des Clients auflistet, die an den Server imwt-available-protocolsAnfrageheader gesendet wird. Das vom Server gewählte Protokoll wird in derWebTransport.protocolEigenschaft angezeigt. (Firefox Bug 2007150). - Die
WebTransport.drainingEigenschaft zeigt an, wenn der Server den Client gebeten hat, eine geordnete Beendigung der Sitzung zu beginnen. (Firefox Bug 2007160).
- Sendegruppen ermöglichen es Ihnen, Streams zu gruppieren, die Bandbreite teilen sollten, und Streams relativ zueinander innerhalb einer Gruppe zu priorisieren.
Sie können eine mithilfe von
- Die WebGPU API unterstützt jetzt die
dual-source-blendingFunktion auf Desktops, die inGPUAdapter.requestDevice()angefordert werden kann. Dies ermöglichtsrc1,one-minus-src1,src1-alphaundone-minus-src1-alphain densrcFactorunddstFactorEigenschaften voncreateRenderPipeline()undcreateRenderPipelineAsync()zu spezifizieren. Die WGSLdual_source_blendingErweiterung wird auch unterstützt. (Firefox Bug 1924328).
DOM
- Die
SVGAElementSchnittstelle implementiert jetzt dasHyperlinkElementUtilsMixin. Infolgedessen zeigen SVG<a>Elemente dieselben URL-Komponenteneigenschaften wie HTML<a>Elemente an:protocol,username,password,host,hostname,port,pathname,searchundhash. Die schreibgeschützteoriginEigenschaft wird ebenfalls angezeigt. (Firefox Bug 2058578). - Die Schnittstellen
SVGNumberList,SVGPointList,SVGStringListundSVGTransformListunterstützen jetzt indizierte Setter. Das bedeutet, dass Sie ein Element in der Liste mit der Klammernotation ersetzen können, z.B.transformList[0] = newTransform, anstattreplaceItem()aufzurufen. DieSVGLengthListSchnittstelle unterstützt bereits indizierte Setter. (Firefox Bug 2059426). - Die
SVGGraphicsElement.getBBox()Methode berücksichtigt jetzt ihroptionsArgument mit den Eigenschaftenfill,stroke,markersundclipped. Dadurch können Sie ein Begrenzungsrechteck erhalten, das den angewendeten Strich, Marker und das Clipping eines Elements berücksichtigt, anstatt nur seine Füllgeometrie. (Firefox Bug 2060873). - Elemente, die nicht dargestellt werden, wie diejenigen innerhalb von
<mask>,<clipPath>,<marker>,<symbol>und<defs>, geben jetzt ein leeres Rechteck vonElement.getBoundingClientRect()und eine leere Liste vonElement.getClientRects()zurück, anstatt ein nicht gemaltes Feld zu melden. (Firefox Bug 2061646).
Media, WebRTC und Web Audio
- Das
errorEreignis, das auf einemRTCDataChannelObjekt ausgelöst wird, kann jetztsctp-failurein seinererror.errorDetailEigenschaft melden, wenn 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 zu den vom Standard geforderten Zeiten einRTCSctpTransportzurück, einschließlich imhave-remote-offerSignalisierungszustand, wo es zuvornullwar. Der Transport erreicht jetzt auch dieconnectedundclosedZustände, und seinemaxChannelsundmaxMessageSizeEigenschaften sind korrekt angefü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 höher ausgehandelt werden können, anstatt einen
OperationErrorzu verursachen. (Firefox Bug 2014357). - Die
selectedCandidatePairChangesEigenschaft wird jetzt inRTCTransportStatsgemeldet. (Firefox Bug 2055911). - Die
transportStatistiken, die vonRTCPeerConnection.getStats()zurückgegeben werden, sind jetzt vor der Verhandlung korrekt, also nach dem Aufrufen vonsetLocalDescription()aber bevor eine Remote-Beschreibung gesetzt wurde. DiedtlsRoleEigenschaft wird jetzt alsunknowngemeldet, bis das DTLS-Handshake eine Rolle auswählt, wo sie zuvor überhaupt nicht gemeldet wurde (Firefox Bug 2053296), und dieiceStateEigenschaft beginnt jetzt alsnewanstattchecking, was fälschlicherweise angab, dass bereits Konnektivitätsprüfungen im Gange waren (Firefox Bug 2053297).
WebAssembly
- Die Compact Import Section Binärformat-Erweiterung wird jetzt unterstützt, was die Größe von Modulen reduziert, die viele Importe haben. (Firefox Bug 2062344).
- Der Wide Arithmetic Vorschlag wird jetzt unterstützt und fügt die
i64.add128,i64.sub128,i64.mul_wide_sundi64.mul_wide_uInstruktionen hinzu. Diese erzeugen 128-Bit-Ergebnisse aus 64-Bit-Operanden, die zuvor in Code, der in WebAssembly kompiliert wurde, emuliert werden mussten, wie z.B. in Bignum- und Kryptographiebibliotheken. (Firefox Bug 2062374).
WebDriver-Konformität (WebDriver BiDi, Marionette)
Allgemein
- Das Download-Panel wurde deaktiviert, um zu verhindern, dass das aktuelle Dokument den Fokus verliert, wenn ein Download beginnt. (Firefox Bug 2035439).
- Die Actions-API wurde so korrigiert, dass das
dblclickEreignis ausgelöst wird, wenn ein Doppelklick bei gedrückterCtrl-Taste auf Nicht-macOS-Plattformen ausgeführt wird. (Firefox Bug 2058556).
WebDriver BiDi
- Das Mozilla-spezifische
moz:debuggingModul wurde aktualisiert, sodass es nicht mehr von derselben verschachtelten Ereignisschleifen-API wie DevTools abhängt, was Konflikte vermeidet, wenn WebDriver BiDi und DevTools parallel genutzt werden. (Firefox Bug 2041335). - Der
browsingContext.reloadBefehl wurde behoben, der fehlschlägt, wenn er für Frames verwendet wird. (Firefox Bug 2030909). - Die Unterstützung für das
contextsArgument imsession.unsubscribeBefehl wurde entfernt. Von nun an können sich Clients nur durch Ereignisname oder Abonnement-ID abbestellen. (Firefox Bug 1988723).
Änderungen für Add-on-Entwickler
>Experimentelle Webfunktionen
Diese Funktionen sind in Firefox 155 verfügbar, aber standardmäßig deaktiviert.
Um mit ihnen zu experimentieren, suchen Sie den entsprechenden Eintrag auf der about:config Seite und setzen Sie ihn auf true.
Weitere solche Funktionen finden Sie auf der Seite Experimentelle Funktionen.
-
Scroll-gesteuerte Animationen:
layout.css.scroll-driven-animations.enabledScroll-gesteuerte Animationen lassen eine Animation mit der Scroll-Position eines Scrollers oder mit der Position eines Elements innerhalb seines Scrollers fortschreiten, anstatt mit der Zeit. Diese Einstellung umfasst die
scroll-timelineundview-timelineEigenschaften und ihre Langformen, einschließlich derview-timeline-insetEigenschaft, zusammen mit denscroll()undview()funktionalen Notationen. In dieser Version wurde dasview-timeline-insetLanghand zuview-timelinezugefü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 über Skripte vereinfacht. (Firefox Bug 1278697).
-
at-rule()Unterstützungsabfragen:layout.css.supports.at-rule.enabledDie
at-rule()Funktion in der@supportsAt-Regel ermöglicht es Ihnen zu testen, ob der Browser eine bestimmte CSS-At-Regel unterstützt, z.B.@supports at-rule(@scope). (Firefox Bug 2060754). -
Audio Session API:
dom.audio_session.enabledDie Audio Session API ermöglicht es einer Website anzugeben, wie ihr Audio im Verhältnis zu anderem auf dem Gerät abgespielten Audio verhalten soll, z.B. ob es mitmischen, absenken oder anderes Audio unterbrechen soll. (Firefox Bug 2055710).
-
CSS Grundformen erlauben
farthest-cornerundclosest-cornerSchlüsselwörter:layout.css.ellipse-corners.enabledDie Schlüsselwörter
farthest-cornerundclosest-cornerkönnen verwendet werden, um die Radienwerte derellipse()undcircle()CSS-Grundformen anzugeben. (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, was angezeigt wird, wo der Text abgeschnitten wird. (Firefox Bug 2042999 und Firefox Bug 2043000). -
Bereichsbasierte benutzerdefinierte Element-Registrierungen:
dom.scoped-custom-element-registries.enabledEin
CustomElementRegistrykann erstellt und anElement.attachShadow()übergeben werden, sodass eine Shadow-Root benutzerdefinierte Elemente definieren kann, die nicht mit denjenigen im globalen Registry kollidieren. (Firefox Bug 2018900). Diese Version fügt auch dascustomelementregistryglobale Attribut hinzu, um das Registry auszuwählen, mit dem ein Element aus dem Markup verbunden ist. (Firefox Bug 2029965). -
Puffer-Grenz-Behauptungen in regulären Ausdrücken: (Nur Nightly)
javascript.options.experimental.regexp_buffer_boundariesDer TC39 RegExp buffer boundaries proposal fügt die
\A,\z, und\ZBehauptungen zu regulären Ausdrücken hinzu. Diese stimmen mit dem Beginn oder dem Ende der gesamten Eingabe überein, 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 des vom Element gemalten Rands, was es ermöglicht, ein Verlauf oder Bild als Rand zu verwenden. (Firefox Bug 2045230).