What's Changed
- Initial HLL port implementation by @freakyzoidberg in #1
- Remove all panics in HLL implementation, replaced with error returns by @freakyzoidberg in #2
- Add a docker file to run tests by @freakyzoidberg in #4
- Switch Murmur3 to faster implementation by @freakyzoidberg in #3
- Add Frequencies long sketch by @freakyzoidberg in #5
- Reorganize internal shared code in internal module by @freakyzoidberg in #6
- Add godoc and cleanup public API for hll by @freakyzoidberg in #7
- Generic Frequency Item Sketch by @freakyzoidberg in #9
- Add package docs and readme by @freakyzoidberg in #10
- Add deserialization test from java and cpp by @freakyzoidberg in #12
- Add a godoc example for HLL usage by @freakyzoidberg in #11
- Rename preamble_utils (typo) - and fix DockerFile for tests by @freakyzoidberg in #13
- KLL ItemSketch by @freakyzoidberg in #14
- [KLLItem] Fix a deserialisation issue in COMPACT_FULL and test by @freakyzoidberg in #15
- CrossLang SerDe test for KLL (String on ItemSketch) by @freakyzoidberg in #16
- Refactored common SerDe, Example and KLL doc by @freakyzoidberg in #17
- KLL Serialisation fixes + Double common SerDe by @freakyzoidberg in #18
- Split Serde/Comparator/Hasher and add reverse KLL order test by @freakyzoidberg in #20
- Add getNumRetained to SortedView. by @freakyzoidberg in #21
- Add missing Apache License headers and Rat exclusion by @freakyzoidberg in #22
- [Go] Optimise HLL union merge (HLLtoHLL) by @freakyzoidberg in #23
- [Go] Optimise HLL Update operation on arrays by @freakyzoidberg in #24
- enable issues by @AlexanderSaydakov in #25
- Bump to Go 1.22 by @freakyzoidberg in #26
- Bump to go 1.23.5 and update Readme wrt CPC sketch progress by @freakyzoidberg in #28
- Add methods to CPC by @QasimKhan5d in #29
- Add compression data to Cpc by @QasimKhan5d in #30
- add port of PreambleUtil by @QasimKhan5d in #31
- add runtime src+test and icon estimator test by @QasimKhan5d in #32
- Refactor some source and test files by @QasimKhan5d in #33
- Canonicalize float inputs, strengthen error handling, and clarify union logic in CPC implementation by @QasimKhan5d in #34
- Implement compression and decompression logic in CpcCompressedState by @QasimKhan5d in #35
- Add all remaining test for cpc by @QasimKhan5d in #36
- Add licenses to CPC & provide example test file by @QasimKhan5d in #37
- Cpc sketch by @freakyzoidberg in #27
- Make copy, getLgK public in cpc by @QasimKhan5d in #38
- Fix NewCpcUnionSketch seed argument by @QasimKhan5d in #39
- Add stability / robustness tests to CPC Sketch by @QasimKhan5d in #40
- [cpc] Fix seed hash by @QasimKhan5d in #43
- Count-Min Sketch by @geonove in #42
- Update README.md (CPCSketch/CMSketch and ThetaSketch status) by @freakyzoidberg in #44
- perf: use slices.sort by @proost in #45
- perf: reduce calling hashing function by @proost in #46
- fix & enhancement: respect lowest index by @proost in #48
- Add regression test for PR48 bug fix by @freakyzoidberg in #49
- feat: hashtable and sketch by @proost in #51
- feat: add binomial bounds util by @proost in #53
- (chore) Bump go 1.24.9 by @freakyzoidberg in #54
- feat: add update theta sketch by @proost in #55
- feat: add utils for compact theta sketch by @proost in #57
- fix: incorrect deserialization KLL sketch by @proost in #59
- feat: compact theta sketch by @proost in #58
- feat: wrapped compact sketch by @proost in #60
- feat: add a not b operation on theta sketch by @proost in #61
- fix: wrong description of IsEmpty in theta sketch by @proost in #63
- feat: theta sketch intersection by @proost in #62
- feat: add union operation of theta sketches by @proost in #64
- feat: add jaccard similarity operation on theta sketches by @proost in #65
- feat: tuple sketch interface & hashtable by @proost in #68
- perf: use direct comparison by @proost in #70
- feat: tuple update sketch by @proost in #69
- perf: use sentinel error for theta sketch hashtable. by @proost in #71
- feat: compact tuple sketch by @proost in #72
- (Chore) Add missing license, Bump Go minor, update Readme status by @freakyzoidberg in #73
- Add BloomFilter in readme by @freakyzoidberg in #74
- feat: set operations for tuple sketch by @proost in #76
- fix: underflow by @proost in #77
- kll: reduce allocations in ItemsSketch by @tsenart in #78
- (feat) BloomFilter Sketch by @freakyzoidberg in #75
- chore: update sketches work status in README by @proost in #80
- Docker test and readme by @freakyzoidberg in #81
- Disable the x-serialisation test if the sketch files are missing by @freakyzoidberg in #82
- exclude sk for extracts by @freakyzoidberg in #83
- feat: add example tests for Theta, Bloom Filter, Count-Min, and Tuple… by @Fengzdadi in #84
- feat: ArrayOfNumbersSketch interface & update sketch by @proost in #85
- perf: optimize coupon list deserialization by pre-computing offset by @Fengzdadi in #87
- fix: division by 0 by @proost in #93
- feat: implement generic ReservoirItemsSketch for sampling package by @Fengzdadi in #91
- refactor: clean theta encoder by @proost in #92
- Add Release doc by @freakyzoidberg in #88
- feat: arrayofnumbers compact sketch by @proost in #89
- refactor: move theta sketch type into internal enum by @proost in #97
- feat: set operations for arrayofnumbers sketch by @proost in #95
- feat: add serialization support for ReservoirItemsSketch by @Fengzdadi in #94
- feat: t-digest by @proost in #99
- doc: contribution guide by @proost in #100
- feat: add t-digest serialization by @proost in #101
- feat: Complete ReservoirItemsUnion implementation by @Fengzdadi in #104
- feat(sampling): Implement VarOptItemsSketch core functionality by @Fengzdadi in #102
- ci: turn on automatically remove merged branches by @proost in #105
- ci: add license checker by @proost in #106
- ci: report test coverage by @proost in #107
- fix: sync with original code reservoir items sketch by @proost in #109
- fix: wrong serialization reservoir items sketch by @proost in #110
- feat: add missing string method by @proost in #112
- feat: estimate subset sum for reservoir sketch by @proost in #113
- test: add missing compatability cases by @proost in #114
- ci: add linter by @proost in #115
- chore: add packages for test in container by @proost in #116
- Add guard for test in sampling sketch by @freakyzoidberg in #117
- doc: fix wrong badge link by @proost in #119
- test: stabilize flaky cases by @proost in #118
sampling package status
This release contains the public sampling package. However, the package is still under active development and is not feature-complete.
Users should be aware that:
- functionality is currently partial
- some behavior may change as the implementation matures
- parts of the API may change before the package is considered stable
New Contributors
- @freakyzoidberg made their first contribution in #1
- @AlexanderSaydakov made their first contribution in #25
- @QasimKhan5d made their first contribution in #29
- @geonove made their first contribution in #42
- @tsenart made their first contribution in #78
- @Fengzdadi made their first contribution in #84
Full Changelog: https://github.com/apache/datasketches-go/commits/v0.1.0