docs(8.0): RELEASES.md — rc.5 hardening + the breaking operator removal

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
David Snelling 2026-06-29 10:30:44 -07:00
parent ddcc0c723d
commit 6c9a43816c

View file

@ -10,15 +10,30 @@ Full auto-generated changelog: `CHANGELOG.md` · Releases: https://github.com/so
--- ---
## v8.0.0 — release candidate (`8.0.0-rc.2` published 2026-06-21 on npm tag `rc`) ## v8.0.0 — release candidate (`8.0.0-rc.5` published 2026-06-24 on npm tag `rc`)
**Affected products:** every consumer — this is a major release with removed **Affected products:** every consumer — this is a major release with removed
surfaces, hard renames (no aliases, no deprecation period), and one flipped surfaces, hard renames (no aliases, no deprecation period), and one flipped
default. This entry **is** the migration guide: the find/replace pairs, the 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 sed snippet, and the upgrade checklist below are the complete story — there is
no separate migration doc. **`8.0.0-rc.2` is live** — install with no separate migration doc. **`8.0.0-rc.5` is live** — install with
`npm i @soulcraft/brainy@rc` to try it; the `latest` tag stays on 7.x until GA. `npm i @soulcraft/brainy@rc` to try it; the `latest` tag stays on 7.x until GA.
> **rc.3rc.5 additions (2026-06-24):**
> - **Showcase-quality GA hardening (rc.5).** A full readiness audit closed a cold-init
> version-coupling bug (a matched native provider could be rejected on first open), turned
> silent storage-read failures into named `BrainyError`s (no more empty-result-on-error),
> stopped the JS graph LSM from orphaning compacted SSTables, corrected the public docs to
> the real API, and documented the two headline methods. Plus a dead/deprecated-code sweep.
> - **BREAKING — 4 deprecated query operators removed.** `is``eq`, `isNot``ne`,
> `greaterEqual``gte`, `lessEqual``lte`. The canonical operators and their clean long-form
> aliases (`equals`/`notEquals`/`greaterThan`/`greaterThanOrEqual`/`lessThan`/`lessThanOrEqual`)
> are unchanged — only the four redundant spellings are gone. Find/replace if you used them.
> - **`find()` search mode** is now the single `searchMode: SearchMode` option (the redundant,
> silently-ignored `mode` alias and the unwired `explain` flag were removed from `FindParams`).
> - The phantom index-integrity guard (find() re-validates every result against its predicate)
> shipped in rc.3; rc.4 added the `accel.isInitialized` gate + #35 at-gen candidate vectors.
> **rc.1 additions (this entry predates them — full writeup lands at GA):** entity-id > **rc.1 additions (this entry predates them — full writeup lands at GA):** entity-id
> normalization — `brain.newId()` (UUID v7) + v7 default ids, and non-UUID string ids are > normalization — `brain.newId()` (UUID v7) + v7 default ids, and non-UUID string ids are
> transparently normalized to a stable UUID v5 (original key preserved under `_originalId`); > transparently normalized to a stable UUID v5 (original key preserved under `_originalId`);