Skip to content

Instantly share code, notes, and snippets.

@djc
Created Apr 17, 2019
Embed
What would you like to do?
Quinn 0.3.0 release notes

We are happy to announce the release of 0.3.0 of Quinn, our pure-Rust implementation of the QUIC protocol, the next generation TCP replacement protocol currently being standardized at the IETF.

After 3 months of development since the release of 0.2.0, 0.3.0 is starting to see some real-world use. Quinn 0.3.0 is a highly conformant implementations of the latest QUIC draft (draft 19), according to the interoperability testing data maintained by implementers participating in the QUIC working group.

High-level API types are now Send and Sync for use on multi-threaded runtimes
Extensive refactoring to make the code more maintainable and approachable
Improved documentation for low-level quinn-proto crate
Updated protocol support to draft 19
0-RTT data exchange is now supported
Fixed some QUIC-specific issues in rustls (thanks to @ctz for reviewing)
QPACK and early HTTP 3 support has been implemented, but is unreleased for now
Work started to abstract the use of rustls to enable use of other TLS implementations
An 80% improvement in our early throughput benchmark, now at 114 MiB/s
Worked around a networking regression in macOS 10.14

At this point, we expect the high-level API to only change in minor ways and Quinn has been proven to function well in real-world scenarios (see below), so if you're interested in QUIC, now would be a good time to start testing. The QUIC v1 spec is scheduled to be published as an RFC some time this summer.

We're grateful for the work @ustulation, @nbaksalyar and @povilasb from @maidsafe have contributed to this release. @maidsafe has replaced their internally developed UDP-based protocol with QUIC and Quinn, and in the process contributed a number of bugfixes, added examples and tests. Thanks also to @newpavlov for their contributions. We're happy that @stammw joined the Quinn team as main author of our unreleased quinn-h3 crate.

While we don't always have large amounts of pre-defined good first issues setup due to the fast moving development, we're also always happy to mentor new contributors, independent of their prior level of Rust experience! We tend to respond to issues and PRs pretty quickly, and we have an active Gitter channel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment