Commit graph

396 commits

Author SHA1 Message Date
d08679fc84 chore(release): 8.9.0 2026-07-19 14:02:25 -07:00
a16567d626 chore(release): 8.8.2 2026-07-19 11:18:18 -07:00
a544225872 chore(release): 8.8.1 2026-07-18 10:57:30 -07:00
120205b69c chore(release): 8.8.0 2026-07-17 18:41:27 -07:00
dcd5036fe9 chore(release): 8.7.1 2026-07-17 17:15:13 -07:00
e450e0eedf chore(release): 8.7.0 2026-07-17 16:54:40 -07:00
e0f6e7722f chore(release): 8.6.0 2026-07-17 16:38:18 -07:00
07144ead86 chore(release): 8.5.2 2026-07-17 16:03:37 -07:00
01a7f3dd01 chore(release): 8.5.1 2026-07-17 09:29:58 -07:00
d60619c83b chore(release): 8.5.0 2026-07-15 12:49:09 -07:00
70886da548 chore(release): 8.4.0 2026-07-15 11:24:48 -07:00
92299f27be chore(release): 8.3.3 2026-07-15 09:48:01 -07:00
1a3a493c27 chore(release): 8.3.2 2026-07-14 11:57:00 -07:00
d9fa3be648 chore(release): 8.3.1 2026-07-14 10:14:38 -07:00
c40a89e649 chore(release): 8.3.0 2026-07-13 15:21:52 -07:00
7b75f932d4 chore(release): 8.2.8 2026-07-13 13:26:41 -07:00
36d4e80ba2 chore(release): 8.2.7 2026-07-13 12:18:26 -07:00
76843b782e chore(release): 8.2.6 2026-07-13 10:59:55 -07:00
ffd81ea206 chore(release): 8.2.5 2026-07-12 12:27:01 -07:00
036e56c9f9 chore(release): 8.2.4 2026-07-12 09:21:02 -07:00
b3e8d47d46 chore(release): 8.2.3 2026-07-12 08:59:28 -07:00
a9fc1f3f9b chore(release): 8.2.2 2026-07-11 13:48:47 -07:00
41dc307bb9 chore(release): 8.2.1 2026-07-10 18:10:52 -07:00
3688d5ce88 chore(release): 8.2.0 2026-07-10 16:47:45 -07:00
841443db4e chore(release): 8.1.0 2026-07-10 11:27:20 -07:00
ee3db2aae4 chore(release): 8.0.17 2026-07-08 15:52:24 -07:00
716a8513bf chore(release): 8.0.16 2026-07-08 15:16:39 -07:00
7146ce3544 chore(release): 8.0.15 2026-07-08 14:58:14 -07:00
b6c4d693cd chore(release): 8.0.14 2026-07-07 16:10:45 -07:00
9d5eb33c97 chore(release): 8.0.13 2026-07-07 15:52:49 -07:00
4341272c56 chore(release): 8.0.12 2026-07-07 12:28:42 -07:00
9617954197 chore(release): 8.0.11 2026-07-02 17:36:58 -07:00
9588fffc95 chore(release): 8.0.10 2026-07-02 17:02:30 -07:00
ef2022ffd3 chore(release): 8.0.9 2026-07-02 16:24:09 -07:00
b37359e097 chore(release): 8.0.8 2026-07-02 15:47:47 -07:00
99d526d394 chore(release): 8.0.7 2026-07-02 15:19:17 -07:00
48bea9e20f chore(release): 8.0.1 2026-07-02 15:16:24 -07:00
a3c2717ddb chore(release): 8.0.0 2026-07-02 14:47:27 -07:00
3f4947fc92 chore(release): 8.0.0-rc.9 2026-07-01 12:46:49 -07:00
ca9129a924 chore(8.0): modernize toolchain + position Bun as a runtime
Consumer-invisible modernization pass — no public API or runtime-behavior
change; dist for the override-only files is byte-identical.

Toolchain:
- CI: GitHub Actions matrix — Node 22/24 (test:unit) + Bun latest (test:bun).
- engines: node ">=22" (was "22.x"), bun ">=1.1.0".
- tsconfig: isolatedModules + noImplicitOverride; add the 33 `override`
  modifiers the flag requires across storage/integrations/vfs/transaction.
- deps: @types/node ^22; add prettier; drop dead standard-version,
  @rollup/plugin-* and the redundant embedded eslintConfig (flat
  eslint.config.js is the active config — verified identical lint output).

paramValidation: replace the top-level `await import('node:os'/'node:fs')`
with static ESM imports. The top-level-await form poisoned the module graph;
static imports also drop the browser/edge fallback branches no supported
runtime reaches (8.0 is Node/Bun/Deno-only).

Bun positioning: recommend Bun as a runtime (`bun add` / `bun run`), which is
green (test:bun 8/8). Drop single-binary `bun build --compile` as a target —
native addons cannot embed into it, and Bun 1.3.10 has a `--compile` codegen
regression around top-level await. Rename the Bun test to bun-runtime-test.ts
and correct docs that overclaimed single-binary support.

Gates: typecheck 0, build 0, test:unit 1743/1743, test:bun 8/8.
2026-07-01 09:16:46 -07:00
ae55d54cb5 chore(release): 8.0.0-rc.8 2026-06-30 13:41:17 -07:00
b6b919890c feat(8.0): no-freeze auto-upgrade hooks — isMigrating() deference + stampBrainFormat() + brain-format export
Three hooks so a native provider can run a non-blocking, online, background
build-new→verify→swap index migration on a large-brain upgrade while brainy stays
out of the way — no minutes-long blocking rebuild-on-open/first-query.

- isMigrating?(): boolean — OPTIONAL on MetadataIndexProvider / GraphIndexProvider /
  VectorIndexProvider (mirrors isReady?()/init?(), feature-detected). While a
  provider reports migrating, brainy SKIPS its rebuild for that index — per-index,
  so a non-migrating sibling still rebuilds; skipped even under epoch-drift or
  size()===0 — in both rebuildIndexesIfNeeded and the lazy first-query force path.
  The provider serves correct reads from canonical until it verifies-and-swaps.
- brain.stampBrainFormat() — public; the provider calls it once its background swap
  verifies, so brainy authors dataFormat (the provider never does). brainy withholds
  its own marker stamp while any provider is migrating, so the shared epoch is never
  advanced ahead of a deferred index.
- ./brain-format export — the marker module's EXPECTED_INDEX_EPOCH / CURRENT_DATA_FORMAT
  are importable so a native provider shares the constant (no duplicate = no
  lockstep-drift). 8-case test; unit 1743 green.
2026-06-30 13:37:23 -07:00
bd6faf7499 chore(release): 8.0.0-rc.7 2026-06-30 10:34:21 -07:00
855298ab79 chore(release): 8.0.0-rc.6 2026-06-29 12:27:14 -07:00
9bfba637da chore(release): 8.0.0-rc.5 2026-06-29 10:35:51 -07:00
8d5032bee5 chore(release): 8.0.0-rc.4 2026-06-24 15:54:52 -07:00
03d654061f build(8.0): clean dist before every build so stale artifacts never ship
The incremental `tsc` build never removed dist output for source files
deleted in earlier refactors, so a cluster of 5-month-old artifacts kept
shipping in the published package — an entire orphaned native module tree
(dist/native/*, the Native* graph/metadata adapters, the mmap adapter)
whose source was removed when those responsibilities moved behind the
provider boundary. Nothing in the live tree imported them; they were dead
weight in every tarball, carrying stale type signatures with no source.

Add a `clean` script (cross-platform `fs.rmSync`) and a `prebuild` hook so
every build — including the `prepare` build that runs on publish — starts
from an empty dist. Verified: a planted stale file is wiped on the next
build, and a clean rebuild drops the entire orphaned tree.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 15:18:26 -07:00
6991bbe3d2 chore(release): 8.0.0-rc.3 2026-06-23 16:06:20 -07:00
89c4b7016c chore(release): 8.0.0-rc.2 2026-06-21 10:45:28 -07:00
0a36b3329d chore(release): 8.0.0-rc.1 2026-06-20 14:50:44 -07:00