Skip to content

v0.11.0

Choose a tag to compare

@marten-seemann marten-seemann released this 15 Jun 15:08
· 53 commits to master since this release
Immutable release. Only release title and notes can be modified.
683e220

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