You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+22-1Lines changed: 22 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,6 +10,26 @@ for the per-release rationale and Definitions of Done.
10
10
11
11
## [Unreleased]
12
12
13
+
## [0.33.0] — Unburdened — 2026-07-04
14
+
15
+
### Added
16
+
17
+
-**Streaming, memory-bounded index build — the live wiring** ([ADR-0071](docs/adr/0071-streaming-rebuild-vector-source.md), completing [ADR-0070](docs/adr/0070-streaming-index-build.md) Increment B).
18
+
The IVF index rebuild — both the server's off-lock path (ADR-0062) and the
19
+
embedded open/`ensure_indexed` path — now streams its vectors from the immutable
20
+
on-disk `.vec` segments instead of materialising the whole `n·dim` corpus in a
21
+
resident `flat` array (~51 GiB at 100M×128). `Store::capture_vector_source`
22
+
reopens the referenced segments' `.vec``mmap`s as owned, lock-free handles that
23
+
a concurrent checkpoint cannot disturb; `scan_collection` captures one for a
24
+
dense IVF collection and rebuilds the (usually empty) sparse index from a
25
+
payload-only scan, and both rebuild entry points feed `Ivf::build_streaming`.
26
+
Peak build memory for the vectors drops from `O(n·dim)` to
27
+
`O(sample + nlist·dim + n·m_bytes)`; the corpus stays on disk, read on demand.
28
+
No on-disk or wire format change; defaults unchanged. The reference-hardware RSS
29
+
measurement (≥ 20M) is deferred to the dedicated box and no number is claimed —
30
+
the change lands on correctness tests (a rebuild spanning a reopened sealed
31
+
segment and the active buffer) and the code-level elimination of the arena.
32
+
13
33
## [0.32.0] — Streaming — 2026-07-04
14
34
15
35
Foundational work toward the single-box **100M** build, plus a cluster-search
@@ -928,7 +948,8 @@ and dynamic, elastic membership with online rebalancing behind a coordinator
928
948
SIMD kernels; REST + gRPC; encryption-at-rest by default; TLS via `rustls`; the
929
949
TUI MVP; the benchmark harness with first SIFT1M numbers; the Python SDK.
0 commit comments