docs: dedupe the 8.10.2 release-notes entry the cherry doubled onto the branch

This commit is contained in:
David Snelling 2026-08-03 12:04:40 -07:00
parent 958a085926
commit 8c95660874

View file

@ -31,30 +31,6 @@ is sometimes cited as a 7.x removal — those methods never existed on 7.x; the
--- ---
## v8.10.2 — 2026-07-29 (metadata-only updates stop rewriting the vector record)
From a production incident on a large deployment: a read-heavy sweep that bumped
per-entity stats (metadata-only `update()` calls) saturated the disk — 5.8GB written
in 40 minutes — because every `update()` unconditionally re-persisted the WHOLE noun
record, unchanged vector included, fsynced.
- **`update()` write granularity fixed at the core.** A metadata-only update (no new
`data`, `vector`, or `type`) now writes the metadata leg and index deltas ONLY —
the vector-bearing noun record is never rewritten. Vector-side writes and HNSW
reindexing still happen exactly when the vector side actually changed. Regression
pins: `tests/integration/update-write-granularity.test.ts`.
- **Consumer guidance:** per-entity stat touches are now cheap, but batch them anyway
(one `transact()` instead of N `update()` calls) — granularity fixes the cost per
touch; batching fixes the count.
- Idle VFS `PathResolver` no longer logs `NaN% hit rate` once a minute (stats log
only on new traffic, at debug level).
- Native graph providers' `graph-lsm-*` storage keys are recognized as system
resources — the per-boot `Unknown key format` warning for them is gone.
Pairs with the native accelerator's same-day patch release; adopt as one bump.
---
## Unreleased (natural field names stop colliding with engine internals) ## Unreleased (natural field names stop colliding with engine internals)
From a production report: sorting by a user metadata field named `level` silently From a production report: sorting by a user metadata field named `level` silently