Skip to content

Releases: dynatrace-oss/hash4j

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

v0.12.0

06 Sep 07:56
bf82b7f
Compare
Choose a tag to compare

New Features:

  • new hash function FarmHashNa
  • added FastSimHash, a fast implementation of the SimHash algorithm for similarity hashing
  • added set and reset methods to the MartingaleEstimator to enable object reuse
  • added hashLongLongToLong and hashLongLongLongToLong to the Hasher64 interface for fast hashing (mixing) of 2 or 3 longs

Full Changelog: v0.11.0...v0.12.0

v0.11.0

26 Jun 07:51
Compare
Choose a tag to compare

New Features:

  • new hash function: Komihash 5.0

Incompatible changes:

  • removed classes AbstractHashStream32, AbstractHashStream64, and AbstractHashStream128 from public interface

Full Changelog: v0.10.0...v0.11.0

v0.10.0

31 May 08:05
Compare
Choose a tag to compare

New Features:

  • better and slightly more accurate default estimator for UltraLogLog (UltraLogLog.OPTIMAL_FGRA_ESTIMATOR)
  • added token support for HyperLogLog and UltraLogLog, which allows 64-bit hash values to be reduced to 32-bit tokens first, which can then be used alternatively for the add operation

Incompatible changes:

  • removed UltraLogLog.SMALL_RANGE_CORRECTED_4_GRA_ESTIMATOR (use UltraLogLog.OPTIMAL_FGRA_ESTIMATOR instead)

Full Changelog: v0.9.0...v0.10.0

v0.9.0

02 Apr 15:41
01cf0d5
Compare
Choose a tag to compare

New features:

  • implementation of ImoHash algorithm useful for file hashing
  • implementation of JumpHash for distributed agreement
  • added HashValue128.toByteArray and HashValue128.toString

Bug fixes:

  • fixed bug in martingale estimator for UltraLogLog affecting distinct counts >= 10^15
  • fixed bug in ML estimator for HyperLogLog affecting distinct counts >= 10^15

Incompatible changes:

  • removed HyperLogLog.SMALL_RANGE_CORRECTED_RAW_ESTIMATOR (use HyperLogLog.CORRECTED_RAW_ESTIMATOR instead)

Full Changelog: v0.8.0...v0.9.0

v0.8.0

06 Feb 08:36
93b6e76
Compare
Choose a tag to compare

New features:

  • implementation of Wyhash final version 4