PackageTrack
Sign in Get early access

tokio-test

Testing utilities for Tokio- and futures-based code

0.4.5 89M downloads/mo #862 most downloaded on crates.io tokio-rs/tokio

What this package is like to depend on

Last release 7 months ago

04 Jan 2026

Ships unpredictably

gaps range from 2 weeks to 2.3 years

Nearly every release is documented

notes for 9 of 10 stable releases

Nothing withdrawn

no release was ever pulled

8 years old

16 releases · first in 2019

1 release in the last 12 months

see the full history below

Release timeline

16 releases · Feb 2019 to Jan 2026
2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 16
  1. 0.4.5 04 Jan 2026
    Release notes

    Added

    • test: add io::Builder::name for better panic messages (#7212)

    Fixed

    • test: make Spawn forward size_hint (#6607)

    Changed

    • test: remove unused async-stream and bytes dependencies (#7214)
    Open source →
  2. 0.4.4 14 Mar 2024
    Release notes
    • task: mark Spawn as #[must_use] (#6371)
    • test: increase MSRV to 1.63 (#6126)
    • test: update category slug (#5953)
    Open source →
  3. 0.4.3 23 Aug 2023
    Release notes
    • deps: fix minimum required version of async-stream (#5347)
    • deps: fix minimum required version of tokio-stream (#4376)
    • docs: improve tokio_test::task docs (#5132)
    • io: fetch actions from mock handle before write (#5814)
    • io: fix wait operation on mock (#5554)
    Open source →
  4. 0.4.2 14 May 2021
    Release notes
    • test: add assert_elapsed! macro (#3728)
    Open source →
  5. 0.4.1 10 Mar 2021
    Release notes
    • Fix io::Mock to be Send and Sync (#3594)
    Open source →
  6. 0.4.0 23 Dec 2020
    Release notes
    • Track tokio 1.0 release.
    Open source →
  7. 0.3.0 15 Oct 2020
    Release notes
    • Track tokio 0.3 release.
    Open source →
    Release notes

    This represents a 1.0 beta release. APIs are polished and future-proofed. APIs not included for 1.0 stabilization have been removed.

    Biggest changes are:

    • I/O driver internal rewrite. The windows implementation includes significant changes.
    • Runtime API is polished, especially with how it interacts with feature flag combinations.
    • Feature flags are simplified
      • rt-core and rt-util are combined to rt
      • rt-threaded is renamed to rt-multi-thread to match builder API
      • tcp, udp, uds, dns are combined to net.
      • parking_lot is included with full

    Changes

    • meta: Minimum supported Rust version is now 1.45.
    • io: AsyncRead trait now takes ReadBuf in order to safely handle reading into uninitialized memory (#2758).
    • io: Internal I/O driver storage is now able to compact (#2757).
    • rt: Runtime::block_on now takes &self (#2782).
    • sync: watch reworked to decouple receiving a change notification from receiving the value (#2814, #2806).
    • sync: Notify::notify is renamed to notify_one (#2822).
    • process: Child::kill is now an async fn that cleans zombies (#2823).
    • sync: use const fn constructors as possible (#2833, #2790)
    • signal: reduce cross-thread notification (#2835).
    • net: tcp,udp,uds types support operations with &self (#2828, #2919, #2934).
    • sync: blocking mpsc channel supports send with &self (#2861).
    • time: rename delay_for and delay_until to sleep and sleep_until (#2826).
    • io: upgrade to mio 0.7 (#2893).
    • io: AsyncSeek trait is tweaked (#2885).
    • fs: File operations take &self (#2930).
    • rt: runtime API, and #[tokio::main] macro polish (#2876)
    • rt: Runtime::enter uses an RAII guard instead of a closure (#2954).
    • net: the from_std function on all sockets no longer sets socket into non-blocking mode (#2893)

    Added

    • sync: map function to lock guards (#2445).
    • sync: blocking_recv and blocking_send fns to mpsc for use outside of Tokio (#2685).
    • rt: Builder::thread_name_fn for configuring thread names (#1921).
    • fs: impl FromRawFd and FromRawHandle for File (#2792).
    • process: Child::wait and Child::try_wait (#2796).
    • rt: support configuring thread keep-alive duration (#2809).
    • rt: task::JoinHandle::abort forcibly cancels a spawned task (#2474).
    • sync: RwLock write guard to read guard downgrading (#2733).
    • net: add poll_* functions that take &self to all net types (#2845)
    • sync: get_mut() for Mutex, RwLock (#2856).
    • sync: mpsc::Sender::closed() waits for Receiver half to close (#2840).
    • sync: mpsc::Sender::is_closed() returns true if Receiver half is closed (#2726).
    • stream: iter and iter_mut to StreamMap (#2890).
    • net: implement AsRawSocket on windows (#2911).
    • net: TcpSocket creates a socket without binding or listening (#2920).

    Removed

    • io: vectored ops are removed from AsyncRead, AsyncWrite traits (#2882).
    • io: mio is removed from the public API. PollEvented and Registration are removed (#2893).
    • io: remove bytes from public API. Buf and BufMut implementation are removed (#2908).
    • time: DelayQueue is moved to tokio-util (#2897).

    Fixed

    • io: stdout and stderr buffering on windows (#2734).
    Open source →
  8. 0.2.1 17 Apr 2020
    Release notes
    • Add Future and Stream implementations for task::Spawn<T>.
    Open source →
    Release notes

    Fixes

    • API docs for TcpListener::incoming, UnixListener::incoming (#1831).

    Added

    • tokio::task::LocalSet provides a strategy for spawning !Send tasks (#1733).
    • export tokio::time::Elapsed (#1826).
    • impl AsRawFd, AsRawHandle for tokio::fs::File (#1827).
    Open source →
  9. 0.2.0 26 Nov 2019
    Release notes
    • Initial release
    Open source →
    Release notes

    A major breaking change. Most implementation and APIs have changed one way or another. This changelog entry contains a highlight

    Changed

    • APIs are updated to use async / await.
    • most tokio-* crates are collapsed into this crate.
    • Scheduler is rewritten.
    • tokio::spawn returns a JoinHandle.
    • A single I/O / timer is used per runtime.
    • I/O driver uses a concurrent slab for allocating state.
    • components are made available via feature flag.
    • Use bytes 0.5
    • tokio::codec is moved to tokio-util.

    Removed

    • Standalone timer and net drivers are removed, use Runtime instead
    • current_thread runtime is removed, use tokio::runtime::Runtime with basic_scheduler instead.
    Open source →
  10. 0.2.0-alpha.6 01 Oct 2019 pre-release

    Nothing published for this version

  11. 0.2.0-alpha.5 19 Sep 2019 pre-release

    Nothing published for this version

  12. 0.2.0-alpha.4 29 Aug 2019 pre-release

    Nothing published for this version

  13. 0.2.0-alpha.3 28 Aug 2019 pre-release

    Nothing published for this version

  14. 0.2.0-alpha.2 18 Aug 2019 pre-release

    Nothing published for this version

  15. 0.2.0-alpha.1 08 Aug 2019 pre-release

    Nothing published for this version

  16. 0.0.0 21 Feb 2019

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive