0.4.0
We are happy to announce the release of 0.4.0 of Quinn, our pure-Rust implementation of the QUIC protocol, the next generation TCP replacement protocol currently being standardized at the IETF.
After 5 months of development since the release of 0.3.0, Quinn has been upgraded to the latest draft (draft 22) protocols. We have created a trait-based abstraction over our use of rustls and ring, so that it will be possible to use Quinn with any TLS implementation implementing these traits, or even alternative non-standard cryptographic protocols. Quinn 0.4.0 is a highly conformant implementation of the latest QUIC draft, according to the interoperability testing data maintained by implementers participating in the QUIC working group.
- A number of improvements to the high-level API to improve usability
- Make it possible to build lower-level quinn-proto crate without rustls/ring
- Moved CI to Azure, which means we now test Windows in addition to Linux and macOS
- Implement coalescing of outgoing packets, reducing handshake overhead
- Allow connection migration to be disabled
- Improved documentation
- Many smaller bug fixes and refactoring to improve Quinn's internals
Note that we plan to merge our branch using std::future::Future
and async
/await
oriented interfaces soon after this release is published, since support for this syntax is stabilizing soon. Therefore, the next release will be designed for use with async
and await
; we will consider pushing out maintenance releases for 0.4 using "old" futures if there is demand.
Quinn has been proven to function well in real-world scenarios, so if you're interested in QUIC, now would be a good time to start testing. The QUIC v1 spec is stabilizing and we expect it will be published as an RFC in the next 6 months.
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.