diff --git a/CHANGELOG.md b/CHANGELOG.md index e881a9db3..74f89bc0d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +# Version 0.9.0 + +- Bump the minimum supported Rust version to 1.74. +- Remove no longer used `nightly` feature. (#882) +- Update `crossbeam-epoch` to 0.10. +- Update `crossbeam-queue` to 0.4. +- Update `crossbeam-utils` to 0.9. +- Update `crossbeam-channel` to 0.5.16. +- Update `crossbeam-deque` to 0.8.7. + # Version 0.8.4 - Remove dependency on `cfg-if`. (#1072) diff --git a/Cargo.toml b/Cargo.toml index 2ad3e0f5f..57a342fd5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ name = "crossbeam" # - Update CHANGELOG.md # - Update README.md (when increasing major or minor version) # - Run './tools/publish.sh crossbeam ' -version = "0.8.4" +version = "0.9.0" edition = "2021" # NB: Sync with msrv badge and "Compatibility" section in README.md rust-version = "1.74" @@ -49,11 +49,11 @@ std = [ alloc = ["crossbeam-epoch/alloc", "crossbeam-queue/alloc"] [dependencies] -crossbeam-channel = { version = "0.5.10", path = "crossbeam-channel", default-features = false, optional = true } -crossbeam-deque = { version = "0.8.4", path = "crossbeam-deque", default-features = false, optional = true } -crossbeam-epoch = { version = "0.9.17", path = "crossbeam-epoch", default-features = false, optional = true } -crossbeam-queue = { version = "0.3.10", path = "crossbeam-queue", default-features = false, optional = true } -crossbeam-utils = { version = "0.8.18", path = "crossbeam-utils", default-features = false, features = ["atomic"] } +crossbeam-channel = { version = "0.5.17", path = "crossbeam-channel", default-features = false, optional = true } +crossbeam-deque = { version = "0.8.8", path = "crossbeam-deque", default-features = false, optional = true } +crossbeam-epoch = { version = "0.10.0", path = "crossbeam-epoch", default-features = false, optional = true } +crossbeam-queue = { version = "0.4.0", path = "crossbeam-queue", default-features = false, optional = true } +crossbeam-utils = { version = "0.9.0", path = "crossbeam-utils", default-features = false, features = ["atomic"] } [dev-dependencies] diff --git a/README.md b/README.md index 50a8ed076..cce516fbd 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,7 @@ Add this to your `Cargo.toml`: ```toml [dependencies] -crossbeam = "0.8" +crossbeam = "0.9" ``` ## Compatibility diff --git a/crossbeam-channel/CHANGELOG.md b/crossbeam-channel/CHANGELOG.md index 3823a2159..94a76bd12 100644 --- a/crossbeam-channel/CHANGELOG.md +++ b/crossbeam-channel/CHANGELOG.md @@ -1,3 +1,13 @@ +# Version 0.5.17 + +- Bump the minimum supported Rust version to 1.74. +- Fix panic in `SelectedOperation::{send,recv}` when cloned sender/receiver passed. (#1235) +- Make some operations in `tick` lock-free on some platforms. (#1222) +- Update `crossbeam-utils` to 0.9. + +TODO: +- mention https://github.com/crossbeam-rs/crossbeam/pull/1121 + # Version 0.5.16 - Improve support for rust-analyzer auto-completion of code inside `select!`/`select_biased!` macro. (#1240) diff --git a/crossbeam-channel/Cargo.toml b/crossbeam-channel/Cargo.toml index e4ebdbbaa..69836b21c 100644 --- a/crossbeam-channel/Cargo.toml +++ b/crossbeam-channel/Cargo.toml @@ -4,7 +4,7 @@ name = "crossbeam-channel" # - Update CHANGELOG.md # - Update README.md (when increasing major or minor version) # - Run './tools/publish.sh crossbeam-channel ' -version = "0.5.16" +version = "0.5.17" edition = "2021" # NB: Sync with msrv badge and "Compatibility" section in README.md rust-version = "1.74" @@ -33,7 +33,7 @@ default = ["std"] std = ["crossbeam-utils/std"] [dependencies] -crossbeam-utils = { version = "0.8.18", path = "../crossbeam-utils", default-features = false, features = ["atomic"] } +crossbeam-utils = { version = "0.9.0", path = "../crossbeam-utils", default-features = false, features = ["atomic"] } [dev-dependencies] fastrand = "2" diff --git a/crossbeam-deque/CHANGELOG.md b/crossbeam-deque/CHANGELOG.md index bc642c8d0..c40159506 100644 --- a/crossbeam-deque/CHANGELOG.md +++ b/crossbeam-deque/CHANGELOG.md @@ -1,3 +1,13 @@ +# Version 0.8.8 + +- Bump the minimum supported Rust version to 1.74. +- Update `crossbeam-epoch` to 0.10. +- Update `crossbeam-utils` to 0.9. + +TODO: +- complete https://github.com/crossbeam-rs/crossbeam/pull/1219 +- decide https://github.com/crossbeam-rs/crossbeam/pull/743 + # Version 0.8.7 - Optimize `Worker::push`, `Stealer::steal_batch*`, `Injector::steal_batch*`. (#1233) diff --git a/crossbeam-deque/Cargo.toml b/crossbeam-deque/Cargo.toml index 7025c7437..3529af3c5 100644 --- a/crossbeam-deque/Cargo.toml +++ b/crossbeam-deque/Cargo.toml @@ -4,7 +4,7 @@ name = "crossbeam-deque" # - Update CHANGELOG.md # - Update README.md (when increasing major or minor version) # - Run './tools/publish.sh crossbeam-deque ' -version = "0.8.7" +version = "0.8.8" edition = "2021" # NB: Sync with msrv badge and "Compatibility" section in README.md rust-version = "1.74" @@ -33,8 +33,8 @@ default = ["std"] std = ["crossbeam-epoch/std", "crossbeam-utils/std"] [dependencies] -crossbeam-epoch = { version = "0.9.17", path = "../crossbeam-epoch", default-features = false } -crossbeam-utils = { version = "0.8.18", path = "../crossbeam-utils", default-features = false } +crossbeam-epoch = { version = "0.10.0", path = "../crossbeam-epoch", default-features = false } +crossbeam-utils = { version = "0.9.0", path = "../crossbeam-utils", default-features = false } [dev-dependencies] fastrand = "2" diff --git a/crossbeam-epoch/CHANGELOG.md b/crossbeam-epoch/CHANGELOG.md index 657593e2c..9124d6cd3 100644 --- a/crossbeam-epoch/CHANGELOG.md +++ b/crossbeam-epoch/CHANGELOG.md @@ -1,3 +1,16 @@ +# Version 0.10.0 + +- Bump the minimum supported Rust version to 1.74. +- Improve compatibility with Miri: + - Fix stacked borrows violations. (#871) + - Remove ptr-to-int casts for `-Zmiri-strict-provenance` compatibility. (#796) +- Change `Atomic::{compare_exchange,compare_exchange_weak}` to return both the old and new values. (#1197) +- Remove deprecated `CompareAndSetError`, `CompareAndSetOrdering`, and `Atomic::{compare_and_set,compare_and_set_weak}`. (#881) +- Remove no longer used `nightly` feature. (#882) +- Seal `Pointer` trait. (#884) +- Make `Shared::null` const (#1227) +- Update `crossbeam-utils` to 0.9. + # Version 0.9.20 - Fix invalid pointer dereference in `fmt::Pointer` impl for `Atomic`/`Shared` when the underlying pointer is invalid. This fixes unsoundness that was not fully addressed in 0.9.19's fix. (#1276) diff --git a/crossbeam-epoch/Cargo.toml b/crossbeam-epoch/Cargo.toml index 1e78ccf64..0bcbad6cd 100644 --- a/crossbeam-epoch/Cargo.toml +++ b/crossbeam-epoch/Cargo.toml @@ -4,7 +4,7 @@ name = "crossbeam-epoch" # - Update CHANGELOG.md # - Update README.md (when increasing major or minor version) # - Run './tools/publish.sh crossbeam-epoch ' -version = "0.9.20" +version = "0.10.0" edition = "2021" # NB: Sync with msrv badge and "Compatibility" section in README.md rust-version = "1.74" @@ -43,7 +43,7 @@ alloc = [] loom = ["loom-crate", "crossbeam-utils/loom"] [dependencies] -crossbeam-utils = { version = "0.8.18", path = "../crossbeam-utils", default-features = false, features = ["atomic"] } +crossbeam-utils = { version = "0.9.0", path = "../crossbeam-utils", default-features = false, features = ["atomic"] } # Enable the use of loom for concurrency testing. # diff --git a/crossbeam-epoch/README.md b/crossbeam-epoch/README.md index 1f6b3f601..2ae00f9f1 100644 --- a/crossbeam-epoch/README.md +++ b/crossbeam-epoch/README.md @@ -28,7 +28,7 @@ Add this to your `Cargo.toml`: ```toml [dependencies] -crossbeam-epoch = "0.9" +crossbeam-epoch = "0.10" ``` ## Compatibility diff --git a/crossbeam-queue/CHANGELOG.md b/crossbeam-queue/CHANGELOG.md index c4753a66a..7d6956d2f 100644 --- a/crossbeam-queue/CHANGELOG.md +++ b/crossbeam-queue/CHANGELOG.md @@ -1,3 +1,8 @@ +# Version 0.4.0 + +- Remove no longer used `nightly` feature. (#882) +- Update `crossbeam-utils` to 0.9. + # Version 0.3.13 - Add `push_mut` and `pop_mut` to `ArrayQueue` and `SegQueue`. (#1191) diff --git a/crossbeam-queue/Cargo.toml b/crossbeam-queue/Cargo.toml index d987b2f2b..41b93d1f4 100644 --- a/crossbeam-queue/Cargo.toml +++ b/crossbeam-queue/Cargo.toml @@ -4,7 +4,7 @@ name = "crossbeam-queue" # - Update CHANGELOG.md # - Update README.md (when increasing major or minor version) # - Run './tools/publish.sh crossbeam-queue ' -version = "0.3.13" +version = "0.4.0" edition = "2021" # NB: Sync with msrv badge and "Compatibility" section in README.md rust-version = "1.60" @@ -37,7 +37,7 @@ std = ["alloc", "crossbeam-utils/std"] alloc = [] [dependencies] -crossbeam-utils = { version = "0.8.18", path = "../crossbeam-utils", default-features = false } +crossbeam-utils = { version = "0.9.0", path = "../crossbeam-utils", default-features = false } [dev-dependencies] fastrand = "2" diff --git a/crossbeam-queue/README.md b/crossbeam-queue/README.md index 5d500eb05..0635b2bca 100644 --- a/crossbeam-queue/README.md +++ b/crossbeam-queue/README.md @@ -29,7 +29,7 @@ Add this to your `Cargo.toml`: ```toml [dependencies] -crossbeam-queue = "0.3" +crossbeam-queue = "0.4" ``` ## Compatibility diff --git a/crossbeam-skiplist/CHANGELOG.md b/crossbeam-skiplist/CHANGELOG.md index 6fe172889..576947fa8 100644 --- a/crossbeam-skiplist/CHANGELOG.md +++ b/crossbeam-skiplist/CHANGELOG.md @@ -1,3 +1,20 @@ +# Version 0.2.0 + +- Bump the minimum supported Rust version to 1.74. +- Improve compatibility with Miri: + - Fix stacked borrows violations. (#871) +- Allow lookup to be customized. (#1132) +- Support custom comparators. (#1182) +- Fix #1023. (#1101) +- Fix memory leaks in `{map,set}::Range`/`base::RefRange`. (#1217) +- Update `crossbeam-epoch` to 0.10. +- Update `crossbeam-utils` to 0.9. + +TODO: +- entry for #1101 should be more descriptive. +- mention https://github.com/crossbeam-rs/crossbeam/pull/1143 +- audit Send/Sync impls + # Version 0.1.3 - Remove dependency on `cfg-if`. (#1072) diff --git a/crossbeam-skiplist/Cargo.toml b/crossbeam-skiplist/Cargo.toml index 786ccbc19..1e9556867 100644 --- a/crossbeam-skiplist/Cargo.toml +++ b/crossbeam-skiplist/Cargo.toml @@ -4,7 +4,7 @@ name = "crossbeam-skiplist" # - Update CHANGELOG.md # - Update README.md (when increasing major or minor version) # - Run './tools/publish.sh crossbeam-skiplist ' -version = "0.1.3" +version = "0.2.0" edition = "2021" # NB: Sync with msrv badge and "Compatibility" section in README.md rust-version = "1.74" @@ -38,8 +38,8 @@ std = ["alloc", "crossbeam-epoch/std", "crossbeam-utils/std"] alloc = ["crossbeam-epoch/alloc"] [dependencies] -crossbeam-epoch = { version = "0.9.17", path = "../crossbeam-epoch", default-features = false } -crossbeam-utils = { version = "0.8.18", path = "../crossbeam-utils", default-features = false } +crossbeam-epoch = { version = "0.10.0", path = "../crossbeam-epoch", default-features = false } +crossbeam-utils = { version = "0.9.0", path = "../crossbeam-utils", default-features = false } [dev-dependencies] fastrand = "2" diff --git a/crossbeam-utils/CHANGELOG.md b/crossbeam-utils/CHANGELOG.md index 780131db8..df9de773a 100644 --- a/crossbeam-utils/CHANGELOG.md +++ b/crossbeam-utils/CHANGELOG.md @@ -1,3 +1,20 @@ +# Version 0.9.0 + +- Relax the minimum supported Rust version with the default feature to 1.56. (#1157) +- Move `atomic` module behind `atomic` Cargo feature. The minimum supported Rust version of this feature is currently 1.74. (#1155) +- Return `UnparkReason` from `park_{timeout,deadline}`. +(#1012) +- Remove deprecated `AtomicCell::compare_and_swap`. (#881) +- Remove no longer used `nightly` feature. (#882) +- Use our own `unix::JoinHandleExt` trait instead of `std::os::unix::thread::JoinHandleExt` which is not intended to be implemented for types other than the standard library. (#999) +- Fix UB around uninitialized bytes in `AtomicCell`. (#1015) + +TODO: +- mention https://github.com/crossbeam-rs/crossbeam/pull/1281 +- complete https://github.com/crossbeam-rs/crossbeam/pull/1219 +- decide https://github.com/crossbeam-rs/crossbeam/pull/1210 +- unconst AtomicCell::is_lock_free for runtime-detection + # Version 0.8.22 - Make `AtomicCell::{as_ptr,into_inner}` const. (#1237) diff --git a/crossbeam-utils/Cargo.toml b/crossbeam-utils/Cargo.toml index 8f3771d5d..947b78b8e 100644 --- a/crossbeam-utils/Cargo.toml +++ b/crossbeam-utils/Cargo.toml @@ -4,7 +4,7 @@ name = "crossbeam-utils" # - Update CHANGELOG.md # - Update README.md (when increasing major or minor version) # - Run './tools/publish.sh crossbeam-utils ' -version = "0.8.22" +version = "0.9.0" edition = "2021" # NB: Sync with msrv badge and "Compatibility" section in README.md rust-version = "1.56" diff --git a/crossbeam-utils/README.md b/crossbeam-utils/README.md index 9bd52e7a1..3a14f7fe2 100644 --- a/crossbeam-utils/README.md +++ b/crossbeam-utils/README.md @@ -48,7 +48,7 @@ Add this to your `Cargo.toml`: ```toml [dependencies] -crossbeam-utils = "0.8" +crossbeam-utils = "0.9" ``` ## Compatibility