docs(8.0): RELEASES rc.2 additions — graph engine + additive wins + correctness fixes

This commit is contained in:
David Snelling 2026-06-21 10:33:02 -07:00
parent c2a84c9d1f
commit 18f27cb16e

View file

@ -10,13 +10,13 @@ Full auto-generated changelog: `CHANGELOG.md` · Releases: https://github.com/so
---
## v8.0.0 — release candidate (`8.0.0-rc.1` published 2026-06-20 on npm tag `rc`)
## v8.0.0 — release candidate (`8.0.0-rc.2` published 2026-06-21 on npm tag `rc`)
**Affected products:** every consumer — this is a major release with removed
surfaces, hard renames (no aliases, no deprecation period), and one flipped
default. This entry **is** the migration guide: the find/replace pairs, the
sed snippet, and the upgrade checklist below are the complete story — there is
no separate migration doc. **`8.0.0-rc.1` is live** — install with
no separate migration doc. **`8.0.0-rc.2` is live** — install with
`npm i @soulcraft/brainy@rc` to try it; the `latest` tag stays on 7.x until GA.
> **rc.1 additions (this entry predates them — full writeup lands at GA):** entity-id
@ -32,6 +32,24 @@ no separate migration doc. **`8.0.0-rc.1` is live** — install with
> param, instead of the old silent remap-or-drop. Pass reserved values as their dedicated top-level
> params. Opt back into the legacy behavior with `new Brainy({ reservedFieldPolicy: 'warn' | 'remap' })`.
> **rc.2 additions (2026-06-21):**
> - **Graph performance + the `brain.graph` namespace.** New `brain.graph.subgraph(seeds, opts)`
> (bounded multi-hop neighborhood → `{ nodes, edges, truncated }`) and `brain.graph.export(opts)`
> (stream the whole graph in one O(N+E) pass — the right primitive for visualizing all data
> instead of paging per node). `related({ node })` returns every edge incident to an entity in
> **both directions** in one O(degree) call. Under the hood: `related({ from/to })` now stays
> O(degree) under the default visibility filter (was a full scan), and the verb **and** noun
> pagination walks are cursor-based, so a full edge/node walk is **O(N), not O(N²)** (a consumer
> measured a 19k-edge whole-graph read drop from ~27s toward a single scan). These transparently
> use a native graph engine when present (the `@soulcraft/cor` 3.0 acceleration layer) and fall
> back to pure-TS adjacency otherwise.
> - **Additive ergonomics:** `add({ upsert: true })` (create-or-update in one call — merges into an
> existing id instead of overwriting), `find({ includeVectors: true })`, and `removeMany`'s batch
> size is now storage-adaptive (was a hardcoded 10).
> - **Correctness fixes (apply to all consumers, not just graph users):** `related()` results now
> carry `visibility`; whole-graph/`getNouns` streaming no longer leaks `system`/`internal` entities;
> and small-page cursor walks over nouns no longer loop. No API change — just correct behavior.
### Headline: Database as a Value
8.0 replaces Brainy's two overlapping version-control subsystems (copy-on-write