From 4a6fba6e3b83d40189592d476ebe710b70b34bdd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 6 Apr 2026 23:09:36 +0000 Subject: [PATCH 1/3] chore: release v0.16.2 --- CHANGELOG.md | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++ Cargo.toml | 2 +- 2 files changed, 57 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 46a488126f..adb56b3900 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,62 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.16.2](https://github.com/rust-lang/hashbrown/compare/v0.16.1...v0.16.2) - 2026-04-06 + +### Fixed + +- disable panic tests on wasm32 + +### Other + +- Merge pull request #710 from Amanieu/fix-rehash-unwind +- Reduce test runtime on Miri +- Fix incorrect length if a hasher panics during rehash +- Don't overwrite MIRIFLAGS, for testing +- Actually test LSX, remove unused features +- Lint SIMD code, fix generic expectation failures +- fix match_same_arms lint +- fix single_match_else lint +- fix if_not_else lint +- fix needless_continue lint +- fix redundant_else lint +- Merge pull request #690 from xtqqczze/clippy/manual_let_else +- impl Error for TryReserveError +- Merge pull request #697 from xtqqczze/must-use-constructors +- Merge pull request #692 from N1ark/fix-uninit-slice +- fix str_to_string lint +- Merge pull request #687 from xtqqczze/clippy/ptr +- Merge branch 'master' into clippy/ptr +- Merge pull request #693 from xtqqczze/unwrap_unchecked +- Merge pull request #685 from xtqqczze/clippy/cast_ptr_alignment +- Merge pull request #686 from cuviper/into_map +- Merge pull request #689 from xtqqczze/clippy/semicolon_if_nothing_returned +- use cfg(panic = "unwind") +- Merge pull request #682 from xtqqczze/patch-1 +- Clarify std default hasher +- Move crate::raw::alloc into crate::alloc +- Run cargo doc on CI +- Replace manual rustdoc links with better ones +- MSRV 1.85, edition 2024 +- Run taplo in CI +- :invert isn't used in all cases; just inline it to avoid allowing a lint +- Remove expectations that no longer apply +- Replace allow with expect where possible +- Deny unreachable_pub +- Manually tweak unsafe block additions +- Enable unsafe_op_in_unsafe_fn for 2024 compatibility, clippy fix +- Apparently CI hard-coded 1.80 as a fixed point, now it's just 1.84 +- Clippy fix +- Move lints to Cargo.toml +- taplo fmt +- Update MSRV +- Merge pull request #675 from clarfonthey/unreachable-pub +- Merge pull request #670 from clarfonthey/entry-into-entry +- Improve entry API +- Add hash_table::OccupiedEntry::replace_entry_with to mirror HashMap API +- Override clone_from for HashTable +- Rename raw table buckets to num_buckets + ## [0.16.1](https://github.com/rust-lang/hashbrown/compare/v0.16.0...v0.16.1) - 2025-11-20 ### Added diff --git a/Cargo.toml b/Cargo.toml index 9f97896880..5f49b97ddd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hashbrown" -version = "0.16.1" +version = "0.16.2" authors = ["Amanieu d'Antras "] description = "A Rust port of Google's SwissTable hash map" license = "MIT OR Apache-2.0" From d937c631cc8144ca744c3b72c463b189561af37c Mon Sep 17 00:00:00 2001 From: Amanieu d'Antras Date: Thu, 9 Apr 2026 14:44:17 +0100 Subject: [PATCH 2/3] Update changelog for version 0.17.0 --- CHANGELOG.md | 79 ++++++++++++++++------------------------------------ 1 file changed, 24 insertions(+), 55 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index adb56b3900..25f26c0c0e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,61 +7,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -## [0.16.2](https://github.com/rust-lang/hashbrown/compare/v0.16.1...v0.16.2) - 2026-04-06 - -### Fixed - -- disable panic tests on wasm32 - -### Other - -- Merge pull request #710 from Amanieu/fix-rehash-unwind -- Reduce test runtime on Miri -- Fix incorrect length if a hasher panics during rehash -- Don't overwrite MIRIFLAGS, for testing -- Actually test LSX, remove unused features -- Lint SIMD code, fix generic expectation failures -- fix match_same_arms lint -- fix single_match_else lint -- fix if_not_else lint -- fix needless_continue lint -- fix redundant_else lint -- Merge pull request #690 from xtqqczze/clippy/manual_let_else -- impl Error for TryReserveError -- Merge pull request #697 from xtqqczze/must-use-constructors -- Merge pull request #692 from N1ark/fix-uninit-slice -- fix str_to_string lint -- Merge pull request #687 from xtqqczze/clippy/ptr -- Merge branch 'master' into clippy/ptr -- Merge pull request #693 from xtqqczze/unwrap_unchecked -- Merge pull request #685 from xtqqczze/clippy/cast_ptr_alignment -- Merge pull request #686 from cuviper/into_map -- Merge pull request #689 from xtqqczze/clippy/semicolon_if_nothing_returned -- use cfg(panic = "unwind") -- Merge pull request #682 from xtqqczze/patch-1 -- Clarify std default hasher -- Move crate::raw::alloc into crate::alloc -- Run cargo doc on CI -- Replace manual rustdoc links with better ones -- MSRV 1.85, edition 2024 -- Run taplo in CI -- :invert isn't used in all cases; just inline it to avoid allowing a lint -- Remove expectations that no longer apply -- Replace allow with expect where possible -- Deny unreachable_pub -- Manually tweak unsafe block additions -- Enable unsafe_op_in_unsafe_fn for 2024 compatibility, clippy fix -- Apparently CI hard-coded 1.80 as a fixed point, now it's just 1.84 -- Clippy fix -- Move lints to Cargo.toml -- taplo fmt -- Update MSRV -- Merge pull request #675 from clarfonthey/unreachable-pub -- Merge pull request #670 from clarfonthey/entry-into-entry -- Improve entry API -- Add hash_table::OccupiedEntry::replace_entry_with to mirror HashMap API -- Override clone_from for HashTable -- Rename raw table buckets to num_buckets +## [0.17.0](https://github.com/rust-lang/hashbrown/compare/v0.16.1...v0.17.0) - 2026-04-06 + +### Added + +- Added `hash_table::OccupiedEntry::replace_entry_with` (#669) +- Added `hash_map::{OccupiedEntry::into_entry, VacantEntryRef::insert_entry_with_key}` (#670) +- Added `hash_table::UnsafeIter` (#667) +- Added `iter` methods to various `HashTable` iterators (#667) +- Added `HashMap::{replace_key,replace_key_unchecked,insert_with_key_unchecked}` (#681) +- Added `into_map` methods to all `HashMap` entry types (#686) +- Added `into_table` methods to all `HashTable` entry types (#686) +- Added `#[must_use]` to constructors (#697) +- `TryReserveError` now implements `Error` (#698) + +### Changed + +- Changed `EntryRef` to use `ToOwned` (#670) +- Bumped MSRV to 1.85 (2024 edition) (#676) + +### Fixed + +- `HashTable:clone_from` now forwards to `RawTable::clone_from` instead of using the default implementation (#668) +- Fixed potential UB in `RawTableInner::fallible_with_capacity` (#692) +- Fixed incorrect length if a hasher panics during rehash (#710) ## [0.16.1](https://github.com/rust-lang/hashbrown/compare/v0.16.0...v0.16.1) - 2025-11-20 From d290456969d0e89e6799d8a673c95112962b70ec Mon Sep 17 00:00:00 2001 From: Amanieu d'Antras Date: Thu, 9 Apr 2026 14:44:44 +0100 Subject: [PATCH 3/3] Bump version to 0.17.0 --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 5f49b97ddd..0bcb60112a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hashbrown" -version = "0.16.2" +version = "0.17.0" authors = ["Amanieu d'Antras "] description = "A Rust port of Google's SwissTable hash map" license = "MIT OR Apache-2.0"