docs: changelog entry for HNSW integration and Python 3.14 build fix

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
This commit is contained in:
osobh
2026-06-03 10:10:31 +00:00
co-authored by Claude Opus 4.8
parent 48a0bd23aa
commit 4e2f4c3d2a
+26
View File
@@ -1,5 +1,31 @@
# Changelog # Changelog
## Unreleased
### New Features
- `clawhdf5-agent`: HNSW now backs the vector stage of `hybrid_search`. The
`hnsw` feature is **on by default**, so semantic search uses the approximate
`clawhdf5-ann` index instead of a linear cosine scan. The index mirrors the
memory cache (node id == cache index) and self-heals — it rebuilds whenever it
drifts from the cache length, so no mutation path can desync it. Non-indexable
stores (no/zero-dim/mixed embeddings) and dimension-mismatched queries fall
back to the exact linear scan. Disable with
`--no-default-features --features float16` for exact search.
- `clawhdf5-ann`: HNSW is now a live, mutable index — added `insert`,
`mark_deleted` (soft-delete bitset; deleted nodes are traversed for
connectivity but never returned), `compact` (drops deleted vectors and
renumbers survivors), and `new` (empty index). Serialization gains a format
version tag (`HNSW_FORMAT_VERSION` = 2) and persists the deleted bitset;
pre-existing v1 files still load.
- `clawhdf5-agent`: `hybrid::merge_vector_keyword` exposes the shared
normalize-and-fuse step used by both the linear and HNSW vector paths.
### Bug Fixes
- `clawhdf5-py`: upgrade PyO3 and numpy `0.23``0.28` so the bindings build on
Python 3.14 (PyO3 0.23 capped at 3.13 and hard-failed `cargo build
--workspace`). Updated for the removed `PyObject` alias (`Py<PyAny>`) and the
`Python::allow_threads``Python::detach` rename.
## v2.1.0 (2026-04-12) ## v2.1.0 (2026-04-12)
### New Features ### New Features