Download Latest Version v0.55.0 source code.tar.gz (641.8 kB)
Email in envelope

Get an email when there's a new version of A QUIC implementation in pure Go

Home / v0.55.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2025-10-03 8.0 kB
v0.55.0 source code.tar.gz 2025-10-03 641.8 kB
v0.55.0 source code.zip 2025-10-03 879.6 kB
Totals: 3 Items   1.5 MB 3

This release contains a number of improvements and fixes, and it updates the supported Go versions to 1.24 and 1.25.

Optimizations

When sending packets on a QUIC connection, RFC 9002 requires us to save the timestamp for every packet sent. In [#5344], we implemented a memory-optimized drop-in replacement for time.Time, which reduces the memory required from 24 to 8 bytes, and vastly speeds up timer calculations (which happen very frequently).

New Features

  • Basic connection statistics are now exposed via Conn.ConnectionStats, thanks to @MarcoPolo
  • On some links, packet reordering can lead to spurious detections of packet loss when using the loss detection logic specified in RFC 9002. [#5355] adds logic detect when packet loss is detected spuriously.

Notable Fixes

  • http3: don't allow usage of closed Transport: [#5324], thanks to @Glonee
  • http3: fix race in concurrent Transport.Roundtrip calls: [#5323], thanks to @Glonee
  • improve and fix connection timer logic: [#5339], thanks to @sukunrt for a very comprehensive code review

Behind the Scenes

We have started transitioning tests to make use of the new synctest package that was added in Go 1.25 (and was available as a GOEXPERIMENT in Go 1.24): [#5291], [#5296], [#5298], [#5299], [#5302], [#5304], [#5305], [#5306], [#5317]. This is a lot of work, but it makes the test execution both faster and more reliable.

Changelog

New Contributors

Full Changelog: https://github.com/quic-go/quic-go/compare/v0.54.0...v0.55.0

Source: README.md, updated 2025-10-03