Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
15c2472
Update changelog and clarify about yanking
taiki-e Oct 7, 2024
9d442fe
Bump MSRV of utility crates to 1.63 (#2907)
brody2consult Jan 12, 2025
56aee25
Use const thread_local
taiki-e Jan 12, 2025
eb6e831
Support shared futures on no_std (#2868)
adavis628 Jan 16, 2025
fcdde22
ci: Test AArch64 Linux on ubuntu-24.04-arm runner
taiki-e Jan 17, 2025
1f3aa12
ci: Remove workaround for fixed AArch64 Linux runner bug
taiki-e Jan 18, 2025
edddd41
ci: Test armv7hf Linux on ubuntu-24.04-arm runner
taiki-e Jan 18, 2025
a0adbf5
chore: recommend to use core lib's ready macro (#2925)
tisonkun Feb 17, 2025
d7fe0e1
Make assert in select_biased documentation clearer (#2926)
TobiasBengtsson Feb 25, 2025
3b746dd
futures ordered: add `clear` fn (#2927)
Slixe Feb 26, 2025
d1877ba
chore: remove dependency to pin-utils (#2929)
tisonkun Mar 23, 2025
05e912a
Update spin requirement from 0.9.8 to 0.10.0
dependabot[bot] Mar 31, 2025
50c8db4
chore: replace all doctest usage of pin_mut with pin (#2940)
tisonkun Apr 5, 2025
f127c61
chore: replace all test usage of pin_mut (#2942)
tisonkun Apr 5, 2025
4da80e0
chore: replace all usage of pin_mut
tisonkun Apr 5, 2025
0cbb31b
bump msrv to 1.68
tisonkun Apr 5, 2025
e0a1d49
channel: Add try_recv and deprecate try_next (#2944)
cmrschwarz Apr 9, 2025
bb1f027
feat: sink::With: Implement FusedStream (#2948)
aatifsyed Apr 10, 2025
16ac1cf
refactor: remove leftover from `read_initializer` feature (#2949)
paolobarbolini Apr 16, 2025
3d83954
channel: Add recv (#2947)
cmrschwarz Apr 16, 2025
a7156b5
select: add missing space in panic message (#2952)
proski May 2, 2025
1b44244
chore: replace num_cpus with available_parallelism (#2946)
tisonkun May 23, 2025
fe7c535
Fix unused_parens warning
taiki-e Jul 19, 2025
3b05f3a
Ignore dead_code lint on Fn1 trait
taiki-e Jul 19, 2025
bb315a0
ci: Test big-endian target (s390x Linux)
taiki-e Jul 19, 2025
de3be4f
futures-util: make `Mutex::new()` const (#2956)
jstarks Jul 19, 2025
242e4d8
Fix documentation of `BiLock::lock` (#2971)
pnmadelaine Jan 20, 2026
c0994f0
Fix rustdoc::broken_intra_doc_links warning
taiki-e Jan 20, 2026
52d1faf
Add `#[clippy::has_significant_drop]` to guards (#2967)
c410-f3r Jan 20, 2026
e1c3ea4
perf: improve AtomicWaker::wake performance (#2983)
paulip1792 Jan 21, 2026
052b51a
Bump MSRV of utility crates to 1.71
taiki-e Feb 15, 2026
8fc935b
Add comments on rust-version field in Cargo.toml
taiki-e Feb 15, 2026
1fd0956
Release 0.3.32
taiki-e Feb 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 35 additions & 22 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,29 +38,27 @@ jobs:
- os: ubuntu-latest
- os: macos-latest
- os: windows-latest
- os: ubuntu-latest
target: aarch64-unknown-linux-gnu
- os: ubuntu-latest
- os: ubuntu-24.04-arm
- os: ubuntu-24.04-arm
target: armv7-unknown-linux-gnueabihf
- os: ubuntu-latest
target: armv5te-unknown-linux-gnueabi
- os: ubuntu-latest
target: i686-unknown-linux-gnu
- os: ubuntu-latest
target: s390x-unknown-linux-gnu
runs-on: ${{ matrix.os }}
timeout-minutes: 60
steps:
- uses: taiki-e/checkout-action@v1
- name: Install Rust
# --no-self-update is necessary because the windows environment cannot self-update rustup.exe.
run: rustup update nightly --no-self-update && rustup default nightly
uses: taiki-e/github-actions/install-rust@nightly
- uses: taiki-e/setup-cross-toolchain-action@v1
with:
target: ${{ matrix.target }}
if: matrix.target != ''
- run: cargo test --workspace --all-features $DOCTEST_XCOMPILE
- run: cargo test --workspace --all-features --release $DOCTEST_XCOMPILE
# TODO: https://github.com/rust-lang/futures-rs/issues/2451
if: matrix.target != 'aarch64-unknown-linux-gnu'

core-msrv:
name: cargo +${{ matrix.rust }} build (futures-{core, io, sink})
Expand All @@ -75,7 +73,9 @@ jobs:
steps:
- uses: taiki-e/checkout-action@v1
- name: Install Rust
run: rustup update ${{ matrix.rust }} && rustup default ${{ matrix.rust }}
uses: taiki-e/github-actions/install-rust@main
with:
toolchain: ${{ matrix.rust }}
# cargo does not support for --features/--no-default-features with workspace, so use cargo-hack instead.
# Refs: cargo#3620, cargo#4106, cargo#4463, cargo#4753, cargo#5015, cargo#5364, cargo#6195
- name: Install cargo-hack
Expand Down Expand Up @@ -104,13 +104,15 @@ jobs:
rust:
# This is the minimum Rust version supported by futures, futures-util, futures-task, futures-macro, futures-executor, futures-channel, futures-test.
# When updating this, the reminder to update the minimum required version in README.md and Cargo.toml.
- '1.56'
- '1.71'
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: taiki-e/checkout-action@v1
- name: Install Rust
run: rustup update ${{ matrix.rust }} && rustup default ${{ matrix.rust }}
uses: taiki-e/github-actions/install-rust@main
with:
toolchain: ${{ matrix.rust }}
- name: Install cargo-hack
uses: taiki-e/install-action@cargo-hack
# remove dev-dependencies to avoid https://github.com/rust-lang/cargo/issues/4866
Expand Down Expand Up @@ -143,7 +145,9 @@ jobs:
steps:
- uses: taiki-e/checkout-action@v1
- name: Install Rust
run: rustup update ${{ matrix.rust }} && rustup default ${{ matrix.rust }}
uses: taiki-e/github-actions/install-rust@main
with:
toolchain: ${{ matrix.rust }}
- name: Install cargo-hack
uses: taiki-e/install-action@cargo-hack
- run: cargo hack build --workspace --no-dev-deps
Expand All @@ -156,7 +160,7 @@ jobs:
steps:
- uses: taiki-e/checkout-action@v1
- name: Install Rust
run: rustup update nightly && rustup default nightly
uses: taiki-e/github-actions/install-rust@nightly
- name: Install cargo-hack
uses: taiki-e/install-action@cargo-hack
- name: Install cargo-minimal-versions
Expand All @@ -178,8 +182,9 @@ jobs:
steps:
- uses: taiki-e/checkout-action@v1
- name: Install Rust
run: rustup update nightly && rustup default nightly
- run: rustup target add ${{ matrix.target }}
uses: taiki-e/github-actions/install-rust@nightly
with:
target: ${{ matrix.target }}
- name: Install cargo-hack
uses: taiki-e/install-action@cargo-hack
# remove dev-dependencies to avoid https://github.com/rust-lang/cargo/issues/4866
Expand Down Expand Up @@ -211,7 +216,7 @@ jobs:
steps:
- uses: taiki-e/checkout-action@v1
- name: Install Rust
run: rustup update nightly && rustup default nightly
uses: taiki-e/github-actions/install-rust@nightly
- run: cargo bench --workspace
- run: cargo bench --manifest-path futures-util/Cargo.toml --features=bilock,unstable

Expand All @@ -222,7 +227,7 @@ jobs:
steps:
- uses: taiki-e/checkout-action@v1
- name: Install Rust
run: rustup update nightly && rustup default nightly
uses: taiki-e/github-actions/install-rust@nightly
- name: Install cargo-hack
uses: taiki-e/install-action@cargo-hack
# Check each specified feature works properly
Expand All @@ -245,7 +250,9 @@ jobs:
steps:
- uses: taiki-e/checkout-action@v1
- name: Install Rust
run: rustup toolchain install nightly --component miri && rustup default nightly
uses: taiki-e/github-actions/install-rust@nightly
with:
component: miri
- run: cargo miri test --workspace --all-features -- --skip panic_on_drop_fut
env:
MIRIFLAGS: -Zmiri-strict-provenance -Zmiri-symbolic-alignment-check -Zmiri-disable-isolation
Expand All @@ -271,7 +278,9 @@ jobs:
steps:
- uses: taiki-e/checkout-action@v1
- name: Install Rust
run: rustup toolchain install nightly --component rust-src && rustup default nightly
uses: taiki-e/github-actions/install-rust@nightly
with:
component: rust-src
# https://github.com/google/sanitizers/issues/1716 / https://github.com/actions/runner-images/issues/9491
- run: sudo sysctl vm.mmap_rnd_bits=28
# Exclude futures-macro to work around upstream bug since nightly-2024-10-06.
Expand All @@ -291,7 +300,9 @@ jobs:
# steps:
# - uses: taiki-e/checkout-action@v1
# - name: Install Rust
# run: rustup toolchain install nightly --component clippy && rustup default nightly
# uses: taiki-e/github-actions/install-rust@nightly
# with:
# component: clippy
# - run: cargo clippy --workspace --all-features --all-targets

fmt:
Expand All @@ -301,7 +312,7 @@ jobs:
steps:
- uses: taiki-e/checkout-action@v1
- name: Install Rust
run: rustup update stable
uses: taiki-e/github-actions/install-rust@stable
- run: cargo fmt --all -- --check

docs:
Expand All @@ -311,5 +322,7 @@ jobs:
steps:
- uses: taiki-e/checkout-action@v1
- name: Install Rust
run: rustup update nightly && rustup default nightly
- run: RUSTDOCFLAGS="-D warnings --cfg docsrs" cargo doc --workspace --no-deps --all-features
uses: taiki-e/github-actions/install-rust@nightly
- run: cargo doc --workspace --no-deps --all-features
env:
RUSTDOCFLAGS: ${{ env.RUSTDOCFLAGS }} --cfg docsrs
Loading