rust-lang/hashbrown
 Watch   
 Star   
 Fork   
23 days ago
hashbrown

v0.17.0

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)
2025-11-21 00:47:27
hashbrown

v0.16.1

Added

  • Added HashTable methods related to the raw bucket index (#657)
  • Added VacantEntryRef::insert_with_key (#579)

Changed

  • Removed specialization for Copy types (#662)
  • The get_many_mut family of methods have been renamed to get_disjoint_mut to match the standard library. The old names are still present for now, but deprecated. (#648)
  • Recognize and use over-sized allocations when using custom allocators. (#523)
  • Depend on serde_core instead of serde. (#649)
  • Optimized collect on rayon parallel iterators. (#652)
2025-08-29 19:55:55
hashbrown

v0.16.0

Changed

  • Bump foldhash, the default hasher, to 0.2.0.
  • Replaced DefaultHashBuilder with a newtype wrapper around foldhash instead of re-exporting it directly.
2025-08-08 07:58:39
hashbrown

v0.15.5

Added

  • Added Entry::or_default_entry and Entry::or_insert_entry.

Changed

  • Re-implemented likely/unlikely with #[cold]
2025-06-07 18:57:08
hashbrown

v0.15.4

Changed

  • Removed optional dependency on compiler-builtins. This only affects building as part of std.
2025-05-01 06:12:10
hashbrown

v0.15.3

Added

  • SIMD implementation for LoongArch (#592, requires nightly)

Changed

  • Optimized insertion path by avoiding an unnecessary match_empty (#607)
  • Increased minimum table size for small types (#615)
  • Dropped FnMut trait bounds from ExtractIf data structures (#616)
  • Relaxed constraint in hash_map::EntryRef insertion methods K: From<&Q> to &Q: Into<K> (#611)
  • Added allocator template argument for rustc_iter (#605)
  • The allocator-api2/nightly feature is no longer enabled by hashbrown/nightly (#606)