Changelog

Version 0.2.2 (November 2025)

FastLSH Optimizations

  • Fixed critical hash collision bug when k > d_padded

  • 20-40% faster query performance

  • Optimized memory allocations with thread-local buffers

  • Up to 13× faster top-k candidate selection

  • Added comprehensive stress tests

Bug Fixes

  • Fixed systematic sampling bug in fast_lsh.cpp (lines 147-151)

  • Proper handling of edge case where k > d_padded

Documentation

  • Created comprehensive Read the Docs documentation

  • Added algorithm comparison guide

  • Detailed parameter tuning guides

Version 0.2.1 (2025)

Improvements

  • Added backwards compatibility alias for rejection_sampling

  • Updated package metadata

Version 0.2.0 (2025)

New Features

  • Renamed algorithms for clarity: - rejection_sampling → rskmeans - fast_lsh → multitree_lsh

  • Maintained backwards compatibility with old names

  • Comprehensive experiments and benchmarks

Build System

  • Improved CMake configuration

  • Better FAISS detection

  • Enhanced wheel building

Version 0.1.0 (2024)

Initial Release

  • Standard k-means++ (kmeanspp)

  • RS-k-means++ (rejection_sampling)

  • AFK-MC² (afkmc2)

  • Fast-LSH k-means++ (fast_lsh)

  • Python bindings via pybind11

  • FAISS integration (optional)

  • OpenMP support for parallelization

Future Plans

Planned for 0.3.0

  • GPU support via CUDA/FAISS-GPU

  • Additional index types

  • Better parameter auto-tuning

  • Distributed clustering support