hashbrown breaking changes

cargo

21 curated breaking changes across major versions of hashbrown. Use this as a migration checklist before bumping dependencies.

21
changes
Breaking changes by transition
  • 0.8.2 \u2192 0.9.0breaking

    The minimum Rust version has been bumped to 1.36 (due to `crossbeam` dependency). (#193)

  • 0.8.2 \u2192 0.9.0breaking

    `HashMap::with_hasher` and `HashSet::with_hasher` are now `const fn`. (#195)

  • 0.8.2 \u2192 0.9.0breaking

    Added `replace_entry_with` to `OccupiedEntry`, and `and_replace_entry_with` to `Entry`. (#190)

  • 0.8.2 \u2192 0.9.0breaking

    Implemented `FusedIterator` and `size_hint` for `DrainFilter`. (#188)

  • 0.8.2 \u2192 0.9.0breaking

    Updated `ahash` dependency to 0.4. (#198)

  • 0.8.2 \u2192 0.9.0removed

    Removed `T: Hash + Eq` and `S: BuildHasher` bounds on `HashSet::new`,

  • 0.8.2 \u2192 0.9.0removed

    `drain_filter` now removes and yields items that do match the predicate,

  • 0.5.0 \u2192 0.6.0api

    The experimental and unsafe `RawTable` API is available under the "raw" feature. (#108)

  • 0.5.0 \u2192 0.6.0behavior

    Changed the default hasher from FxHash to AHash. (#97)

  • 0.5.0 \u2192 0.6.0breaking

    Relaxed `lazy_static` version. (#92)

  • 0.5.0 \u2192 0.6.0breaking

    The minimum Rust version has been bumped to 1.32 (due to `rand` dependency).

  • 0.5.0 \u2192 0.6.0breaking

    Added entry-like methods for `HashSet`. (#98)

  • 0.5.0 \u2192 0.6.0breaking

    `hashbrown` is now fully `no_std` on recent Rust versions (1.36+). (#96)

  • 0.5.0 \u2192 0.6.0breaking

    We now avoid growing the table during insertions when it wasn't necessary. (#106)

  • 0.5.0 \u2192 0.6.0breaking

    `RawOccupiedEntryMut` now properly implements `Send` and `Sync`. (#100)

  • 0.5.0 \u2192 0.6.0breaking

    Fixed AHash accidentally depending on `std`. (#110)

  • 0.14.5 \u2192 0.15.1removed

    `HashSet::get_or_insert_owned` was removed in favor of `get_or_insert_with`. (#555)

  • 0.14.5 \u2192 0.15.1removed

    Raw entry API is now under `raw-entry` feature, to be eventually removed. (#534, #555)

  • 0.14.5 \u2192 0.15.1removed

    Raw table API has been made private and the `raw` feature is removed;

  • 0.14.5 \u2192 0.15.1removed

    `rykv` feature was removed; this is now provided by the `rykv` crate instead. (#554)

  • 0.14.3 \u2192 0.14.5breaking

    Fixed index calculation in panic guard of `clone_from_impl`. (#511)

API access

Get this data programmatically \u2014 free, no authentication.

curl https://depscope.dev/api/breaking/cargo/hashbrown
hashbrown breaking changes — Cargo migration guide | DepScope