1.17.0 (February 15, 2022)
This release updates the minimum supported Rust version (MSRV) to 1.49,
the mio
dependency to v0.8, and the (optional) parking_lot
dependency to v0.12. Additionally, it contains several bug fixes, as
well as internal refactoring and performance improvements.
Fixed
- time: prevent panicking in
sleep
with large durations (#4495) - time: eliminate potential panics in
Instant
arithmetic on platforms
whereInstant::now
is not monotonic (#4461) - io: fix
DuplexStream
not participating in cooperative yielding
(#4478) - rt: fix potential double panic when dropping a
JoinHandle
(#4430)
Changed
- update minimum supported Rust version to 1.49 (#4457)
- update
parking_lot
dependency to v0.12.0 (#4459) - update
mio
dependency to v0.8 (#4449) - rt: remove an unnecessary lock in the blocking pool (#4436)
- rt: remove an unnecessary enum in the basic scheduler (#4462)
- time: use bit manipulation instead of modulo to improve performance
(#4480) - net: use
std::future::Ready
instead of our ownReady
future
(#4271) - replace deprecated
atomic::spin_loop_hint
withhint::spin_loop
(#4491) - fix miri failures in intrusive linked lists (#4397)
Documented
- io: add an example for
tokio::process::ChildStdin
(#4479)
Unstable
The following changes only apply when building with --cfg tokio_unstable
: