NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #76 most downloaded on crates.io
Tools for working with tasks.
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 34 stable releases
2 versions withdrawn
withdrawn after publishing
7 years old
36 releases · first in 2019
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
Your coding agent can read these notes before it upgrades. Set up the MCP server →