Most Notable Changes
This release adds support for QUIC v2 and adds an API for WebTransport to the http3 package.
What's Changed
- remove unneeded network from custom dial function used in HTTP/3 by @marten-seemann in #3368
- extend the HTTP/3 API for WebTransport support by @marten-seemann in #3362
- add LocalAddr and RemoteAddr functions to http3.StreamCreator by @marten-seemann in #3384
- implement HTTP/3 unidirectional stream hijacking by @hareku in #3389
- Expose quic server closed err by @hareku in #3395
- protect against concurrent use of Stream.Read by @marten-seemann in #3380
- protect against concurrent use of Stream.Write by @marten-seemann in #3381
- reduce flakiness of deadline integration tests by @marten-seemann in #3383
- fix deadlock on concurrent http3.Server.Serve and Close calls by @marten-seemann in #3387
- update docs to reflect that we support RFC 9221 (Unreliable Datagrams) by @marten-seemann in #3382
- fix parsing of request path for Extended CONNECT requests by @marten-seemann in #3388
- remove warning comments of stable implementation by @hareku in #3399
- Clone TLS conf in newClient by @betamos in #3400
- don't set receive buffer if it is already large enough by @dchaofei in #3407
- remove error return value from ComposeVersionNegotiation by @dchaofei in #3410
- do not embed http.Server in http3.Server by @tie in #3397
- don't close the request stream when http3.DataStreamer was used by @marten-seemann in #3413
- introduce a http3.RoundTripOpt to prevent closing of request stream by @marten-seemann in #3411
- don't send path MTU probe packets on a timer by @marten-seemann in #3423
- don't ignore errors that occur when the TLS ClientHello is generated by @marten-seemann in #3424
- make it possible to parse a varint at the end of a reader by @marten-seemann in #3428
- add test for bidirectional stream hijacker by @marten-seemann in #3434
- pass frame / stream type parsing errors to the hijacker callbacks by @marten-seemann in #3429
- Change "HTTP/3" to "HTTP/3.0". by @aaronriekenberg in #3439
- always reset header buffer, even when QPACK encoding fails by @marten-seemann in #3436
- update qtls to include the recent session ticket changes to crypto/tls by @marten-seemann in #3443
- remove the http3.DataStreamer by @marten-seemann in #3435
- allow HTTP clients and servers to take over the request stream by @marten-seemann in #3437
- implement QUIC v2 by @marten-seemann in #3432
- make the keep alive interval configurable by @nmldiegues in #3444
- fix flaky HTTP/3 request body test by @marten-seemann in #3447
- only set DF for sockets that can handle it by @nmldiegues in #3448
- dedupe Alt-Svc header values by @mattrobenolt in #3461
- update for Go 1.19beta1 by @marten-seemann in #3460
New Contributors
- @betamos made their first contribution in #3400
- @dchaofei made their first contribution in #3407
- @tie made their first contribution in #3397
- @nmldiegues made their first contribution in #3444
- @mattrobenolt made their first contribution in #3461
Full Changelog: v0.27.0...v0.28.0