Releases: dynatrace-oss/hash4j
Releases · dynatrace-oss/hash4j
v0.18.0
v0.17.0
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
v0.15.0
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
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
New Features:
- added SimHash implementation
- added ElementHashProvider::ofCollection
Full Changelog: v0.12.0...v0.13.0
v0.12.0
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
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
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
(useUltraLogLog.OPTIMAL_FGRA_ESTIMATOR
instead)
Full Changelog: v0.9.0...v0.10.0
v0.9.0
New features:
- implementation of ImoHash algorithm useful for file hashing
- implementation of JumpHash for distributed agreement
- added
HashValue128.toByteArray
andHashValue128.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
(useHyperLogLog.CORRECTED_RAW_ESTIMATOR
instead)
Full Changelog: v0.8.0...v0.9.0