Skip to content

Releases: dynatrace-oss/hash4j

v0.24.0

11 Jul 19:54
1dacb6a
Compare
Choose a tag to compare

New Features:

  • Implemented equals and hashCode methods for hasher objects
  • Introduced serialization and deserialization methods for hash stream states (getState and setState), enabling snapshotting of intermediate states and resuming processing from saved points. Additionally, hasher objects now include a hashStreamFromState method for initializing streams from a saved state.

Bug Fixes:

  • Resolved issues with the equals method for hash streams introduced in version 0.23.0.
  • Addressed edge case issues affecting hash streams when processing extremely large data inputs (โ‰ฅ 2โถยน bytes).

Full Changelog: v0.23.1...v0.24.0

v0.23.1

03 Jul 08:28
9d2ee12
Compare
Choose a tag to compare

Bug Fix:

  • Fixed issue when creating packed arrays with bit sizes >= 2^31 - 7 = 2147483641 (corresponds to roughly 256MB). For example, for a packed array with a component size of 64 bits, this limit was reached for an array size of 2^25 = 33554432.

Full Changelog: v0.23.0...v0.23.1

v0.23.0

27 Jun 07:18
2362dfd
Compare
Choose a tag to compare

New Features:

  • Added getHasher method to hash streams to retrieve the underying hasher instance
  • Added new methods to hashers to hash integers directly:
    • hashIntIntToInt
    • hashIntToInt
    • hashLongToInt
    • hashIntIntToLong
    • hashIntToLong
    • hashLongToLong
  • Implemented equals and hashCode for hash streams

Full Changelog: v0.22.0...v0.23.0

v0.22.0

25 Apr 08:50
Compare
Choose a tag to compare

New Features:

  • Added the ConsistentBucketSetHasher interface for implementations that support bucket removals in arbitrary order
  • Added the ConsistentHashing.jumpBackAnchorHash factory method for creating a ConsistentBucketSetHasher based on JumpBackHash and ideas from AnchorHash and MementoHash

Full Changelog: v0.21.0...v0.22.0

v0.21.0

31 Mar 11:43
804e67c
Compare
Choose a tag to compare

New Features:

  • added convenience functions for mixing/hashing integers and longs to an int
    • Hasher32.hashLongLongToInt
    • Hasher32.hashLongLongLongToInt
    • Hasher32.hashLongIntToInt
    • Hasher32.hashIntLongToInt
    • Hasher32.hashIntIntIntToInt
  • added convenience functions for mixing/hashing integers and longs to a long
    • Hasher64.hashIntLongToLong
    • Hasher64.hashIntIntIntToLong
    • Hasher64.hashLongIntToLong

Full Changelog: v0.20.0...v0.21.0

v0.20.0

04 Feb 18:10
a902c9e
Compare
Choose a tag to compare

New Features:

  • added XXH3 128bit hash function
  • PseudoRandomGenerator.reset returns self-reference
  • added isEmpty method to HyperLogLog and UltraLogLog
  • added DistinctCountUtil.deduplicateTokens utility function for the deduplication of hash tokens

Full Changelog: v0.19.0...v0.20.0

v0.19.0

25 Nov 14:24
fdd1f6f
Compare
Choose a tag to compare

New Features:

  • introduced HashStream32::resetAndHashToInt, HashStream64::resetAndHashToLong, and HashStream128:resetAndHashTo128Bits methods for more convenient recycling of hash stream objects
  • added HashStream::putUnorderedIterable that takes a HashStream64

Improvements:

  • performance optimization of PackedArrayHandler::numEqualComponents for bit size equal to 1

Incompatible Changes:

  • removed class XXH3_64 from the public interface, please use corresponding factory method Hashing.xxh3_64 instead
  • removed class ConsistentJumpBackBucketHasher from the public interface, please use corresponding factory method ConsistentHashing.jumpBackHash instead

Full Changelog: v0.18.0...v0.19.0

v0.18.0

04 Aug 10:23
962cda6
Compare
Choose a tag to compare

New Features:

  • XXH3: a 64-bit hash function
  • added copy method to HashStream #238, thanks to @deripas

Improvements:

  • improved HashStream methods for native arrays (putShorts, putInts, ...)

Full Changelog: v0.17.0...v0.18.0

v0.17.0

16 Feb 12:05
Compare
Choose a tag to compare

New Features:

  • FarmHashUo: a 64-bit hash function
  • JumpBackHash: a very fast consistent hash algorithm

Improvements:

  • improved performance of HyperLogLog and UltraLogLog merge operations if sketches have same precision
  • better performance of hash functions relying on unsigned 128-bit multiplications on Java 21 by using java.lang.Math.unsignedMultiplyHigh

Full Changelog: v0.16.0...v0.17.0

v0.16.0

28 Dec 21:04
c747024
Compare
Choose a tag to compare

Improvements:

  • optimized performance of distinct count estimators

Full Changelog: v0.15.0...v0.16.0