Skip to content

Tokio v1.17.0

Compare
Choose a tag to compare
@hawkw hawkw released this 16 Feb 18:53
· 951 commits to master since this release
43c224f

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
    where Instant::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 own Ready future
    (#4271)
  • replace deprecated atomic::spin_loop_hint with hint::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:

  • task: fix missing location information in tracing spans generated by
    spawn_local (#4483)
  • task: add JoinSet for managing sets of tasks (#4335)
  • metrics: fix compilation error on MIPS (#4475)
  • metrics: fix compilation error on arm32v7 (#4453)