| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2025-12-21 | 4.0 kB | |
| v0.58.0 source code.tar.gz | 2025-12-21 | 713.1 kB | |
| v0.58.0 source code.zip | 2025-12-21 | 947.6 kB | |
| Totals: 3 Items | 1.7 MB | 1 | |
This release optimizes the QUIC handshake:
- Multiple incoming packets are now processed before sending an acknowledgment, reducing the total number of packets sent: [#5451]
- ACK frames are now packed into coalesced packets, reducing the need to send a separate packet just for the ACK in many cases: [#5477]
- When packets are buffered during the handshake, this now doesn't lead to inflated RTT measurements anymore: [#5493], [#5494]
## Other notable changes
- quic-go now has a new logo: [#5484]
- ACK frames can now be encoded with up to 64 ranges (previously: 32): [#5476]
- Serializing ACK frames is now significantly faster: [#5476]
- Improved batch packet processing logic: [#5478]
- qlog: added support for the
datagram_idonpacket_sent,packet_receivedandpacket_bufferedevents, using the CRC32 of the packet
Changelog
- qlog: add a DebugEvent by @marten-seemann in https://github.com/quic-go/quic-go/pull/5456
- qlog the datagram_id for long header and coalesced packets by @marten-seemann in https://github.com/quic-go/quic-go/pull/5455
- build(deps): bump actions/checkout from 5 to 6 by @dependabot[bot] in https://github.com/quic-go/quic-go/pull/5458
- handshake: pass cipherSuite by value instead of pointer by @marten-seemann in https://github.com/quic-go/quic-go/pull/5459
- handshake: add a benchmark for token decoding by @marten-seemann in https://github.com/quic-go/quic-go/pull/5460
- use synctest in the session resumption test by @marten-seemann in https://github.com/quic-go/quic-go/pull/5424
- handshake: fix QUIC events with session tickets disabled on Go 1.26 by @marten-seemann in https://github.com/quic-go/quic-go/pull/5462
- fix flaky TestConnectionCongestionControl by @Copilot in https://github.com/quic-go/quic-go/pull/5467
- simnet: move latency configuration to Router, simplify queueing logic by @marten-seemann in https://github.com/quic-go/quic-go/pull/5463
- use synctest for the RTT and reordering tests by @marten-seemann in https://github.com/quic-go/quic-go/pull/5464
- use synctest for 0-RTT integration tests by @marten-seemann in https://github.com/quic-go/quic-go/pull/5465
- allow processing of multiple packets before handshake completion by @marten-seemann in https://github.com/quic-go/quic-go/pull/5451
- ackhandler: disentangle ReceivedPacketHandler and SentPacketHandler by @marten-seemann in https://github.com/quic-go/quic-go/pull/5469
- refactor connection tests to remove ReceivedPacketHandler mock by @marten-seemann in https://github.com/quic-go/quic-go/pull/5468
- ackhandler: remove ReceivedPacketHandler interface, use struct directly by @marten-seemann in https://github.com/quic-go/quic-go/pull/5472
- wire: add a function to trunctate an ACK frame by @marten-seemann in https://github.com/quic-go/quic-go/pull/5476
- allow packing of ACKs in coalesced packets by @marten-seemann in https://github.com/quic-go/quic-go/pull/5477
- improve batch packet processing logic by @marten-seemann in https://github.com/quic-go/quic-go/pull/5478
- build(deps): bump actions/cache from 4 to 5 by @dependabot[bot] in https://github.com/quic-go/quic-go/pull/5482
- build(deps): bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in https://github.com/quic-go/quic-go/pull/5483
- update the logo by @marten-seemann in https://github.com/quic-go/quic-go/pull/5484
- ci: add Go 1.26rc1 to tested Go versions by @marten-seemann in https://github.com/quic-go/quic-go/pull/5486
- utils: make TestAddTimestamp work in all time zones by @marten-seemann in https://github.com/quic-go/quic-go/pull/5492
- ackhandler: record RTT measurements for non-ack-eliciting packets by @marten-seemann in https://github.com/quic-go/quic-go/pull/5494
- ackhandler: only generate RTT sample for the last ack-eliciting packet by @marten-seemann in https://github.com/quic-go/quic-go/pull/5493
Full Changelog: https://github.com/quic-go/quic-go/compare/v0.57.0...v0.58.0