← Terug naar nieuws

aug 23, 2026

Firefox 155 Beta Makes WebTransport Far More Useful for Real-Time Web Apps

Firefox 155 Beta adds bandwidth controls, protocol negotiation, graceful draining, writable datagrams, and TLS-bound key derivation to WebTransport. For games, collaboration tools, and other real-time web apps, the browser’s network layer is starting to look much more application-ready.
Firefox 155 Beta Makes WebTransport Far More Useful for Real-Time Web Apps

Real-time web apps rarely fail because the browser cannot draw the interface. They fail when the network treats a critical control message, an expiring position update, and a large background transfer as if they were equally urgent.

Firefox 155 Beta is testing a more capable answer. Mozilla has added a cluster of WebTransport features that give developers finer control over bandwidth, datagrams, protocol versions, connection shutdowns, and session-bound cryptographic material. None of these changes installs a PWA or creates a new app-store route. Together, however, they make an important class of installed and browser-based apps feel less constrained by the transport layer.

What Mozilla added

According to Mozilla’s Firefox 155 Beta release notes, the browser now exposes five notable additions to WebTransport:

  • Send groups, created with createSendGroup(), for organizing streams and controlling their relative send priority.
  • Writable datagram streams through createWritable(), bringing outgoing datagrams into the web platform’s Streams model.
  • Subprotocol negotiation through the constructor’s protocols option and the resulting protocol property.
  • A draining promise that tells an app when the server is preparing to close a session gracefully.
  • exportKeyingMaterial(), which derives cryptographic material bound to the underlying TLS session.

This is a Beta release, not a final compatibility guarantee. Mozilla explicitly warns that Beta features may change or fail to reach the stable release. Teams should treat Firefox 155 as a valuable test target, not an immediate signal to remove existing fallbacks.

Why WebTransport matters

WebSockets remain a good default for many live products. They offer a familiar, reliable, ordered channel between a browser and server. That ordering can become a limitation when an application carries several independent kinds of traffic. A delayed message can hold up newer data even when the newer data is more useful.

WebTransport is designed for a broader mix. It can carry independent reliable streams as well as unreliable datagrams within one client-server session. That combination is relevant to multiplayer games, remote interfaces, collaborative tools, live media systems, market dashboards, and device consoles. Some information must arrive intact; other information is useful only while it is fresh.

The Firefox additions do not create that model, but they expose more of the control required to turn it into a dependable product architecture.

Send groups make urgency explicit

Send groups are the most immediately understandable change. An app can associate streams or outgoing datagrams with a group and assign relative send-order values inside it. That lets developers express that small, latency-sensitive messages should move ahead of less urgent data in the same group.

Consider a collaborative canvas. Pointer positions may be frequent and disposable, document operations must be reliable, and an uploaded asset may be large but non-urgent. Without explicit scheduling, those flows compete according to browser and network behavior that the application cannot clearly describe. Send groups provide a vocabulary for that priority model. They do not guarantee unlimited bandwidth or eliminate congestion, but they let the product communicate intent to the transport.

Writable datagrams improve composition

Datagrams are useful when the latest state matters more than perfect delivery. A game might prefer a fresh position update over the late arrival of several obsolete positions. The new createWritable() path allows outgoing datagrams to participate in familiar Streams workflows, including writers, backpressure signals, and piping patterns.

That is primarily a developer-experience improvement, but developer experience affects product reliability. A transport primitive that composes with the rest of the platform is easier to test, monitor, and integrate than a special-purpose sending loop. Importantly, putting datagrams behind a writable stream does not make them reliable. Applications still need to decide which messages may be dropped.

Negotiation and draining address operational reality

Subprotocol negotiation helps clients and servers agree on an application-level protocol during connection setup. A client can offer supported protocol identifiers, and the selected value becomes available through the protocol property. That gives teams a cleaner path for rolling out incompatible protocol versions without guessing which format the server expects after the session is open.

The draining promise handles the other end of the lifecycle. Servers restart, deployments move traffic, and capacity changes. When a session begins draining, the app can stop opening new streams, finish work already in progress, and establish a replacement connection. That is a small API with a large operational payoff: graceful migration is usually better than discovering a shutdown through a failed write.

Session-bound keys are powerful, not automatic security

exportKeyingMaterial() lets an application derive keying material tied to the TLS session. This can support protocols that need cryptographic values bound to the exact secure connection rather than an unrelated secret.

It should not be read as a one-call security layer. Authentication, authorization, replay protection, key separation, and server-side protocol design still require expert review. The feature is valuable because it exposes a carefully scoped primitive; using that primitive safely remains an application responsibility.

Who should pay attention

  • Game and streaming teams that mix time-sensitive state with reliable assets or commands.
  • Collaboration and remote-tool developers whose products carry cursors, presence, document changes, and bulk data simultaneously.
  • Platform teams evaluating whether one web codebase can deliver a serious low-latency experience across browser tabs and installed web-app windows.

Teams with a straightforward request-response product or a modest WebSocket channel should not migrate merely because a newer API exists. WebTransport requires compatible server infrastructure, careful message design, fallback planning, and real-world network testing. Its payoff appears when the application genuinely needs multiple traffic classes or unreliable delivery.

Wat verandert er voor installeerbare webapps

WebTransport is a browser capability, not an installability requirement. A manifest, service worker, standalone window, or store package does not automatically unlock these additions, and installation is not required to use them. The relevance to PWAs is more practical: an installed web app can only compete with native software if its live interactions remain responsive under imperfect network conditions.

Better scheduling, protocol negotiation, and graceful connection turnover help narrow that experience gap. They strengthen the case for web-first products in categories where networking behavior—not access to a home-screen icon—is the difficult part.

Waar IndApp hierna op let

Developers testing Firefox 155 Beta should feature-detect each addition, preserve a WebSocket or older WebTransport path where appropriate, and test on congested, lossy, and changing networks. Send priorities should be validated with measurements rather than assumptions, while any use of exported keying material deserves a dedicated security review.

The next signals are whether the complete set survives Firefox’s Beta cycle, how consistently other engines expose the same semantics, and whether server libraries and browser tooling make these controls observable. Cross-browser convergence will matter more than any single implementation. Still, Firefox 155 Beta is a meaningful step: the web’s real-time transport is moving from a promising pipe toward infrastructure that product teams can deliberately manage.

Verder lezen