PackageTrack

Go modules · #2604 by repository stars

github.com/quic-go/webtransport-go

v0.12.0quic-go/webtransport-go

Release timeline

78 releases since 2023
2023202420252026

Releases

  1. v0.12.1-0.20260824063454-79e2f9d3a1e824 Aug 2026pre-release

    Nothing published for this version

  2. v0.12.1-0.20260804071944-6b58994807f94 Aug 2026pre-release

    Nothing published for this version

  3. v0.12.027 Jul 2026
    Release notes

    This release updates webtransport-go to draft-16, and adds support for WebTransport flow control and session pooling.

    New Features

    • Added WebTransport session flow control for stream counts (WT_MAX_STREAMS and WT_STREAMS_BLOCKED) and total stream data (WT_MAX_DATA and WT_DATA_BLOCKED). Configure initial receive limits with Config.MaxIncomingStreams, Config.MaxIncomingUniStreams, and Config.MaxIncomingData on Transport or Server. Flow control is negotiated only when both peers advertise it and is required for multiple sessions on one connection. Stream-count flow control: #293, #298, #300, #301, #304, #311, #312, #324, #325; data flow control: #329, #331, #332, #333, #340; protocol validation and session pooling: #305, #342
    • Added ClientConn and Transport.NewClientConn, allowing applications to maintain multiple client QUIC connections and establish multiple concurrent WebTransport sessions on each connection. ClientConn also implements http.RoundTripper: #344

    Breaking Changes

    • Dialer was renamed to Transport: #343

    Other Changes

    • Stream, SendStream, and ReceiveStream now expose StreamID, returning the underlying QUIC stream ID: #347

    Notable Fixes

    • SendStream.Write now returns an error after Close or CancelWrite is called while the stream header is being sent asynchronously, preventing payload writes after the stream is closed or canceled: #328
    • Malformed capsules now close the session with H3_DATAGRAM_ERROR: #299
    • Client and server session setup now stops waiting for HTTP/3 SETTINGS when the QUIC connection closes: #346
    • The client now waits for the QUIC handshake and rejects servers that don't support QUIC datagrams or stream reset partial delivery, returning a RequirementsNotMetError: #351

    What's Changed

    New Contributors

    Full Changelog: v0.11.0...v0.12.0

    Open source →
  4. v0.11.15 Jul 2026
    Release notes

    This patch release contains the following backports :

    • Avoid buffering skipped capsules: #290
    • Close active QUIC connections before tearing down the listener: #295
    • Fix missing context cancelation in Session.OpenStreamSync and Session.OpenUniStreamSync: #297

    Full Changelog: v0.11.0...v0.11.1

    Open source →
  5. v0.11.1-0.20260727101430-23b4cd1439e927 Jul 2026pre-release

    Nothing published for this version

  6. v0.11.1-0.20260726110911-ad61d5ed8f8e26 Jul 2026pre-release

    Nothing published for this version

  7. v0.11.1-0.20260725144145-27460e573dc325 Jul 2026pre-release

    Nothing published for this version

  8. v0.11.1-0.20260725122855-cd19184e58d925 Jul 2026pre-release

    Nothing published for this version

  9. v0.11.1-0.20260724182611-6f838a7ea00c24 Jul 2026pre-release

    Nothing published for this version

  10. v0.11.1-0.20260724172051-f824b4be2a9024 Jul 2026pre-release

    Nothing published for this version

  11. v0.11.1-0.20260720153540-abc4ce0cbded20 Jul 2026pre-release

    Nothing published for this version

  12. v0.11.1-0.20260719115857-a9ef36bd203b19 Jul 2026pre-release

    Nothing published for this version

  13. v0.11.1-0.20260711203820-db8e2446cec211 Jul 2026pre-release

    Nothing published for this version

  14. v0.11.1-0.20260706110617-f30b90444be76 Jul 2026pre-release

    Nothing published for this version

  15. v0.11.1-0.20260705032152-a2d9e5cab7445 Jul 2026pre-release

    Nothing published for this version

  16. v0.11.1-0.20260628104443-1737232b6bd728 Jun 2026pre-release

    Nothing published for this version

  17. v0.11.1-0.20260628080640-bda507ce96cf28 Jun 2026pre-release

    Nothing published for this version

  18. v0.11.015 Jun 2026
    Release notes

    This release focuses on full compatibility with draft-15. The server keeps limited backwards compatibility with older draft clients where this is straightforward, but that compatibility is intentionally not comprehensive.

    WebTransport flow control is not supported yet (see issue #256).

    Breaking Changes

    • webtransport-go now requires Go 1.25 or newer: #243

    Protocol Changes

    • Use SETTINGS_WT_ENABLED for WebTransport draft-version negotiation. The server continues to accept the old ENABLE_WEBTRANSPORT setting for compatibility with older clients: #254
    • Send SETTINGS_WT_ENABLED from the client, as required by draft-15: #271 (thanks to @tobbee)
    • Use webtransport-h3 as the Extended CONNECT :protocol token. The server continues to accept the legacy webtransport token for compatibility with older clients: #280 (thanks to @tomholford)
    • Use the WT_REQUIREMENTS_NOT_MET error when the peer does not advertise the required HTTP/3 or WebTransport capabilities: #252
    • Add support for the WT_ALPN_ERROR session error: #277
    • Validate WebTransport session IDs before accepting incoming streams: #283
    • Advertise SETTINGS values as required by Safari 26.4: #261 (thanks to @birros)

    New Features

    • Added a runnable example server and client, including browser-side JavaScript and certificate hash verification in the Go client: #285

    Notable Fixes

    • Fixed a stream close race condition where ReceiveStream.Read or SendStream.Write could block forever when the local and remote side closed a session concurrently: #267 (thanks to @aler9)
    • Server.ListenAndServe now closes the UDP socket it creates: #274

    What's Changed

    New Contributors

    Full Changelog: v0.10.0...v0.11.0

    Open source →
  19. v0.10.1-0.20260614070507-39cf50978b1f14 Jun 2026pre-release

    Nothing published for this version

  20. v0.10.1-0.20260613072116-bebadc4cb5b113 Jun 2026pre-release

    Nothing published for this version

  21. v0.10.1-0.20260611044423-d774cad87d7611 Jun 2026pre-release

    Nothing published for this version

  22. v0.10.1-0.20260509123036-27e20996f86d9 May 2026pre-release

    Nothing published for this version

  23. v0.10.1-0.20260312060737-05fe5253a73c12 Mar 2026pre-release

    Nothing published for this version

  24. v0.10.1-0.20260309100701-b1098a938b599 Mar 2026pre-release

    Nothing published for this version

  25. v0.10.1-0.20260212040715-10bd5c48438b12 Feb 2026pre-release

    Nothing published for this version

  26. v0.10.012 Jan 2026
    Release notes

    This release updates webtransport-go to use the new API introduced in quic-go v0.59.0 (#221): Instead of "hijacking" streams from the HTTP/3 layer, the underlying QUIC connection is now owned by WebTransport, and webtransport-go dispatches incoming streams to either the HTTP/3 layer or an existing or new WebTransport session.

    New Features

    Breaking Changes

    • Session.ConnectionState was renamed to SessionState: #189
    • The StreamID method was removed from Stream, SendStream and ReceiveStream: #226
    • The Server now embeds the http3.Server as a pointer (instead of by value): #215

    Other Changes

    • The Stream and the SendStream now expose a Context method: #176 (thanks to @Sicilica)
    • Delayed streams for already closed sessions are immediately reset: #235
    • The Session context now uses the request or dial context, allowing the application to attach values to the context: #199
    • When a WebTransport session is closed, streams are reset using the WT_SESSION_GONE error. Stream Read and Write now wait for the WT_CLOSE_SESSION capsule on the CONNECT stream to return a meaningful error: #213

    Notable Fixes

    • Closed sessions are now properly cleaned up: #198 (thanks to @rolaechea), #230
    • Session errors are now properly propagated to the stream Read and Write calls: #207
    • The length limit for WT_CLOSE_SESSION capsules is now enforced: #202
    • The dial timeout is now respected while waiting for the server's HTTP/3 settings: #216
    • A 10ms deadline is applied before attempting the WT_CLOSE_SESSION capsule, preventing Session.Close from blocking any longer than 10ms: #224
    • errors.Is error comparisons were fixed for StreamError and SessionError: #204, #205
    • The underlying QUIC connection is now closed when establishing a WebTransport session fails: #236

    Changelog

    New Contributors

    Full Changelog: v0.9.0...v0.10.0

    Open source →
  27. v0.9.1-0.20260111114619-128538a1431111 Jan 2026pre-release

    Nothing published for this version

  28. v0.9.1-0.20260108025406-5d8d3c4fd6878 Jan 2026pre-release

    Nothing published for this version

  29. v0.9.1-0.20260106115730-093f58bbc35e6 Jan 2026pre-release

    Nothing published for this version

  30. v0.9.1-0.20260104050022-3b5a3df73bee4 Jan 2026pre-release

    Nothing published for this version

  31. v0.9.1-0.20260104042233-0187fa1fd44f4 Jan 2026pre-release

    Nothing published for this version

  32. v0.9.1-0.20260103135651-661ba7fecbd63 Jan 2026pre-release

    Nothing published for this version

  33. v0.9.1-0.20251229080003-254a8e12b84c29 Dec 2025pre-release

    Nothing published for this version

  34. v0.9.1-0.20251222144301-89a80614cd5622 Dec 2025pre-release

    Nothing published for this version

  35. v0.9.1-0.20251206065250-a5a21c1d8ddd6 Dec 2025pre-release

    Nothing published for this version

  36. v0.9.1-0.20251206045753-e7604b9977e26 Dec 2025pre-release

    Nothing published for this version

  37. v0.9.1-0.20251115050751-b7714a748e1a15 Nov 2025pre-release

    Nothing published for this version

  38. v0.9.1-0.20251114074356-a4e0e9f77aca14 Nov 2025pre-release

    Nothing published for this version

  39. v0.9.1-0.20251110072608-7b46eff748f910 Nov 2025pre-release

    Nothing published for this version

  40. v0.9.1-0.20251108062013-998e07d8f1b98 Nov 2025pre-release

    Nothing published for this version

  41. v0.9.1-0.20251108040630-627caee855e58 Nov 2025pre-release

    Nothing published for this version

  42. v0.9.024 Jun 2025
    Release notes

    This release updates quic-go to v0.53.0.

    What's Changed

    Full Changelog: v0.8.0...v0.9.0

    Open source →
  43. v0.8.1-0.20250617154214-d6203791979917 Jun 2025pre-release

    Nothing published for this version

  44. v0.8.1-0.20250616120123-59b4ac101a3b16 Jun 2025pre-release

    Nothing published for this version

  45. v0.8.1-0.20250615082159-b15cfe19336015 Jun 2025pre-release

    Nothing published for this version

  46. v0.8.1-0.20250607045527-0a9e2ee55f757 Jun 2025pre-release

    Nothing published for this version

  47. v0.8.1-0.20250328130601-2671ef85124d28 Mar 2025pre-release

    Nothing published for this version

  48. v0.8.1-0.20241018022711-4ac2c9250e6618 Oct 2024pre-release

    Nothing published for this version

  49. v0.8.1-0.20241018022259-0f459d387a1918 Oct 2024pre-release

    Nothing published for this version

  50. v0.8.1-0.20240614155956-d0757e0a28e514 Jun 2024pre-release

    Nothing published for this version

  51. v0.8.1-0.20240427182901-3845188c581927 Apr 2024pre-release

    Nothing published for this version

  52. v0.8.027 Apr 2024
    Release notes

    Features

    This release adds support for WebTransport Datagrams (#142). Datagrams are a required feature of WebTransport, therefore there’s no need to negotiate support for it. webtransport-go handles negotiation of QUIC and HTTP/3 datagram support.

    Datagrams can be sent by calling SendDatagram on the Session, and received using ReceiveDatagram.

    Breaking Changes

    • rename ConnectionError to the SessionError (#134)
    • add a Remote field to the StreamError (#139)

    Other Notable Changes

    • block calls to Server.Upgrade until the client’s SETTINGS were received, check for HTTP Datagram support (#146)
    • check the server's SETTINGS before sending the Extended CONNECT request (#151)

    quic-go.net: Launching a new Documentation Site

    With this release, we're launching a new documentation site for the quic-go projects (quic-go itself, HTTP/3, webtransport-go, and soon, masque-go): quic-go.net.

    The documentation site aims to explain the concepts and how they are made accessible using webtransport-go's API.

    A lot of work has gone into the documentation already, but we're by no means done yet. The entire source is public in https://github.com/quic-go/docs/, and we're happy about community contributions.

    webtransport-go needs your support!

    Is your project / company relying on webtransport-go?
    Please consider funding the project. Any support is highly appreciated!

    Changelog

    Full Changelog: v0.7.0...v0.8.0

    Open source →
  53. v0.7.1-0.20240426181444-36bc4d65497026 Apr 2024pre-release

    Nothing published for this version

  54. v0.7.1-0.20240425104752-0da5b748767d25 Apr 2024pre-release

    Nothing published for this version

  55. v0.7.1-0.20240411173748-ba7c5ff2091111 Apr 2024pre-release

    Nothing published for this version

  56. v0.7.1-0.20240402042009-c5beefb2d1342 Apr 2024pre-release

    Nothing published for this version

  57. v0.7.1-0.20240323211916-2ce8e10f2d3b23 Mar 2024pre-release

    Nothing published for this version

  58. v0.7.023 Mar 2024
    Release notes

    Breaking Changes

    Before v0.7.0, the server (incorrectly) didn't advertise support the Extended CONNECT extension. With quic-go/quic-go#4341, it now does. The client now checks for Extended CONNECT support, and aborts the handshake if the server doesn't support it. This means that v0.7.0 clients are now incompatible with pre-v0.7.0 servers.

    What's Changed

    New Contributors

    Full Changelog: v0.6.0...v0.7.0

    Open source →
  59. v0.6.1-0.20240322071652-52911571052d22 Mar 2024pre-release

    Nothing published for this version

  60. v0.6.1-0.20240315025244-2275cd77447115 Mar 2024pre-release

    Nothing published for this version