From f479b24ce90d3757f69d95eb392c74a743656af4 Mon Sep 17 00:00:00 2001 From: Taiki Endo Date: Sun, 14 Aug 2022 21:01:29 +0900 Subject: [PATCH 1/4] Remove build from release workflow --- .github/workflows/release.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f10a03263..2c52681b2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,19 +5,12 @@ on: tags: - '[0-9]+.*' -env: - RUSTFLAGS: -D warnings - RUST_BACKTRACE: 1 - jobs: create-release: if: github.repository_owner == 'rust-lang' runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - name: Install Rust - run: rustup update stable - - run: cargo build --all - uses: taiki-e/create-gh-release-action@v1 with: changelog: CHANGELOG.md From 466281ecb0e6c09114273ece49f1ea7d82973cb9 Mon Sep 17 00:00:00 2001 From: Taiki Endo Date: Sun, 14 Aug 2022 21:03:30 +0900 Subject: [PATCH 2/4] Relax ordering in local_pool.rs --- futures-executor/src/local_pool.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/futures-executor/src/local_pool.rs b/futures-executor/src/local_pool.rs index ec1751c7c..8a9bc2fc9 100644 --- a/futures-executor/src/local_pool.rs +++ b/futures-executor/src/local_pool.rs @@ -104,7 +104,7 @@ fn run_executor) -> Poll>(mut f: F) -> T { /// Check for a wakeup, but don't consume it. fn woken() -> bool { - CURRENT_THREAD_NOTIFY.with(|thread_notify| thread_notify.unparked.load(Ordering::SeqCst)) + CURRENT_THREAD_NOTIFY.with(|thread_notify| thread_notify.unparked.load(Ordering::Acquire)) } impl LocalPool { From 874dc5029e505a03b8628f529c3ee71d69b3dbf8 Mon Sep 17 00:00:00 2001 From: Taiki Endo Date: Sun, 14 Aug 2022 21:05:57 +0900 Subject: [PATCH 3/4] Update changelog --- CHANGELOG.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e2c410917..024e1c72f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,20 @@ +# 0.3.22 - 2022-08-14 + +* 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) + # 0.3.21 - 2022-02-06 * Fix potential data race in `FlattenUnordered` that introduced in 0.3.20 (#2566) From 8d70760d54fa19d696ea5092e2b17f6d202e069e Mon Sep 17 00:00:00 2001 From: Taiki Endo Date: Sun, 14 Aug 2022 21:06:07 +0900 Subject: [PATCH 4/4] Release 0.3.22 --- futures-channel/Cargo.toml | 6 +++--- futures-core/Cargo.toml | 2 +- futures-executor/Cargo.toml | 8 ++++---- futures-io/Cargo.toml | 2 +- futures-macro/Cargo.toml | 2 +- futures-sink/Cargo.toml | 2 +- futures-task/Cargo.toml | 2 +- futures-test/Cargo.toml | 16 ++++++++-------- futures-util/Cargo.toml | 14 +++++++------- futures/Cargo.toml | 16 ++++++++-------- 10 files changed, 35 insertions(+), 35 deletions(-) diff --git a/futures-channel/Cargo.toml b/futures-channel/Cargo.toml index f356eabd9..93a0ac3ba 100644 --- a/futures-channel/Cargo.toml +++ b/futures-channel/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "futures-channel" -version = "0.3.21" +version = "0.3.22" edition = "2018" rust-version = "1.45" license = "MIT OR Apache-2.0" @@ -22,8 +22,8 @@ unstable = [] cfg-target-has-atomic = [] [dependencies] -futures-core = { path = "../futures-core", version = "0.3.21", default-features = false } -futures-sink = { path = "../futures-sink", version = "0.3.21", default-features = false, optional = true } +futures-core = { path = "../futures-core", version = "0.3.22", default-features = false } +futures-sink = { path = "../futures-sink", version = "0.3.22", default-features = false, optional = true } [dev-dependencies] futures = { path = "../futures", default-features = true } diff --git a/futures-core/Cargo.toml b/futures-core/Cargo.toml index 4a360f8a4..008e9d714 100644 --- a/futures-core/Cargo.toml +++ b/futures-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "futures-core" -version = "0.3.21" +version = "0.3.22" edition = "2018" rust-version = "1.36" license = "MIT OR Apache-2.0" diff --git a/futures-executor/Cargo.toml b/futures-executor/Cargo.toml index e1ce68858..1ad326b14 100644 --- a/futures-executor/Cargo.toml +++ b/futures-executor/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "futures-executor" -version = "0.3.21" +version = "0.3.22" edition = "2018" rust-version = "1.45" license = "MIT OR Apache-2.0" @@ -16,9 +16,9 @@ std = ["futures-core/std", "futures-task/std", "futures-util/std"] thread-pool = ["std", "num_cpus"] [dependencies] -futures-core = { path = "../futures-core", version = "0.3.21", default-features = false } -futures-task = { path = "../futures-task", version = "0.3.21", default-features = false } -futures-util = { path = "../futures-util", version = "0.3.21", default-features = false } +futures-core = { path = "../futures-core", version = "0.3.22", default-features = false } +futures-task = { path = "../futures-task", version = "0.3.22", default-features = false } +futures-util = { path = "../futures-util", version = "0.3.22", default-features = false } num_cpus = { version = "1.8.0", optional = true } [dev-dependencies] diff --git a/futures-io/Cargo.toml b/futures-io/Cargo.toml index 8d446947b..28e8e2f32 100644 --- a/futures-io/Cargo.toml +++ b/futures-io/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "futures-io" -version = "0.3.21" +version = "0.3.22" edition = "2018" rust-version = "1.36" license = "MIT OR Apache-2.0" diff --git a/futures-macro/Cargo.toml b/futures-macro/Cargo.toml index a929d0f19..587649600 100644 --- a/futures-macro/Cargo.toml +++ b/futures-macro/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "futures-macro" -version = "0.3.21" +version = "0.3.22" edition = "2018" rust-version = "1.45" license = "MIT OR Apache-2.0" diff --git a/futures-sink/Cargo.toml b/futures-sink/Cargo.toml index 2c0685ac6..1272c0cce 100644 --- a/futures-sink/Cargo.toml +++ b/futures-sink/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "futures-sink" -version = "0.3.21" +version = "0.3.22" edition = "2018" rust-version = "1.36" license = "MIT OR Apache-2.0" diff --git a/futures-task/Cargo.toml b/futures-task/Cargo.toml index 77fec6fd9..9195ff1be 100644 --- a/futures-task/Cargo.toml +++ b/futures-task/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "futures-task" -version = "0.3.21" +version = "0.3.22" edition = "2018" rust-version = "1.45" license = "MIT OR Apache-2.0" diff --git a/futures-test/Cargo.toml b/futures-test/Cargo.toml index 90e50ff91..bf03f96ae 100644 --- a/futures-test/Cargo.toml +++ b/futures-test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "futures-test" -version = "0.3.21" +version = "0.3.22" edition = "2018" rust-version = "1.45" license = "MIT OR Apache-2.0" @@ -11,13 +11,13 @@ Common utilities for testing components built off futures-rs. """ [dependencies] -futures-core = { version = "0.3.21", path = "../futures-core", default-features = false } -futures-task = { version = "0.3.21", path = "../futures-task", default-features = false } -futures-io = { version = "0.3.21", path = "../futures-io", default-features = false } -futures-util = { version = "0.3.21", path = "../futures-util", default-features = false } -futures-executor = { version = "0.3.21", path = "../futures-executor", default-features = false } -futures-sink = { version = "0.3.21", path = "../futures-sink", default-features = false } -futures-macro = { version = "=0.3.21", path = "../futures-macro", default-features = false } +futures-core = { version = "0.3.22", path = "../futures-core", default-features = false } +futures-task = { version = "0.3.22", path = "../futures-task", default-features = false } +futures-io = { version = "0.3.22", path = "../futures-io", default-features = false } +futures-util = { version = "0.3.22", path = "../futures-util", default-features = false } +futures-executor = { version = "0.3.22", path = "../futures-executor", default-features = false } +futures-sink = { version = "0.3.22", path = "../futures-sink", default-features = false } +futures-macro = { version = "=0.3.22", path = "../futures-macro", default-features = false } pin-utils = { version = "0.1.0", default-features = false } pin-project = "1.0.11" diff --git a/futures-util/Cargo.toml b/futures-util/Cargo.toml index e32b642aa..dc30caa4f 100644 --- a/futures-util/Cargo.toml +++ b/futures-util/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "futures-util" -version = "0.3.21" +version = "0.3.22" edition = "2018" rust-version = "1.45" license = "MIT OR Apache-2.0" @@ -34,12 +34,12 @@ write-all-vectored = ["io"] cfg-target-has-atomic = [] [dependencies] -futures-core = { path = "../futures-core", version = "0.3.21", default-features = false } -futures-task = { path = "../futures-task", version = "0.3.21", default-features = false } -futures-channel = { path = "../futures-channel", version = "0.3.21", default-features = false, features = ["std"], optional = true } -futures-io = { path = "../futures-io", version = "0.3.21", default-features = false, features = ["std"], optional = true } -futures-sink = { path = "../futures-sink", version = "0.3.21", default-features = false, optional = true } -futures-macro = { path = "../futures-macro", version = "=0.3.21", default-features = false, optional = true } +futures-core = { path = "../futures-core", version = "0.3.22", default-features = false } +futures-task = { path = "../futures-task", version = "0.3.22", default-features = false } +futures-channel = { path = "../futures-channel", version = "0.3.22", default-features = false, features = ["std"], optional = true } +futures-io = { path = "../futures-io", version = "0.3.22", default-features = false, features = ["std"], optional = true } +futures-sink = { path = "../futures-sink", version = "0.3.22", default-features = false, optional = true } +futures-macro = { path = "../futures-macro", version = "=0.3.22", default-features = false, optional = true } slab = { version = "0.4.2", optional = true } memchr = { version = "2.2", optional = true } futures_01 = { version = "0.1.25", optional = true, package = "futures" } diff --git a/futures/Cargo.toml b/futures/Cargo.toml index b6ff22d38..1fa61d4a5 100644 --- a/futures/Cargo.toml +++ b/futures/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "futures" -version = "0.3.21" +version = "0.3.22" edition = "2018" rust-version = "1.45" license = "MIT OR Apache-2.0" @@ -15,13 +15,13 @@ composability, and iterator-like interfaces. categories = ["asynchronous"] [dependencies] -futures-core = { path = "../futures-core", version = "0.3.21", default-features = false } -futures-task = { path = "../futures-task", version = "0.3.21", default-features = false } -futures-channel = { path = "../futures-channel", version = "0.3.21", default-features = false, features = ["sink"] } -futures-executor = { path = "../futures-executor", version = "0.3.21", default-features = false, optional = true } -futures-io = { path = "../futures-io", version = "0.3.21", default-features = false } -futures-sink = { path = "../futures-sink", version = "0.3.21", default-features = false } -futures-util = { path = "../futures-util", version = "0.3.21", default-features = false, features = ["sink"] } +futures-core = { path = "../futures-core", version = "0.3.22", default-features = false } +futures-task = { path = "../futures-task", version = "0.3.22", default-features = false } +futures-channel = { path = "../futures-channel", version = "0.3.22", default-features = false, features = ["sink"] } +futures-executor = { path = "../futures-executor", version = "0.3.22", default-features = false, optional = true } +futures-io = { path = "../futures-io", version = "0.3.22", default-features = false } +futures-sink = { path = "../futures-sink", version = "0.3.22", default-features = false } +futures-util = { path = "../futures-util", version = "0.3.22", default-features = false, features = ["sink"] } [dev-dependencies] futures-executor = { path = "../futures-executor", features = ["thread-pool"] }