- Update
abitto~> 1.0.0and require Elixir 1.14 / OTP 25 or later - Correct Counting Bloom membership, frequency, cardinality, and storage behavior
- Allocate filters and counters to fully meet their requested capacity
- Return finite cardinality estimates for saturated filters and counters
- Reject incompatible Bloom filters before merge and intersection operations
- Safely decode serialized Bloom filters without creating unsafe runtime terms
- Harden public input validation and typespecs
- Add in-place
clear/1operations for all data structures - Rename
Talan.CountertoTalan.LinearCounter - Surface Counting Bloom counter overflow and underflow errors
- Improve syntax and language
- Update
abitto~> 0.4.0andex_docto~> 0.40 - Replace deprecated
Abit.merge/2withAbit.union/2
- BREAKING: Use Murmur v2.0 that fixes 128-bit hash generation to be consistent with the original implementation
- Fix cardinality estimation when
set_bits_count<=hash_function_countdue to overlap
- Implement BloomFilter.serialize/1 and BloomFilter.deserialize/1
- Update murmur dependency to 1.0.3 to fix compilation warnings
- Fix - work with Elixir 1.7 by not using Kernel.floor/1 and Kernel.ceil/1