Skip to content

Releases: dynatrace-oss/hash4j

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

v0.15.0

05 Dec 20:06
d68a9e1
Compare
Choose a tag to compare

New Features:

  • new hash function: Java port of PolymurHash 2.0

Improvements:

  • optimized performance of putChars for the FarmHashNa hashing algorithm
  • optimized performance of the distinct count estimator for HyperLogLog
  • optimized speed of consistent hashing based on improved consistent weighted sampling
  • reduced risk of an OutOfMemoryError when applying putUnorderedIterable on Iterables of unknown huge (billion range) size

Bug Fixes:

  • fixed bug in Murmur3_128 leading to an infinite loop when hashing char sequences of lengths >= 2^31 - 8 = 2147483640

Full Changelog: v0.14.0...v0.15.0

v0.14.0

24 Nov 20:19
b3e8d1b
Compare
Choose a tag to compare

New Features:

  • new consistent hashing algorithm with constant runtime based on improved consistent weighted sampling

Improvements:

  • faster maximum-likelihood estimator for UltraLogLog

Full Changelog: v0.13.0...v0.14.0

v0.13.0

20 Sep 08:28
8f8064f
Compare
Choose a tag to compare

New Features:

  • added SimHash implementation
  • added ElementHashProvider::ofCollection

Full Changelog: v0.12.0...v0.13.0