v0.11.0
·
53 commits
to master
since this release
Immutable
release. Only release title and notes can be modified.
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_ENABLEDfor WebTransport draft-version negotiation. The server continues to accept the oldENABLE_WEBTRANSPORTsetting for compatibility with older clients: #254 - Send
SETTINGS_WT_ENABLEDfrom the client, as required by draft-15: #271 (thanks to @tobbee) - Use
webtransport-h3as the Extended CONNECT:protocoltoken. The server continues to accept the legacywebtransporttoken for compatibility with older clients: #280 (thanks to @tomholford) - Use the
WT_REQUIREMENTS_NOT_METerror when the peer does not advertise the required HTTP/3 or WebTransport capabilities: #252 - Add support for the
WT_ALPN_ERRORsession 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.ReadorSendStream.Writecould block forever when the local and remote side closed a session concurrently: #267 (thanks to @aler9) Server.ListenAndServenow closes the UDP socket it creates: #274
What's Changed
- update to Go 1.26, drop Go 1.24 by @marten-seemann in #243
- build an image for the WebTransport Interop Runner by @marten-seemann in #244
- Bump docker/setup-buildx-action from 3 to 4 by @dependabot[bot] in #249
- Bump docker/build-push-action from 6 to 7 by @dependabot[bot] in #250
- Bump docker/login-action from 3 to 4 by @dependabot[bot] in #251
- Bump docker/setup-qemu-action from 3 to 4 by @dependabot[bot] in #248
- use the WT_REQUIREMENTS_NOT_MET error by @marten-seemann in #252
- use SETTINGS_WT_ENABLED introduced in draft-15 by @marten-seemann in #254
- ci: bump codecov/codecov-action from 5 to 6 by @dependabot[bot] in #260
- ci: bump nanasess/setup-chromedriver from 2 to 3 by @dependabot[bot] in #266
- ci: bump codecov/codecov-action from 6 to 7 by @dependabot[bot] in #268
- ci: pin non-GitHub-owned GitHub Actions by @marten-seemann in #270
- README: update to draft-15 by @marten-seemann in #273
- send SETTINGS_WT_ENABLED from the client by @tobbee in #271
- close UDP socket created by Server.ListenAndServe by @marten-seemann in #274
- run go fix across the entire codebase by @marten-seemann in #275
- ci: run go fix as part of the lint workflow by @marten-seemann in #276
- add support for the WT_ALPN_ERROR by @marten-seemann in #277
- fix stream close race condition on session close by @aler9 in #267
- fix flaky TestDatagrams by @marten-seemann in #278
- use webtransport-h3 as the :protocol upgrade token by @tomholford in #280
- implement validation of session IDs by @marten-seemann in #283
- add an example server and client by @marten-seemann in #285
- send WebTransport SETTINGS expected by Safari 26.4 by @birros in #261
- update quic-go to v0.60.0 by @marten-seemann in #287
New Contributors
- @tobbee made their first contribution in #271
- @aler9 made their first contribution in #267
- @tomholford made their first contribution in #280
- @birros made their first contribution in #261
Full Changelog: v0.10.0...v0.11.0