Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Dec 18, 2025

This PR contains the following updates:

Package Type Update Change
futures (source) dependencies minor 0.1 -> 0.3

Release Notes

rust-lang/futures-rs (futures)

v0.3.31

Compare Source

  • Fix use after free of task in FuturesUnordered when dropped future panics (#​2886)
  • Fix soundness bug in task::waker_ref (#​2830)
    This is a breaking change but allowed because it is soundness bug fix.
  • Fix bugs in AsyncBufRead::read_line and AsyncBufReadExt::lines (#​2884)
  • Fix parsing issue in select!/select_biased! (#​2832)
    This is technically a breaking change as it will now reject a very odd undocumented syntax that was previously accidentally accepted.
  • Work around issue due to upstream Waker::will_wake change (#​2865)
  • Add stream::Iter::{get_ref,get_mut,into_inner} (#​2875)
  • Add future::AlwaysReady (#​2825)
  • Relax trait bound on non-constructor methods of io::{BufReader,BufWriter} (#​2848)

v0.3.30

Compare Source

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.

  • Add {BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of (#​2797)
  • Fix panic in FuturesUnordered::clear (#​2809)
  • Fix panic in AsyncBufReadExt::fill_buf (#​2801, #​2812)
  • Improve support for targets without atomic CAS (#​2811)
  • Remove build scripts (#​2811)

v0.3.29

Compare Source

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.

  • Add TryStreamExt::try_ready_chunks (#​2757)
  • Add TryStreamExt::{try_all,try_any} (#​2783)
  • Add UnboundedSender::{len,is_empty} (#​2750)
  • Fix Sync impl of FuturesUnordered (#​2788)
  • Fix infinite loop caused by invalid UTF-8 bytes (#​2785)
  • Fix build error with -Z minimal-versions (#​2761)

v0.3.28

Compare Source

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.

v0.3.27

Compare Source

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.

v0.3.26

Compare Source

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.

  • Add Either::as_pin_mut and Either::as_pin_ref (#​2691)
  • Add Shared::ptr_eq and Shared::ptr_hash (#​2691)
  • Implement FusedStream for Buffered (#​2676)
  • Implement FusedStream for all streams in ReadyChunks (#​2693)
  • Fix bug in FuturesOrdered::push_front (#​2664)
  • Remove Fut::Output: Clone bounds from some Shared methods (#​2662)
  • Remove T: Debug bounds from Debug implementations of mpsc and oneshot types (#​2666, #​2667)

v0.3.25

Compare Source

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.

  • Fix soundness issue in join! and try_join! macros (#​2649)
  • Implement Clone for sink::Drain (#​2650)

v0.3.24

Compare Source

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.

  • Fix incorrect termination of select_with_strategy streams (#​2635)

v0.3.23

Compare Source

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.

  • Work around MSRV increase due to a cargo bug.

v0.3.22

Compare Source

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.

  • Fix Sync impl of BiLockGuard (#​2570)
  • Fix partial iteration in FuturesUnordered (#​2574)
  • Fix false detection of inner panics in Shared (#​2576)
  • Add Mutex::lock_owned and Mutex::try_lock_owned (#​2571)
  • Add io::copy_buf_abortable (#​2507)
  • Remove Unpin bound from TryStreamExt::into_async_read (#​2599)
  • Make run_until_stalled handle self-waking futures (#​2593)
  • Use FuturesOrdered in try_join_all (#​2556)
  • Fix orderings in LocalPool waker (#​2608)
  • Fix stream::Chunk adapters size hints (#​2611)
  • Add push_front and push_back to FuturesOrdered (#​2591)
  • Deprecate FuturesOrdered::push in favor of FuturesOrdered::push_back (#​2591)
  • Performance improvements (#​2583, #​2626)
  • Documentation improvements (#​2579, #​2604, #​2613)

v0.3.21

Compare Source

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.

  • Fix potential data race in FlattenUnordered that introduced in 0.3.20 (#​2566)

v0.3.20

Compare Source

Note: This release has been yanked due to a bug fixed in 0.3.21.

  • Fix stacked borrows violations when -Zmiri-tag-raw-pointers is enabled. This raises MSRV of futures-task to 1.45. (#​2548, #​2550)
  • Change FuturesUnordered to respect yielding from future (#​2551)
  • Add StreamExt::{flatten_unordered, flat_map_unordered} (#​2083)

v0.3.19

Compare Source

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.

  • Remove unstable read-initializer feature (#​2534)
  • Fix panic in FuturesUnordered (#​2535)
  • Fix compatibility issue with FuturesUnordered and tokio's cooperative scheduling (#​2527)
  • Add StreamExt::count (#​2495)

v0.3.18

Compare Source

Note: This release has been yanked. See #​2529 for details.

  • Fix unusable Sink implementation on stream::Scan (#​2499)
  • Make task::noop_waker_ref available without std feature (#​2505)
  • Add async LineWriter (#​2477)
  • Remove dependency on proc-macro-hack. This raises MSRV of utility crates to 1.45. (#​2520)

v0.3.17

Compare Source

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.

  • Use FuturesOrdered in join_all (#​2412)
  • Add {future, stream}::poll_immediate (#​2452)
  • Add stream_select! macro (#​2262)
  • Implement Default for OptionFuture (#​2471)
  • Add Peekable::{peek_mut, poll_peek_mut} (#​2488)
  • Add BufReader::seek_relative (#​2489)

v0.3.16

Compare Source

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.

  • Add TryStreamExt::try_chunks (#​2438)
  • Add StreamExt::{all, any} (#​2460)
  • Add stream::select_with_strategy (#​2450)
  • Update to new io_slice_advance interface (#​2454)

v0.3.15

Compare Source

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.

  • Use #[proc_macro] at Rust 1.45+ to fix an issue where proc macros don't work with rust-analyzer (#​2407)
  • Support targets that do not have atomic CAS on stable Rust (#​2400)
  • futures-test: Add async #[test] function attribute (#​2409)
  • Add stream::abortable (#​2410)
  • Add FuturesUnordered::clear (#​2415)
  • Implement IntoIterator for FuturesUnordered (#​2423)
  • Implement Send and Sync for FuturesUnordered iterators (#​2416)
  • Make FuturesUnordered::iter_pin_ref public (#​2423)
  • Add SelectAll::clear (#​2430)
  • Add SelectAll::{iter, iter_mut} (#​2428)
  • Implement IntoIterator for SelectAll (#​2428)
  • Implement Clone for WeakShared (#​2396)

v0.3.14

Compare Source

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.

  • Add future::SelectAll::into_inner (#​2363)
  • Allow calling UnboundedReceiver::try_next after None (#​2369)
  • Reexport non-Ext traits from the root of futures_util (#​2377)
  • Add AsyncSeekExt::stream_position (#​2380)
  • Add stream::Peekable::{next_if, next_if_eq} (#​2379)

v0.3.13

Compare Source

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.

  • Mitigated starvation issues in FuturesUnordered (#​2333)
  • Fixed race with dropping mpsc::Receiver (#​2304)
  • Added Shared::{strong_count, weak_count} (#​2346)
  • Added no_std support for task::noop_waker_ref (#​2332)
  • Implemented Stream::size_hint for Either (#​2325)

v0.3.12

Compare Source

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.

  • Fixed Unpin impl of future::{MaybeDone, TryMaybeDone} where trait bounds were accidentally added in 0.3.9. (#​2317)

v0.3.11

Compare Source

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.

  • Fixed heap buffer overflow in AsyncReadExt::{read_to_end, read_to_string} (#​2314)

v0.3.10

Compare Source

Note: This release has been yanked. See #​2310 for details.

  • Fixed type-inference in sink::unfold by specifying more of its types (breaking change -- see #​2311)

v0.3.9

Compare Source

Note: This release has been yanked. See #​2310 for details.

  • Significantly improved compile time when async-await crate feature is disabled (#​2273)
  • Added stream::repeat_with (#​2279)
  • Added StreamExt::unzip (#​2263)
  • Added sink::unfold (#​2268)
  • Added SinkExt::feed (#​2155)
  • Implemented FusedFuture for oneshot::Receiver (#​2300)
  • Implemented Clone for sink::With (#​2290)
  • Re-exported MapOkOrElse, MapInto, OkInto, TryFlatten, WriteAllVectored (#​2275)

v0.3.8

Compare Source

Note: This release has been yanked. See #​2310 for details.

  • Switched proc-macros to use native #[proc_macro] at Rust 1.45+ (#​2243)
  • Added WeakShared (#​2169)
  • Added TryStreamExt::try_buffered (#​2245)
  • Added StreamExt::cycle (#​2252)
  • Implemented Clone for stream::{Empty, Pending, Repeat, Iter} (#​2248, #​2252)
  • Fixed panic in some TryStreamExt combinators (#​2250)

v0.3.7

Compare Source

Note: This release has been yanked. See #​2310 for details.

  • Fixed unsoundness in MappedMutexGuard (#​2240)
  • Re-exported TakeUntil (#​2235)
  • futures-test: Prevent double panic in panic_waker (#​2236)

v0.3.6

Compare Source

Note: This release has been yanked. See #​2310 for details.

  • Fixed UB due to missing 'static on task::waker (#​2206)
  • Added AsyncBufReadExt::fill_buf (#​2225)
  • Added TryStreamExt::try_take_while (#​2212)
  • Added is_connected_to method to mpsc::{Sender, UnboundedSender} (#​2179)
  • Added is_connected_to method to oneshot::Sender (#​2158)
  • Implement FusedStream for FuturesOrdered (#​2205)
  • Fixed documentation links
  • Improved documentation
  • futures-test: Added track_closed method to AsyncWriteTestExt and SinkTestExt (#​2159)
  • futures-test: Implemented more traits for InterleavePending (#​2208)
  • futures-test: Implemented more traits for AssertUnmoved (#​2208)

v0.3.5

Compare Source

Note: This release has been yanked. See #​2310 for details.

  • Added StreamExt::flat_map.
  • Added StreamExt::ready_chunks.
  • Added *_unpin methods to SinkExt.
  • Added a cancellation() future to oneshot::Sender.
  • Added reunite method to ReadHalf and WriteHalf.
  • Added Extend implementations for Futures(Un)Ordered and SelectAll.
  • Added support for reexporting the join! and select! macros.
  • Added no_std support for the pending! and poll! macros.
  • Added Send and Sync support for AssertUnmoved.
  • Fixed a bug where Shared wasn't relinquishing control to the executor.
  • Removed the Send bound on the output of RemoteHandle.
  • Relaxed bounds on FuturesUnordered.
  • Reorganized internal tests to work under different --features.
  • Reorganized the bounds on StreamExt::forward.
  • Removed and replaced a large amount of internal unsafe.

v0.3.4

Compare Source

Note: This release has been yanked. See #​2310 for details.

  • Fixed missing Drop for UnboundedReceiver (#​2064)

v0.3.3

Compare Source

  • Fix use after free of task in FuturesUnordered when dropped future panics (#​2886)
  • Fix soundness bug in task::waker_ref (#​2830)
    This is a breaking change but allowed because it is soundness bug fix.
  • Fix bugs in AsyncBufRead::read_line and AsyncBufReadExt::lines (#​2884)
  • Fix parsing issue in select!/select_biased! (#​2832)
    This is technically a breaking change as it will now reject a very odd undocumented syntax that was previously accidentally accepted.
  • Work around issue due to upstream Waker::will_wake change (#​2865)
  • Add stream::Iter::{get_ref,get_mut,into_inner} (#​2875)
  • Add future::AlwaysReady (#​2825)
  • Relax trait bound on non-constructor methods of io::{BufReader,BufWriter} (#​2848)

v0.3.2

Compare Source

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.

  • Add TryStreamExt::try_ready_chunks (#​2757)
  • Add TryStreamExt::{try_all,try_any} (#​2783)
  • Add UnboundedSender::{len,is_empty} (#​2750)
  • Fix Sync impl of FuturesUnordered (#​2788)
  • Fix infinite loop caused by invalid UTF-8 bytes (#​2785)
  • Fix build error with -Z minimal-versions (#​2761)

v0.3.1

Compare Source

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.

  • Remove unstable read-initializer feature (#​2534)
  • Fix panic in FuturesUnordered (#​2535)
  • Fix compatibility issue with FuturesUnordered and tokio's cooperative scheduling (#​2527)
  • Add StreamExt::count (#​2495)

v0.3.0

Compare Source

Note: This release has been yanked. See #​2310 for details.

  • Stable release along with stable async/await!
  • Added async/await to default features (#​1953)
  • Changed Spawn trait and FuturesUnordered::push to take &self (#​1950)
  • Moved Spawn and FutureObj out of futures-core and into futures-task (#​1925)
  • Changed case convention for feature names (#​1937)
  • Added executor feature (#​1949)
  • Moved copy_into/copy_buf_into (#​1948)
  • Changed SinkExt::send_all to accept a TryStream (#​1946)
  • Removed ThreadPool::run (#​1944)
  • Changed to use our own definition of io::Cursor (#​1943)
  • Removed BufReader::poll_seek_relative (#​1938)
  • Changed skip to take a usize rather than u64 (#​1931)
  • Removed Stream impl for VecDeque (#​1930)
  • Renamed Peekable::peek to poll_peek (#​1928)
  • Added immutable iterators for FuturesUnordered (#​1922)
  • Made ThreadPool optional (#​1910)
  • Renamed oneshot::Sender::poll_cancel to poll_canceled (#​1908)
  • Added some missing Clone implementations
  • Documentation fixes

v0.2.1

Compare Source

v0.2.0

Compare Source

v0.1.31

Compare Source

v0.1.30

Compare Source

v0.1.29

Compare Source

v0.1.28

Compare Source

v0.1.27

Compare Source

  • Add is_in_task for determining whether the caller is in a task.

v0.1.26

Compare Source


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
Copy link
Contributor Author

renovate bot commented Dec 18, 2025

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --package futures@0.1.25 --precise 0.3.31
    Updating crates.io index
error: failed to select a version for the requirement `futures = "^0.1"`
candidate versions found which didn't match: 0.3.31
location searched: crates.io index
required by package `tokio-core v0.1.0`
    ... which satisfies dependency `tokio-core = "^0.1"` of package `okra v0.2.0 (/tmp/renovate/repos/github/jonathanmorley/okra)`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant