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