v0.40.0
marten-seemann
released this
31 Oct 04:48
·
226 commits
to master
since this release
API Changes
Connection.{Send,Receive}Message
was renamed to{Send,Receive}Datagram
: #4116- Closing a
Listener
created from aTransport
doesn't close already established QUIC connections: #4072 - http3: the
ResponseWriter
now automatically discards the response body for HEAD requests: #4115
Other Changes / Fixes
- When using
Dial
(notDialEarly
) now doesn't perform 0-RTT handshake, even if the session ticket allows 0-RTT: #4125 - ClientHellos offering TLS versions older than 1.3 are now reject (when using Go 1.20): #4130
- EPERM sendmsg errors (see golang/go#63322) are now automatically caught: #4111
- Sending CONNECTION_REFUSED now doesn't spawn a new Go routine: #4091
- Sending Retry packets now doesn't spawn a new Go routine: #4092
Please support quic-go!
Is your project / company relying on quic-go? Please consider funding the project. Any support is highly appreciated!
Changelog
- simplify sending of INVALID_TOKEN errors by @marten-seemann in #4090
- don't spawn a new Go routine to send a CONNECTION_REFUSED packet by @marten-seemann in #4091
- don't spawn a new Go routine to send a Retry packet by @marten-seemann in #4092
- README: add qlog to list of supported RFCs, add an example by @marten-seemann in #4102
- fix IPv4 ECN control message length on FreeBSD by @marten-seemann in #4110
- catch EPERM sendmsg errors for the very first packet on Linux by @marten-seemann in #4111
- use new gomock feature to generate type-safe methods in mocks by @marten-seemann in #4057
- http3: discard body from responses to HEAD requests by @Glonee in #4115
- fix logging of connection IDs in tracer test by @marten-seemann in #4118
- ci: create separate artifact archives per workflow run by @marten-seemann in #4121
- ci: use bash on all platforms by @marten-seemann in #4122
- rename Connection.{Send,Receive}Message to {Send,Receive}Datagram by @marten-seemann in #4116
- fix IPv4 ECN control message length on Linux by @marten-seemann in #4127
- use typed atomics in integration tests by @marten-seemann in #4120
- ci: run linter on all supported Go versions by @marten-seemann in #4126
- never allow 0-RTT when using Dial, even if the session ticket allows it by @marten-seemann in #4125
- reject ClientHellos that offer TLS versions older than 1.3 (for Go 1.20) by @marten-seemann in #4130
- handshake: clone the tls.Config returned by GetConfigForClient by @marten-seemann in #4133
- handshake: set MinVersion on the Config returned by GetConfigForClient by @marten-seemann in #4134
- don't close established connections on Listener.Close, when using a Transport by @marten-seemann in #4072
- README: link to webtransport-go repo by @marten-seemann in #4117
- fix race condition in multiplex integration test by @marten-seemann in #4136
- document what happens to established connections on Listener.Close by @marten-seemann in #4138
Full Changelog: v0.39.0...v0.40.0