rapidhash breaking changes
cargo19 curated breaking changes across major versions of rapidhash. Use this as a migration checklist before bumping dependencies.
- v3.1.0 \u2192 v4.0.0breaking
**`rapidhash::v3` micro/nano output change:** input lengths 5-7 were mismatching the intended C++ V3 output. The C++ rapidhash V3 has been [yanked and re-released as V3](https://github.com/Nicoshev/rapidhash/issues/33) to fix the bug, and this rust implementation will follow. This changes the hash outputs for `rapidhash_v3_micro_inline` and `rapidhash_v3_nano_inline` for inputs of size 5, 6, and 7 bytes.
- v3.1.0 \u2192 v4.0.0breaking
**`RapidBuildHasher` renamed and refactored** to `SeedableState`.
- v3.1.0 \u2192 v4.0.0breaking
**`RapidHasher<'s>` new lifetime parameter** added to support user-defined secrets via `SeedableState`.
- v3.1.0 \u2192 v4.0.0breaking
**`RapidHashMap` and `RapidHashSet` moved to crate top level** for convenience. The top level uses the `fast::` variants, and the `quality::` and `inner::` hashmaps have been removed. They can still be built manually using `inner::RandomState` if required. The `fast::` collection variants have been deprecated to be removed in a future major release.
- v2.0.2 \u2192 v3.0.0breaking
Replaced `FNV` with a `SPONGE` configuration with `RapidHasher` to improve integer and tuple hashing performance.
- v2.0.2 \u2192 v3.0.0breaking
`RandomState` removed the `with_seed` and `with_seed_and_static_secrets` methods to reduce the struct size. Please raise a GitHub issue if you need a `SeededState`-style hash builder for the in-memory `RapidHasher`.
- v2.0.2 \u2192 v3.0.0breaking
Added a `RapidSecrets` type for all versions to generate seeds and secrets for HashDoS-resistant hashing. This makes generating unique seeds/secrets easier for persistent hashing use cases.
- v2.0.2 \u2192 v3.0.0breaking
`rapidhash::v*` portable hashing functions now all take a `&RapidSecrets` argument as a seed.
- v2.0.2 \u2192 v3.0.0breaking
For full compatibility with the old integer seeds, instantiate `RapidSecrets::seed_cpp(u64)` with your integer seed which will continue to use the default secrets.
- v1.4.0 \u2192 v2.0.0breaking
**Breaking, in-memory hashing:** `RapidHasher`, `RandomState`, and `RapidHashMap` etc. have been moved to `rapidhash::fast::RapidHasher` and `rapidhash::quality::RapidHasher`.
- v1.4.0 \u2192 v2.0.0breaking
The `quality` variant is similar to the old `RapidHasher` v1.x.x crate versions, with some performance improvements.
- v1.4.0 \u2192 v2.0.0breaking
The `fast` variant is faster still by using FNV on integer types and skipping the final avalanche step.
- v1.4.0 \u2192 v2.0.0breaking
An `inner` module is also available, to precisely configure rapidhash with compile time flags described in the README and docs.
- v1.4.0 \u2192 v2.0.0breaking
**Breaking, persistent hashing:** `rapidhash(bytes)` moves to `rapidhash::v3::rapidhash(bytes)`, with a module for each version.
- unknown \u2192 v1.0.0breaking
Added rapidhash and rapidhash_seeded functions to hash byte streams.
- unknown \u2192 v1.0.0breaking
Added RapidHasher and RapidHasherInline for hashing via a std::hash::Hasher compatible interface.
- unknown \u2192 v1.0.0breaking
Added RapidHashMap, RapidInlineHashMap, RapidHashSet, and RapidInlineHashSet helper types.
- unknown \u2192 v1.0.0breaking
Added RapidHashBuilder and RapidInlineHashBuilder for std::hash::BuildHasher implementing types compatible with HashMap and HashSet.
- unknown \u2192 v1.0.0breaking
Added RapidRandomState for random seed initialisation.
Get this data programmatically \u2014 free, no authentication.
curl https://depscope.dev/api/breaking/cargo/rapidhash