sourmash-bio / sourmash

Quickly search, compare, and analyze genomic and metagenomic data sets.
http://sourmash.readthedocs.io/en/latest/
Other
476 stars 79 forks source link

Bump twox-hash from 1.6.3 to 2.0.0 #3359

Closed dependabot[bot] closed 2 weeks ago

dependabot[bot] commented 1 month ago

Bumps twox-hash from 1.6.3 to 2.0.0.

Changelog

Sourced from twox-hash's changelog.

2.0.0 - 2024-10-18

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 and XxHash64::oneshot can perform hashing with zero 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:

    // Before
    let mut hasher = XxHash64::new(); // or XxHash32, or with seeds
    some_bytes.hash(&mut hasher);
    let hash = hasher.finish();
    

    // After
    let hash = XxHash64::oneshot(some_bytes);

  • 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 the std feature flag.

Removed

  • The deprecated type aliases XxHash and RandomXxHashBuilder have been removed. Replace them with XxHash64 and xxhash64::RandomState respectively.

  • RandomXxHashBuilder32 and RandomXxHashBuilder64 are no longer available at the top-level of the crate. Replace them with

... (truncated)

Commits
  • 3d925b4 Release version 2.0.0
  • 872959e Merge pull request #101 from shepmaster/v2
  • 6d4ffd4 Remove vestigial comment
  • 979e71b Update benchmarks for Rust 1.81 / xxHash 0.8.2
  • a635afe Tweaks to get benchmarking running again after renaming
  • 5ce7f4b Introduce a changelog
  • 9bd1943 Don't create empty ranges in proptests
  • 4c577a3 Test for minimal dependency versions
  • 45f21b0 Document the feature flags
  • 28f0d83 Unify the README and crate documentation
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
dependabot[bot] commented 2 weeks ago

Superseded by #3378.