21 curated breaking changes across major versions of hashbrown. Use this as a migration checklist before bumping dependencies.
The minimum Rust version has been bumped to 1.36 (due to `crossbeam` dependency). (#193)
`HashMap::with_hasher` and `HashSet::with_hasher` are now `const fn`. (#195)
Added `replace_entry_with` to `OccupiedEntry`, and `and_replace_entry_with` to `Entry`. (#190)
Implemented `FusedIterator` and `size_hint` for `DrainFilter`. (#188)
Updated `ahash` dependency to 0.4. (#198)
Removed `T: Hash + Eq` and `S: BuildHasher` bounds on `HashSet::new`,
`drain_filter` now removes and yields items that do match the predicate,
The experimental and unsafe `RawTable` API is available under the "raw" feature. (#108)
Changed the default hasher from FxHash to AHash. (#97)
Relaxed `lazy_static` version. (#92)
The minimum Rust version has been bumped to 1.32 (due to `rand` dependency).
Added entry-like methods for `HashSet`. (#98)
`hashbrown` is now fully `no_std` on recent Rust versions (1.36+). (#96)
We now avoid growing the table during insertions when it wasn't necessary. (#106)
`RawOccupiedEntryMut` now properly implements `Send` and `Sync`. (#100)
Fixed AHash accidentally depending on `std`. (#110)
`HashSet::get_or_insert_owned` was removed in favor of `get_or_insert_with`. (#555)
Raw entry API is now under `raw-entry` feature, to be eventually removed. (#534, #555)
Raw table API has been made private and the `raw` feature is removed;
`rykv` feature was removed; this is now provided by the `rykv` crate instead. (#554)
Fixed index calculation in panic guard of `clone_from_impl`. (#511)
Get this data programmatically \u2014 free, no authentication.
curl https://depscope.dev/api/breaking/cargo/hashbrown