github tokio-rs/tokio tokio-1.17.0
Tokio v1.17.0

latest releases: tokio-1.41.0, tokio-stream-0.1.16, tokio-util-0.7.12...
2 years ago

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)

Don't miss a new tokio release

NewReleases is sending notifications on new releases.