Highlights
Features
Bug Fixes
- http1: fix rare missed write wakeup on connections (#3952) (2377b893)
- http2: fix internals of HTTP/2 CONNECT upgrades (#3967) (58e0e7dc, closes #3966)
Breaking Changes
While technically breaking, it's assumed you will not need to do anything or be affected.
-
The HTTP/2 client connection no longer allows an executor
that can not spawn itself.This was an oversight originally. The client connection will now include spawning
a future that keeps a copy of the executor to spawn other futures. Thus, if it is
!Send, it needs to spawn!Sendfutures. The likelihood of executors that match
the previously allowed behavior should be very remote.There is also technically a semver break in here, which is that the
Http2ClientConnExectrait no longer dyn-compatible, because it now expects to
beClone. This should not break usage of theconnbuilder, because it already
separately hadE: Clonebounds. If someone were usingdyn Http2ClientConnExec,
that will break. However, there is no purpose for doing so, and it is not usable
otherwise, since the trait only exists to propagate bounds into hyper. Thus, the
breakage should not affect anyone.
(58e0e7dc)
What's Changed
- chore(ci): update to actions/checkout@v5 by @tottoto in #3935
- refactor(ffi): specify "C" ABI explicitly in ffi_fn! macro by @1911860538 in #3937
- Update documented default values for
http1::Builderby @Will-Low in #3938 - fix(client): port tests to in-memory socket by @cratelyn in #3947
- feat: allow overriding the instant returned from Timer by @arielb1 in #3965
- fix(http1): poll_loop writes when ready by @lthiery in #3952
- test(ready_stream): replace tracing with printlns by @seanmonstar in #3973
- fix(http2): fix internals of HTTP/2 CONNECT upgrades by @seanmonstar in #3967
- Release v1.8.0 by @seanmonstar in #3974