This Month in hyper: February 2023
- hyper v0.14.24: fixes some expect-continue behavior, and reduces the internal max allocation in
- h2 v0.3.16: adds a missing piece for Extended CONNECT, and several bug fixes (memory reduction, panics)
- reqwest v0.11.14: adds
Proxy::no_proxy(url)that works like the
NO_PROXYenvironment variable, and several internal optimizations reducing copies and memory allocations.
- tower-http v0.4.0: a new decompression layer for Requests,
ServeFilenow translates IO errors into Responses, and adds a more flexible
We released RC3, which fixed up some missing pieces in the API. Places needing an
Executor now ask for one, and we added
hyper::rt::bounds to publicly expose nameable but future-proof Executor trait “aliases”, so libraries building on top of hyper can use them as bounds. We also added a few state getters for
SendRequest which were needed for the next exciting part.
The higher-level pooling
Client from 0.14.x has been ported to hyper-util. This was the most common blocker preventing people from trying out the release candidates. You can now use the
legacy::Client with hyper 1.0.0-rc.3, and have the normal connecting/pooling client experience you’re used to (see the example).
We’re still in the hyper polish period 💅. There’s still a little bit of time left to get us your feedback! It’s the most important part of this period. Or join us in one of the four polish areas (or help lead one)! You can also come chat with us about anything.
We took some extra time to focus on RC4, which has the last few breaking changes to go. Likely, hyper will vendor it’s own IO traits, and change
Service::call to be
&self instead of
&mut self. See the related issues if you have feedback.
The extra time will also allow us to investigate having a security review done for 1.0, to prevent any gotchas.
Within the next couple days, we’d like to publish a v0.0.1 to crates.io. The API likely will change in the very near future, but knowing exactly how requires allowing experimenters like reqwest to try it out.