Sourced from github.com/quic-go/quic-go's releases.
v0.42.0
New Features
- added a qlog tracer for events that happen before / outside of established connection: #4305
Notable Changes
- added a
ClientHelloInfo.AddrVerified
field: #4360- move callback controlling address verification (
VerifySourceAddress
) to theTransport
: #4253 and #4362- connections that are closed before being accepted are not removed from the server's accept queue: #4245
- http3: added a
RoundTripOpt.CheckSettings
callback to check the server's SETTINGS: #4355- http3: send the HTTP/3 settings value for Extended CONNECT (RFC 9220): #4341
- http3: don't modify the user's
quic.Config
to enable QUIC datagram support: #4340Fixes
- mitigate a memory exhaustion attack against QUIC's connection ID mechanism: #4369
- don't delay acknowledgments for packets during the handshake: #4279
- fix deadlock when closing both
Listener
andTransport
: #4332- fix handling of IPv4-mapped IPv6 addresses: #4309
- fix duplicate logging of the
key_discarded
event for Handshake packets: #4274- send CONNECTION_REFUSED when refusing connections: #4250
- http3: tighten validation logic for the :protocol pseudo header: #4261
What's Changed
- remove shutdown method on the Connection by
@marten-seemann
in quic-go/quic-go#4249- send the CONNECTION_REFUSED error when refusing a connection by
@marten-seemann
in quic-go/quic-go#4250- don't remove closed connections from the server's accept queue by
@marten-seemann
in quic-go/quic-go#4245- handshake: unexport Set{Read,Write}Key methods on the cryptoSetup by
@marten-seemann
in quic-go/quic-go#4254- handshake: fix documentation for updatableAEAD.SetWriteKey by
@putyWang
in quic-go/quic-go#4256- add Transport config options to limit the number of handshakes by
@marten-seemann
in quic-go/quic-go#4248- remove the RequireAddressValidation callback from the Config by
@marten-seemann
in quic-go/quic-go#4253- fix incorrect statement about connection ID lengths in the Transport by
@marten-seemann
in quic-go/quic-go#4247- remove unneeded nil check for new connections in the server by
@marten-seemann
in quic-go/quic-go#4260- ci: update to Go 1.22rc2 by
@marten-seemann
in quic-go/quic-go#4267- fix flaky handshake limiting test by
@marten-seemann
in quic-go/quic-go#4270- http3: only use :protocol pseudo-header for Extended CONNECT by
@taoso
in quic-go/quic-go#4261- fix flaky accept queue test by
@marten-seemann
in quic-go/quic-go#4280- fix flaky handshake limiting test by
@marten-seemann
in quic-go/quic-go#4281- only log the discarding of Handshake keys once by
@marten-seemann
in quic-go/quic-go#4274- testutils: add a perspective function parameter to ComposeInitialPacket by
@marten-seemann
in quic-go/quic-go#4276- fix flaky outgoing streams map test by
@marten-seemann
in quic-go/quic-go#4283- wire: remove FrameParser interface, expose FrameParser struct by
@marten-seemann
in quic-go/quic-go#4284- ackhandler: remove unused RTTStats from the received packet handler by
@marten-seemann
in quic-go/quic-go#4287- testutils: make the package public by
@marten-seemann
in quic-go/quic-go#4290- ci: remove unused depguard check for qtls by
@marten-seemann
in quic-go/quic-go#4291- ci: make Codecov ignore testutils and testdata by
@marten-seemann
in quic-go/quic-go#4292- testutils: expose aliases for all frames by
@marten-seemann
in quic-go/quic-go#4293- ackhandler: don't delay ACKs for Initial and Handshake packets by
@marten-seemann
in quic-go/quic-go#4288- protocol: rename VersionNumber to Version by
@marten-seemann
in quic-go/quic-go#4295
... (truncated)
4a99b81
close connection when an abnormally large number of frames are queued
(#4369)9971fed
use Transport.VerifySourceAddress to control the Retry Mechanism (#4362)497d3f5
http3: add a RoundTripOpt to check the server's SETTINGS frame (#4355)ca787d6
add an AddrVerified field to the ClientHelloInfo (#4360)f147639
update gomock to v0.4.0 (#4361)06b4214
remove unused ReceiveStream.CloseRemote method (#4357)5fd5d77
Merge pull request #4305
from quic-go/qlog-tracer30e01b9
use the transport tracer in integration tests55c05ac
qlog: log sent packets outside of a QUIC connectionaff90a6
qlog: log sent Version Negotiation packets