diff --git a/CHANGELOG.md b/CHANGELOG.md index 86c3f17c..e91ad4ce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +# 0.9.3 (August 19, 2026) + +* Fix `BatchSemaphore` waking the wrong task when an `Acquire` future is polled by a task other than the one that created it (the motivating case is an in-flight acquire cached inside a longer-lived object, such as a tokio `Receiver` that is moved between tasks). Waiters left behind by a cancelled `Acquire` whose task has since finished are now also treated as stale instead of consuming permits or blocking a finished task. (#317) +* Performance: `schedule` no longer iterates over tasks that have already finished. This does not change scheduling decisions. (#318) +* Add READMEs for `shuttle-engine`, `shuttle-schedulers`, `shuttle-std` and the wrapper crates. Make `shuttle-async-stream-impl` publishable. (#315) +* Fix doc comment paths that got broken in the crate refactoring. +* Publish `shuttle-engine`, `shuttle-schedulers` and `shuttle-std` 0.1.1. + # 0.9.2 (August 6, 2026) * Add support for 128-bit atomics (`AtomicI128`/`AtomicU128`) (#299) diff --git a/shuttle-engine/Cargo.toml b/shuttle-engine/Cargo.toml index 505cd298..15e59434 100644 --- a/shuttle-engine/Cargo.toml +++ b/shuttle-engine/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "shuttle-engine" -version = "0.1.0" +version = "0.1.1" edition = "2021" license = "Apache-2.0" description = "Core runtime and scheduler trait for Shuttle concurrency testing" diff --git a/shuttle-schedulers/Cargo.toml b/shuttle-schedulers/Cargo.toml index 6069328c..dc60f8a9 100644 --- a/shuttle-schedulers/Cargo.toml +++ b/shuttle-schedulers/Cargo.toml @@ -1,13 +1,13 @@ [package] name = "shuttle-schedulers" -version = "0.1.0" +version = "0.1.1" edition = "2021" description = "Scheduler implementations for the Shuttle concurrency testing framework" license = "Apache-2.0" repository = "https://github.com/awslabs/shuttle" [dependencies] -shuttle-engine = { path = "../shuttle-engine", version = "0.1.0" } +shuttle-engine = { path = "../shuttle-engine", version = "0.1.1" } rand = "0.8.6" rand_pcg = "0.3.1" smallvec = { version = "1.11.2", features = ["const_new"] } diff --git a/shuttle-std/Cargo.toml b/shuttle-std/Cargo.toml index 04ae1a40..048d7787 100644 --- a/shuttle-std/Cargo.toml +++ b/shuttle-std/Cargo.toml @@ -1,13 +1,13 @@ [package] name = "shuttle-std" -version = "0.1.0" +version = "0.1.1" edition = "2021" license = "Apache-2.0" description = "Mirrors of std compatible with the Shuttle concurrency testing tool" repository = "https://github.com/awslabs/shuttle" [dependencies] -shuttle-engine = { path = "../shuttle-engine", version = "0.1.0" } +shuttle-engine = { path = "../shuttle-engine", version = "0.1.1" } assoc = "0.1.3" owo-colors = "4.3.0" smallvec = { version = "1.11.2", features = ["const_new"] } diff --git a/shuttle/Cargo.toml b/shuttle/Cargo.toml index 1f0f3852..733c2138 100644 --- a/shuttle/Cargo.toml +++ b/shuttle/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "shuttle" -version = "0.9.2" +version = "0.9.3" edition = "2021" license = "Apache-2.0" description = "A library for testing concurrent Rust code" @@ -10,9 +10,9 @@ categories = ["asynchronous", "concurrency", "development-tools::testing"] readme = "../README.md" [dependencies] -shuttle-engine = { path = "../shuttle-engine", version = "0.1.0" } -shuttle-schedulers = { path = "../shuttle-schedulers", version = "0.1.0" } -shuttle-std = { path = "../shuttle-std", version = "0.1.0" } +shuttle-engine = { path = "../shuttle-engine", version = "0.1.1" } +shuttle-schedulers = { path = "../shuttle-schedulers", version = "0.1.1" } +shuttle-std = { path = "../shuttle-std", version = "0.1.1" } bitvec = "1.0.1" cfg-if = "1.0" hex = "0.4.2"