PackageTrack
Sign in Get early access

github.com/quic-go/webtransport-go

v0.12.0 #2604 most downloaded on Go modules quic-go/webtransport-go

What this package is like to depend on

Last release 20 days ago

04 Aug 2026

Ships fairly regularly

a new release about every 2 weeks

Most releases are documented

notes for 10 of 12 stable releases

Nothing withdrawn

no release was ever pulled

4 years old

76 releases · first in 2023

39 releases in the last 12 months

see the full history below

Release timeline

76 releases · Feb 2023 to Aug 2026
2024 2025 2026
Release Pre-release

Releases

latest 60 of 76
  1. v0.12.1-0.20260804071944-6b58994807f9 04 Aug 2026 pre-release

    Nothing published for this version

  2. v0.12.0 27 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 →
  3. v0.11.1 05 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 →
  4. v0.11.1-0.20260727101430-23b4cd1439e9 27 Jul 2026 pre-release

    Nothing published for this version

  5. v0.11.1-0.20260726110911-ad61d5ed8f8e 26 Jul 2026 pre-release

    Nothing published for this version

  6. v0.11.1-0.20260725144145-27460e573dc3 25 Jul 2026 pre-release

    Nothing published for this version

  7. v0.11.1-0.20260725122855-cd19184e58d9 25 Jul 2026 pre-release

    Nothing published for this version

  8. v0.11.1-0.20260724182611-6f838a7ea00c 24 Jul 2026 pre-release

    Nothing published for this version

  9. v0.11.1-0.20260724172051-f824b4be2a90 24 Jul 2026 pre-release

    Nothing published for this version

  10. v0.11.1-0.20260720153540-abc4ce0cbded 20 Jul 2026 pre-release

    Nothing published for this version

  11. v0.11.1-0.20260719115857-a9ef36bd203b 19 Jul 2026 pre-release

    Nothing published for this version

  12. v0.11.1-0.20260711203820-db8e2446cec2 11 Jul 2026 pre-release

    Nothing published for this version

  13. v0.11.1-0.20260706110617-f30b90444be7 06 Jul 2026 pre-release

    Nothing published for this version

  14. v0.11.1-0.20260705032152-a2d9e5cab744 05 Jul 2026 pre-release

    Nothing published for this version

  15. v0.11.1-0.20260628104443-1737232b6bd7 28 Jun 2026 pre-release

    Nothing published for this version

  16. v0.11.1-0.20260628080640-bda507ce96cf 28 Jun 2026 pre-release

    Nothing published for this version

  17. v0.11.0 15 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 →
  18. v0.10.1-0.20260614070507-39cf50978b1f 14 Jun 2026 pre-release

    Nothing published for this version

  19. v0.10.1-0.20260611044423-d774cad87d76 11 Jun 2026 pre-release

    Nothing published for this version

  20. v0.10.1-0.20260509123036-27e20996f86d 09 May 2026 pre-release

    Nothing published for this version

  21. v0.10.1-0.20260312060737-05fe5253a73c 12 Mar 2026 pre-release

    Nothing published for this version

  22. v0.10.1-0.20260309100701-b1098a938b59 09 Mar 2026 pre-release

    Nothing published for this version

  23. v0.10.1-0.20260212040715-10bd5c48438b 12 Feb 2026 pre-release

    Nothing published for this version

  24. v0.10.0 12 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 →
  25. v0.9.1-0.20260111114619-128538a14311 11 Jan 2026 pre-release

    Nothing published for this version

  26. v0.9.1-0.20260108025406-5d8d3c4fd687 08 Jan 2026 pre-release

    Nothing published for this version

  27. v0.9.1-0.20260106115730-093f58bbc35e 06 Jan 2026 pre-release

    Nothing published for this version

  28. v0.9.1-0.20260104050022-3b5a3df73bee 04 Jan 2026 pre-release

    Nothing published for this version

  29. v0.9.1-0.20260104042233-0187fa1fd44f 04 Jan 2026 pre-release

    Nothing published for this version

  30. v0.9.1-0.20260103135651-661ba7fecbd6 03 Jan 2026 pre-release

    Nothing published for this version

  31. v0.9.1-0.20251229080003-254a8e12b84c 29 Dec 2025 pre-release

    Nothing published for this version

  32. v0.9.1-0.20251222144301-89a80614cd56 22 Dec 2025 pre-release

    Nothing published for this version

  33. v0.9.1-0.20251206065250-a5a21c1d8ddd 06 Dec 2025 pre-release

    Nothing published for this version

  34. v0.9.1-0.20251206045753-e7604b9977e2 06 Dec 2025 pre-release

    Nothing published for this version

  35. v0.9.1-0.20251115050751-b7714a748e1a 15 Nov 2025 pre-release

    Nothing published for this version

  36. v0.9.1-0.20251114074356-a4e0e9f77aca 14 Nov 2025 pre-release

    Nothing published for this version

  37. v0.9.1-0.20251110072608-7b46eff748f9 10 Nov 2025 pre-release

    Nothing published for this version

  38. v0.9.1-0.20251108062013-998e07d8f1b9 08 Nov 2025 pre-release

    Nothing published for this version

  39. v0.9.1-0.20251108040630-627caee855e5 08 Nov 2025 pre-release

    Nothing published for this version

  40. v0.9.0 24 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 →
  41. v0.8.1-0.20250617154214-d62037919799 17 Jun 2025 pre-release

    Nothing published for this version

  42. v0.8.1-0.20250616120123-59b4ac101a3b 16 Jun 2025 pre-release

    Nothing published for this version

  43. v0.8.1-0.20250615082159-b15cfe193360 15 Jun 2025 pre-release

    Nothing published for this version

  44. v0.8.1-0.20250607045527-0a9e2ee55f75 07 Jun 2025 pre-release

    Nothing published for this version

  45. v0.8.1-0.20250328130601-2671ef85124d 28 Mar 2025 pre-release

    Nothing published for this version

  46. v0.8.1-0.20241018022711-4ac2c9250e66 18 Oct 2024 pre-release

    Nothing published for this version

  47. v0.8.1-0.20241018022259-0f459d387a19 18 Oct 2024 pre-release

    Nothing published for this version

  48. v0.8.1-0.20240614155956-d0757e0a28e5 14 Jun 2024 pre-release

    Nothing published for this version

  49. v0.8.1-0.20240427182901-3845188c5819 27 Apr 2024 pre-release

    Nothing published for this version

  50. v0.8.0 27 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 →
  51. v0.7.1-0.20240426181444-36bc4d654970 26 Apr 2024 pre-release

    Nothing published for this version

  52. v0.7.1-0.20240425104752-0da5b748767d 25 Apr 2024 pre-release

    Nothing published for this version

  53. v0.7.1-0.20240411173748-ba7c5ff20911 11 Apr 2024 pre-release

    Nothing published for this version

  54. v0.7.1-0.20240402042009-c5beefb2d134 02 Apr 2024 pre-release

    Nothing published for this version

  55. v0.7.1-0.20240323211916-2ce8e10f2d3b 23 Mar 2024 pre-release

    Nothing published for this version

  56. v0.7.0 23 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 →
  57. v0.6.1-0.20240322071652-52911571052d 22 Mar 2024 pre-release

    Nothing published for this version

  58. v0.6.1-0.20240315025244-2275cd774471 15 Mar 2024 pre-release

    Nothing published for this version

  59. v0.6.1-0.20240315022320-04788840b19f 15 Mar 2024 pre-release

    Nothing published for this version

  60. v0.6.1-0.20240223095830-4f3d108ea950 23 Feb 2024 pre-release

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive