From d1698fa5bee099ebf1cb22a7f60cc7a8784ade04 Mon Sep 17 00:00:00 2001 From: David Snelling Date: Mon, 10 Aug 2026 12:41:58 -0700 Subject: [PATCH] =?UTF-8?q?docs:=20RELEASES.md=20frames=20the=20release=20?= =?UTF-8?q?as=2010.0.0=20=E2=80=94=20honest=20major=20(log=20format=20v2?= =?UTF-8?q?=20forward-only);=20comment=20wording=20cleanup?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RELEASES.md | 13 +++++++++---- src/db/generationStore.ts | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index bce247e6..dad40589 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -31,12 +31,17 @@ is sometimes cited as a 7.x removal — those methods never existed on 7.x; the --- -## UNRELEASED — the write-path and lifecycle release (version set at cut) +## v10.0.0 — 2026-08-10 (the write-path and lifecycle release) The theme: **writes ack fast and honestly, startup adopts instead of rebuilding, and -every query path serves, announces, or refuses — never silently degrades.** Everything -below is on `main`, gated, and ships as one release together with the matching native -accelerator version. +every query path serves, announces, or refuses — never silently degrades.** Ships as +one release together with the matching native accelerator version. + +**Why a major:** the generation log gains write format v2 — new segments carry typed, +versioned records with integrity seals. A 9.x build refuses a v2 segment with a clear +version-naming error (never a misread), which means **a brain written by 10.x cannot +be opened by 9.x**. Existing v1 history stays readable forever; upgrading requires no +migration and no data touch — the format moves forward only as you write. ### New capabilities diff --git a/src/db/generationStore.ts b/src/db/generationStore.ts index 93a221ce..422f062f 100644 --- a/src/db/generationStore.ts +++ b/src/db/generationStore.ts @@ -953,7 +953,7 @@ export class GenerationStore { }): Promise<{ generation: number; timestamp: number }> { return this.withMutex(async () => { // A latched history-durability failure compromises the whole generation - // spine — refuse a transact too (advancing the manifest past stuck, + // chain — refuse a transact too (advancing the manifest past stuck, // un-durable single-op generations would be inconsistent). Same loud // error; self-clears when the pending tier drains. this.assertHistoryDurable()