Skip to content

v0.30.0

Latest

Choose a tag to compare

@oertl oertl released this 09 Mar 08:59
· 5 commits to main since this release
Immutable release. Only release title and notes can be modified.
cb49f45

New Features:

  • Added MetroHash (64-bit and 128-bit)
  • Added xxHash variants XXH32 and XXH64
  • Added PseudoRandomGenerator::uniformLong(long) to generate random long values over a bounded interval

Breaking Changes:

  • Renamed the JPMS module from hash4j to com.dynatrace.hash4j to align with standard naming convention.

  • Renamed Hashing::rapidhash3 to Hashing::rapidhashV3Legacy and introduced Hashing::rapidhashV3.

    This change was required because a re-release of Rapidhash v3 changed the hash output for inputs with lengths of 5, 6, and 7 bytes. See #555 for details.

    Migration guidance:

    • If your inputs are never 5, 6, or 7 bytes long, for example, because they are always at least 8 bytes long or always a multiple of 4 bytes, you can safely migrate from Hashing::rapidhash3 to Hashing::rapidhashV3.
    • If your inputs may be 5, 6, or 7 bytes long, use Hashing::rapidhashV3Legacy to preserve the previous behavior. Since Hashing::rapidhashV3Legacy is deprecated and may be removed in a future release, consider moving relevant logic into your own codebase.

Full Changelog: v0.29.0...v0.30.0