2.6 KiB
2.6 KiB
Changelog
Append-only log of major changes to LEANN (new features, breaking changes, important fixes). Newest entries at the bottom.
2026-03-05: IVF backend incremental update support
- Added
leann-backend-ivfwith FAISS IndexIVFFlat + DirectMap.Hashtable. - IVF supports in-place
add_vectorsandremove_idswithout full rebuild. leann buildis now idempotent: re-running on an existing index does incremental update (add new, remove deleted, re-index modified files).- Fixed incremental build chunking inconsistency and shared metadata dict bug.
- Fixed IVF incremental update duplicate chunks from stale
passages.jsonl.
2026-03-05: MCP server v2 — build, status, and structured search
- Added
leann_buildMCP tool: build or incrementally update indexes directly from Claude Code. - Added
leann_statusMCP tool: inspect index details (backend, embedding model, chunk/file count, size). leann_searchnow uses--jsonoutput with file paths always included, formatted as markdown code blocks.- Fixed
float32JSON serialization bug inleann search --json. - Cleaned up MCP tool descriptions (concise, no emoji).
2026-03-05: Documentation — roadmap, vision, and dev guidelines
- Rewrote
docs/roadmap.mdwith current P0/P1 priorities from GitHub issue #237. - Added
docs/ultimate_goal.md— long-term vision (personal data platform, best code retrieval MCP, multimodal, local-first). - Added self-contained documentation principle and dev doc maintenance rules to
CLAUDE.md.
2026-06-02: GPU FlashLib IVF backend (flashlib_ivf)
- Add
leann-backend-flashlib-ivf, a GPU IVF-Flat (inverted file) approximate-NN backend built on FlashLib (flash_ivf_flat, Triton/CuteDSL) — the GPU counterpart of the FAISSivfbackend. Registered as backend nameflashlib_ivf; install viauv sync --extra flashlib-ivforpip install leann-backend-flashlib-ivf. Shares thenlist/nproberecall knobs with theivfbackend, so the two are drop-in comparable. Requires a CUDA GPU at build (k-means) and search. - Add
benchmarks/flashlib_ivf_vs_faiss_ivf.py: head-to-headflashlib_ivf(GPU) vsivf(FAISS, CPU) at matchednlistacross annprobesweep (build time, single-query latency, batched throughput, recall@k vs exact ground truth). On an NVIDIA H200 at 1M x 768 vectors (nlist=4096, 8 CPU threads): ~13x faster build and, at nprobe=32, ~6.5x lower single-query latency / ~75x higher batched throughput at comparable recall (GPU latency stays ~flat while CPU grows linearly with nprobe). - Docs:
docs/flashlib_backend_guide.mdgains aflashlib_ivfsection.