NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #68 most downloaded on crates.io
The core traits and types in for the `futures` library.
Last release 1 months ago
11 Aug 2026
Release timing varies
gaps range from 2 weeks to 1.4 years
Nearly every release is documented
notes for 33 of 35 stable releases
2 versions withdrawn
withdrawn after publishing
9 years old
39 releases · first in 2018
Preserve cloned waker identity.
Fix ReadLine 's soundness issue regarding to exception safety.
ReadLine's soundness issue regarding to exception safety. (#3020)Send impl for IterPinRef and Iter. (#3003)compat01as03 implementation. (#3012)FuturesUnordered::IntoIter. (#3005)portable-atomic-alloc feature and use it in FuturesUnordered. (#3007)alloc::task::Wake. (#3010)spin to 0.12. (#3014)One column per quarter.
Soft-deprecate ready! macro in favor of std::ready! added in Rust 1.64
ready! macro in favor of std::task::ready! added in Rust 1.64 (#2925)pin_mut! macro in favor of std::pin::pin! added in Rust 1.68 (#2929)FuturesOrdered::clear (#2927)mpsc::*Receiver::recv (#2947)mpsc::*Receiver::try_recv and deprecate mpsc::*Receiver::::try_next (#2944)FusedStream for sink::With (#2948)no_std support for shared (#2868)Mutex::new() const (#2956)#[clippy::has_significant_drop] to guards (#2967)pin-utils (#2929)num_cpus (#2946)Fix soundness bug in task::waker_ref ( #2830 ) This is a breaking change but allowed because it is soundness bug fix.
FuturesUnordered when dropped future panics (#2886)task::waker_ref (#2830)AsyncBufRead::read_line and AsyncBufReadExt::lines (#2884)select!/select_biased! (#2832)Waker::will_wake change (#2865)stream::Iter::{get_ref,get_mut,into_inner} (#2875)future::AlwaysReady (#2825)io::{BufReader,BufWriter} (#2848)Add {BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of
Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of (#2797)FuturesUnordered::clear (#2809)AsyncBufReadExt::fill_buf (#2801, #2812)Add TryStreamExt::try_ready_chunks
Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
TryStreamExt::try_ready_chunks (#2757)TryStreamExt::{try_all,try_any} (#2783)UnboundedSender::{len,is_empty} (#2750)Sync impl of FuturesUnordered (#2788)Update to syn 2. This raises MSRV of utility crates to 1.56. ( #2730 , #2733 )
Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
FlattenUnordered (#2726, #2728)Add TryFlattenUnordered ( #2577 , #2590 , #2606 , #2607 )
Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
TryFlattenUnordered (#2577, #2590, #2606, #2607)AbortHandle::is_aborted (#2710)AbortRegistration::handle (#2712)BiLock strict-provenance compatible (#2716)Add Either::as_pin_mut and Either::as_pin_ref
Either::as_pin_mut and Either::as_pin_ref (#2691)Shared::ptr_eq and Shared::ptr_hash (#2691)FusedStream for Buffered (#2676)FusedStream for all streams in ReadyChunks (#2693)FuturesOrdered::push_front (#2664)Fut::Output: Clone bounds from some Shared methods (#2662)T: Debug bounds from Debug implementations of mpsc and oneshot types (#2666, #2667)Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
Either::as_pin_mut and Either::as_pin_ref (#2691)Shared::ptr_eq and Shared::ptr_hash (#2691)FusedStream for Buffered (#2676)FusedStream for all streams in ReadyChunks (#2693)FuturesOrdered::push_front (#2664)Fut::Output: Clone bounds from some Shared methods (#2662)T: Debug bounds from Debug implementations of mpsc and oneshot types (#2666, #2667)Fix soundness issue in join! and try_join! macros
Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
join! and try_join! macros (#2649)Clone for sink::Drain (#2650)Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
select_with_strategy streams (#2635)Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
Deprecate FuturesOrdered::push in favor of FuturesOrdered::push_back
Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
Sync impl of BiLockGuard (#2570)FuturesUnordered (#2574)Shared (#2576)Mutex::lock_owned and Mutex::try_lock_owned (#2571)io::copy_buf_abortable (#2507)Unpin bound from TryStreamExt::into_async_read (#2599)run_until_stalled handle self-waking futures (#2593)FuturesOrdered in try_join_all (#2556)LocalPool waker (#2608)stream::Chunk adapters size hints (#2611)push_front and push_back to FuturesOrdered (#2591)FuturesOrdered::push in favor of FuturesOrdered::push_back (#2591)Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
FlattenUnordered that introduced in 0.3.20 (#2566)Note: This release has been yanked due to a bug fixed in 0.3.21.
Note: This release has been yanked due to a bug fixed in 0.3.21.
-Zmiri-tag-raw-pointers is enabled. This raises MSRV of futures-task to 1.45. (#2548, #2550)FuturesUnordered to respect yielding from future (#2551)StreamExt::{flatten_unordered, flat_map_unordered} (#2083)Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
read-initializer feature (#2534)FuturesUnordered (#2535)FuturesUnordered and tokio's cooperative scheduling (#2527)StreamExt::count (#2495)Note: This release has been yanked. See #2529 for details.
Note: This release has been yanked. See #2529 for details.
Sink implementation on stream::Scan (#2499)task::noop_waker_ref available without std feature (#2505)LineWriter (#2477)proc-macro-hack. This raises MSRV of utility crates to 1.45. (#2520)Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
FuturesOrdered in join_all (#2412){future, stream}::poll_immediate (#2452)stream_select! macro (#2262)Default for OptionFuture (#2471)Peekable::{peek_mut, poll_peek_mut} (#2488)BufReader::seek_relative (#2489)Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
TryStreamExt::try_chunks (#2438)StreamExt::{all, any} (#2460)stream::select_with_strategy (#2450)io_slice_advance interface (#2454)Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
#[proc_macro] at Rust 1.45+ to fix an issue where proc macros don't work with rust-analyzer (#2407)#[test] function attribute (#2409)stream::abortable (#2410)FuturesUnordered::clear (#2415)IntoIterator for FuturesUnordered (#2423)Send and Sync for FuturesUnordered iterators (#2416)FuturesUnordered::iter_pin_ref public (#2423)SelectAll::clear (#2430)SelectAll::{iter, iter_mut} (#2428)IntoIterator for SelectAll (#2428)Clone for WeakShared (#2396)Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
future::SelectAll::into_inner (#2363)UnboundedReceiver::try_next after None (#2369)futures_util (#2377)AsyncSeekExt::stream_position (#2380)stream::Peekable::{next_if, next_if_eq} (#2379)Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
FuturesUnordered (#2333)mpsc::Receiver (#2304)Shared::{strong_count, weak_count} (#2346)no_std support for task::noop_waker_ref (#2332)Stream::size_hint for Either (#2325)Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
Unpin impl of future::{MaybeDone, TryMaybeDone} where trait bounds were accidentally added in 0.3.9. (#2317)Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
Note: This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
AsyncReadExt::{read_to_end, read_to_string} (#2314)Fixed type-inference in sink::unfold by specifying more of its types (breaking change -- see #2311)
Note: This release has been yanked. See #2310 for details.
sink::unfold by specifying more of its types (breaking change -- see #2311)Note: This release has been yanked. See #2310 for details.
Note: This release has been yanked. See #2310 for details.
async-await crate feature is disabled (#2273)stream::repeat_with (#2279)StreamExt::unzip (#2263)sink::unfold (#2268)SinkExt::feed (#2155)FusedFuture for oneshot::Receiver (#2300)Clone for sink::With (#2290)MapOkOrElse, MapInto, OkInto, TryFlatten, WriteAllVectored (#2275)Note: This release has been yanked. See #2310 for details.
Note: This release has been yanked. See #2310 for details.
#[proc_macro] at Rust 1.45+ (#2243)WeakShared (#2169)TryStreamExt::try_buffered (#2245)StreamExt::cycle (#2252)Clone for stream::{Empty, Pending, Repeat, Iter} (#2248, #2252)TryStreamExt combinators (#2250)Note: This release has been yanked. See #2310 for details.
Note: This release has been yanked. See #2310 for details.
MappedMutexGuard (#2240)TakeUntil (#2235)panic_waker (#2236)Note: This release has been yanked. See #2310 for details.
Note: This release has been yanked. See #2310 for details.
task::waker (#2206)AsyncBufReadExt::fill_buf (#2225)TryStreamExt::try_take_while (#2212)is_connected_to method to mpsc::{Sender, UnboundedSender} (#2179)is_connected_to method to oneshot::Sender (#2158)FusedStream for FuturesOrdered (#2205)track_closed method to AsyncWriteTestExt and SinkTestExt (#2159)InterleavePending (#2208)AssertUnmoved (#2208)Note: This release has been yanked. See #2310 for details.
Note: This release has been yanked. See #2310 for details.
StreamExt::flat_map.StreamExt::ready_chunks.*_unpin methods to SinkExt.cancellation() future to oneshot::Sender.reunite method to ReadHalf and WriteHalf.Extend implementations for Futures(Un)Ordered and SelectAll.join! and select! macros.no_std support for the pending! and poll! macros.Send and Sync support for AssertUnmoved.Shared wasn't relinquishing control to the executor.Send bound on the output of RemoteHandle.FuturesUnordered.--features.StreamExt::forward.unsafe.Note: This release has been yanked. See #2310 for details.
Note: This release has been yanked. See #2310 for details.
Drop for UnboundedReceiver (#2064)Note: This release has been yanked. See #2310 for details.
Note: This release has been yanked. See #2310 for details.
Note: This release has been yanked. See #2310 for details.
Note: This release has been yanked. See #2310 for details.
SplitSink (#1969)select_biased! macro (#1976)hash_receiver method to mpsc channel (#1962)stream::try_unfold (#1977)AtomicWaker::new() is now const fn (#2007)stream::Peekable::peek (#2021)StreamExt::scan (#2044)AsyncRead/Write for BufReader/Writer (#2033)Spawn and LocalSpawn for Arc<impl Spawn and Rc<impl Spawn> (#2039)Sync issues with FuturesUnordered (#2054)into_inner method for future::Ready (#2055)MappedMutexGuard API (#2056)FuturesUnordered (#2049)TryFutureExt::map_ok_or_else (#2058)Fix signature of SpawnExt and LocalSpawnExt trait (breaking change -- see #1959)
Note: This release has been yanked. See #2310 for details.
SpawnExt and LocalSpawnExt trait (breaking change -- see #1959)Note: This release has been yanked. See #2310 for details.
Note: This release has been yanked. See #2310 for details.
Spawn trait and FuturesUnordered::push to take &self (#1950)Spawn and FutureObj out of futures-core and into futures-task (#1925)executor feature (#1949)copy_into/copy_buf_into (#1948)SinkExt::send_all to accept a TryStream (#1946)ThreadPool::run (#1944)io::Cursor (#1943)BufReader::poll_seek_relative (#1938)skip to take a usize rather than u64 (#1931)Stream impl for VecDeque (#1930)Peekable::peek to poll_peek (#1928)FuturesUnordered (#1922)ThreadPool optional (#1910)oneshot::Sender::poll_cancel to poll_canceled (#1908)Clone implementationsNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →