PackageTrack
Sign in Get early access

futures-lite

Futures, streams, and async I/O combinators

2.6.1 288M downloads/mo #373 most downloaded on crates.io smol-rs/futures-lite

What this package is like to depend on

Last release 1 years ago

04 Aug 2025

Release timing varies

gaps range from 8 days to 1.8 years

Nearly every release is documented

notes for 38 of 39 stable releases

Nothing withdrawn

no release was ever pulled

6 years old

39 releases · first in 2020

0 releases in the last 12 months

see the full history below

Release timeline

39 releases · May 2020 to Aug 2025
2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 39
  1. 2.6.1 04 Aug 2025
    Release notes
    • Fix docs for once_future and stop_after_future. (#131)
    Open source →
    Release notes
    • Fix docs for once_future and stop_after_future. (#131)
    Open source →
  2. 2.6.0 12 Jan 2025
    Release notes
    • Add Stream::map_while() combinator. (#116)
    • Add list of excluded features to crate documentation. (#112)
    • Update docs for AsyncRead::read_exact (#121)
    Open source →
    Release notes
    • Add Stream::map_while() combinator. (#116)
    • Add list of excluded features to crate documentation. (#112)
    • Update docs for AsyncRead::read_exact (#121)
    Open source →
  3. 2.5.0 08 Nov 2024
    Release notes
    • Remove Unpin bound from the Lines I/O adapter. (#113)
    Open source →
    Release notes
    • Remove Unpin bound from the Lines I/O adapter. (#113)
    Open source →
  4. 2.4.0 30 Oct 2024
    Release notes
    • Add a "fuse" method that makes it so a Future returns Poll::Pending
      forever after it returns Poll::Pending once. (#101)
    • Add a "stop_after_future" function that allows for running a Stream until a
      Future completes. (#103)
    • Make it so Zip/TryZip drop completed futures. (#106)
    Open source →
    Release notes
    • Add a "fuse" method that makes it so a Future returns Poll::Pending forever after it returns Poll::Pending once. (#101)
    • Add a "stop_after_future" function that allows for running a Stream until a Future completes. (#103)
    • Make it so Zip/TryZip drop completed futures. (#106)
    Open source →
  5. 2.3.0 17 Mar 2024
    Release notes
    • Add StreamExt::drain for draining objects from a Stream without waiting (#70).
    Open source →
    Release notes
    • Add StreamExt::drain for draining objects from a Stream without waiting (#70).
    Open source →
  6. 2.2.0 06 Jan 2024
    Release notes
    • Relax Unpin bounds on io::copy. (#87)
    • Implement size_hint for stream::Filter. (#88)
    • Relax MSRV to 1.60. (#90)
    Open source →
    Release notes
    • Relax Unpin bounds on io::copy. (#87)
    • Implement size_hint for stream::Filter. (#88)
    • Relax MSRV to 1.60. (#90)
    Open source →
  7. 2.1.0 02 Dec 2023
    Release notes
    • Make it so read_line and other futures use a naive implementation of byte
      searching unless the memchr feature is enabled. This prevents needing to
      compile the memchr crate unless it is desired. (#77)
    Open source →
    Release notes
    • Make it so read_line and other futures use a naive implementation of byte searching unless the memchr feature is enabled. This prevents needing to compile the memchr crate unless it is desired. (#77)
    Open source →
  8. 2.0.1 06 Nov 2023
    Release notes
    • Remove dependency on the waker-fn crate. (#81)
    Open source →
    Release notes
    • Remove dependency on the waker-fn crate. (#81)
    Open source →
  9. 2.0.0 25 Oct 2023
    Release notes
    • Breaking: Expose future::{ready, pending} from core instead of defining
      our own. (#73)
    • Breaking: The TryZip and Zip combinators are modified to have a cleaner
      API, where generic constraints are not necessary on the structure itself at the
      cost of additional generics. (#74)
    • Add a way to use racey futures on no_std by providing your own seed. (#75)
    Open source →
    Release notes
    • Breaking: Expose future::{ready, pending} from core instead of defining our own. (#73)
    • Breaking: The TryZip and Zip combinators are modified to have a cleaner API, where generic constraints are not necessary on the structure itself at the cost of additional generics. (#74)
    • Add a way to use racey futures on no_std by providing your own seed. (#75)
    Open source →
  10. 1.13.0 07 Apr 2023
    Release notes
    • Unbind Debug implementations of BufReader and BufWriter. (#49)
    • Add the once_future() combinator. (#59)
    • Add a combinator for temporarily using an AsyncRead/AsyncWrite as Read/Write. (#62)
    • Implement more methods for stream::BlockOn. (#68)
    Open source →
    Release notes
    • Unbind Debug implementations of BufReader and BufWriter. (#49)
    • Add the once_future() combinator. (#59)
    • Add a combinator for temporarily using an AsyncRead/AsyncWrite as Read/Write. (#62)
    • Implement more methods for stream::BlockOn. (#68)
    Open source →
  11. 1.12.0 03 Jun 2021
    Release notes
    • Implement BufRead for BlockOn
    Open source →
  12. 1.11.3 18 Dec 2020
    Release notes
    • Update pin-project-lite.
    Open source →
  13. 1.11.2 20 Oct 2020
    Release notes
    • Improve docs for ready!.
    Open source →
  14. 1.11.1 10 Oct 2020
    Release notes
    • Fix some typos.
    Open source →
  15. 1.11.0 09 Oct 2020
    Release notes
    • Add the new prelude module.
    • Deprecate trait re-exports in the root module.
    Open source →
  16. 1.10.1 05 Oct 2020
    Release notes
    • Fix compilation errors with Rust 1.42.0 and 1.45.2
    Open source →
  17. 1.10.0 03 Oct 2020
    Release notes
    • Add io::split().
    Open source →
  18. 1.9.0 03 Oct 2020
    Release notes
    • Add FutureExt::poll().
    • Add StreamExt::poll_next().
    • Add AsyncBufReadExt::fill_buf().
    • Add AsyncBufReadExt::consume().
    Open source →
  19. 1.8.0 22 Sep 2020
    Release notes
    • Add BoxedReader and BoxedWriter.
    Open source →
  20. 1.7.0 17 Sep 2020
    Release notes
    • Implement AsyncRead for Bytes.
    • Add StreamExt::then().
    Open source →
  21. 1.6.0 16 Sep 2020
    Release notes
    • Add FutureExt::catch_unwind().
    Open source →
  22. 1.5.0 16 Sep 2020
    Release notes
    • Add stream::race() and StreamExt::race().
    Open source →
  23. 1.4.0 09 Sep 2020
    Release notes
    • Add alloc Cargo feature.
    Open source →
  24. 1.3.0 07 Sep 2020
    Release notes
    • Add future::or().
    • Add FutureExt::race().
    • Disable waker-fn dependency on #![no_std] targets.
    Open source →
  25. 1.2.0 06 Sep 2020
    Release notes
    • Fix compilation errors on #![no_std] systems.
    • Add StreamExt::try_next().
    • Add StreamExt::partition().
    • Add StreamExt::for_each().
    • Add StreamExt::try_for_each().
    • Add StreamExt::zip().
    • Add StreamExt::unzip().
    • Add StreamExt::nth().
    • Add StreamExt::last().
    • Add StreamExt::find().
    • Add StreamExt::find_map().
    • Add StreamExt::position().
    • Add StreamExt::all().
    • Add StreamExt::any().
    • Add StreamExt::scan().
    • Add StreamExt::flat_map().
    • Add StreamExt::flatten().
    • Add StreamExt::skip().
    • Add StreamExt::skip_while().
    Open source →
  26. 1.1.0 05 Sep 2020
    Release notes
    • Add StreamExt::take().
    • Add StreamExt::take_while().
    • Add StreamExt::step_by().
    • Add StreamExt::fuse().
    • Add StreamExt::chain().
    • Add StreamExt::cloned().
    • Add StreamExt::copied().
    • Add StreamExt::cycle().
    • Add StreamExt::enumeraate().
    • Add StreamExt::inspect().
    • Parametrize FutureExt::boxed() and FutureExt::boxed_local() over a lifetime.
    • Parametrize StreamExt::boxed() and StreamExt::boxed_local() over a lifetime.
    Open source →
  27. 1.0.0 26 Aug 2020
    Release notes
    • Add StreamExt::map().
    • Add StreamExt::count().
    • Add StreamExt::filter().
    • Add StreamExt::filter_map().
    • Rename future::join() to future::zip().
    • Rename future::try_join() to future::try_zip().
    Open source →
  28. 0.1.11 12 Aug 2020
    Release notes
    • Update parking to v2.0.0
    Open source →
  29. 0.1.10 27 Jul 2020
    Release notes
    • Add AssertAsync.
    Open source →
  30. 0.1.9 23 Jul 2020
    Release notes
    • Add FutureExt::or().
    • Put #[must_use] on all futures and streams.
    Open source →
  31. 0.1.8 21 Jul 2020
    Release notes
    • Fix lints about unsafe code.
    Open source →
  32. 0.1.7 21 Jul 2020
    Release notes
    • Add blocking APIs (block_on() and BlockOn).
    Open source →
  33. 0.1.6 20 Jul 2020
    Release notes
    • Add boxed(), boxed_local(), Boxed, and BoxedLocal.
    Open source →
  34. 0.1.5 19 Jul 2020
    Release notes
    • Add fold() and try_fold().
    Open source →
  35. 0.1.4 19 Jul 2020
    Release notes
    • Add future::race().
    • Fix a bug in BufReader.
    Open source →
  36. 0.1.3 19 Jul 2020
    Release notes
    • Add future::join(), future::try_join(), and AsyncWriteExt::close().
    Open source →
  37. 0.1.2 19 Jul 2020
    Release notes
    • Lots of new APIs.
    Open source →
  38. 0.1.1 22 Jun 2020
    Release notes
    • Initial version
    Open source →
  39. 0.1.0 31 May 2020

    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