Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.6.3
->2.1.0
Release Notes
shepmaster/twox-hash (twox-hash)
v2.1.0
Compare Source
Added
XxHash3_128
and thexxhash3_128
module.v2.0.1
Compare Source
Fixed
XxHash3_64
to hash 1to 3 bytes of data in debug mode. Release mode and different lengths
of data are unaffected.
v2.0.0
Compare Source
This release is a complete rewrite of the crate, including
reorganization of the code. The XXH3 algorithm now matches the 0.8
release of the reference C xxHash implementation.
Added
XxHash32::oneshot
andXxHash64::oneshot
can perform hashing withzero allocation and generally improved performance. If you have code
that creates a hasher and hashes a slice of bytes exactly once, you
are strongly encouraged to use the new functions. This might look
like:
There is a feature flag for each hashing implementation. It is
recommended that you opt-out of the crate's default features and
only select the implementations you need to improve compile speed.
Changed
The crates minimum supported Rust version (MSRV) is now 1.81.
Functional and performance comparisons are made against the
reference C xxHash library version 0.8.2, which includes a stable
XXH3 algorithm.
Support for randomly-generated hasher instances is now behind the
random
feature flag. It was previously combined with thestd
feature flag.
Removed
The deprecated type aliases
XxHash
andRandomXxHashBuilder
havebeen removed. Replace them with
XxHash64
andxxhash64::RandomState
respectively.RandomXxHashBuilder32
andRandomXxHashBuilder64
are no longeravailable at the top-level of the crate. Replace them with
xxhash32::RandomState
and ``xxhash64::RandomState` respectively.Xxh3Hash64
andxx3::Hash64
have been renamed toXxHash3_64
andxxhash3_64::Hasher
respectively.The free functions
xxh3::hash64
,xxh3::hash64_with_seed
, andxxh3::hash64_with_secret
are now associated functions ofxxhash3_64::Hasher
:oneshot
,oneshot_with_seed
andoneshot_with_secret
. Note that the argument order has changed.Support for the digest crate has been removed. The digest crate
is for cryptographic hash functions and xxHash is
non-cryptographic.
XxHash32
andXxHash64
no longer implementCopy
. This preventsaccidentally mutating a duplicate instance of the state instead of
the original state.
Clone
is still implemented so you can makedeliberate duplicates.
The XXH3 128-bit variant is not yet re-written. Work is in progress
for this.
We no longer provide support for randomly-generated instances of the
XXH3 64-bit variant. The XXH3 algorithm takes both a seed and a
secret as input and deciding what to randomize is non-trivial and
can have negative impacts on performance.
Configuration
📅 Schedule: Branch creation - "after 8pm,before 6am" in timezone America/Los_Angeles, Automerge - "after 8pm,before 6am" in timezone America/Los_Angeles.
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.