github quinn-rs/quinn 0.3.0

latest releases: 0.11.1, 0.11.0, 0.9.4...
5 years ago

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 partial 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
  • Initial benchmarks show 1+ Gbps, with lots of low-hanging optimization fruit still left
  • Example code for different use cases (thanks to @povilasb)
  • Worked around a networking regression (login only) 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.

Don't miss a new quinn release

NewReleases is sending notifications on new releases.