Skip to content

v0.32.0

Compare
Choose a tag to compare
@marten-seemann marten-seemann released this 02 Feb 07:08
· 520 commits to master since this release
1cea56a

Breaking Changes

quic-go has moved from the private GitHub account of lucas-clemente to a dedicated org, quic-go. Now all the QUIC-related repositories (the various qtls forks of crypto/tls, our QPACK implementation, webtransport-go etc.) are now all located under this org. Note that this will require users to update the import path in go.mod as well as in Go files. The new import path is github.com/quic-go/quic-go.

Notable Changes

  • We now have support for Go 1.20, which was released earlier today.
  • This release dramatically reduces the number of allocations that happen when transferring large amount of data on a stream. This is the result of a large effort to reduce and amortize allocations across the entire code base. See the linked PRs in #3526 for a list of related changes.
  • We have (finally!) resolved a very old issue (#765) that made using HTTP/3 clients quite cumbersome: #3684.
  • The ConnectionState method on the Connection can now be called at any time. It doesn't block until completion of the TLS handshake any more: #3636.
  • QUIC v2 support was updated to the current IETF draft: #3631
  • It is now possible to accept connections right after receiving the ClientHello on the server side, i.e. 0.5 RTTs after the client started the handshake using ListenEarly. Using ListenEarly does not enable 0-RTT support any more, instead, 0-RTT is controlled via the Allow0RTT callback in the Config: #3635.

Changelog

New Contributors

Full Changelog: v0.31.1...v0.32.0