docs: RELEASES.md entry for 8.0.11 (exit-hang class closed for every op shape)

This commit is contained in:
David Snelling 2026-07-02 17:38:34 -07:00
parent 9617954197
commit 4fde94bc2f

View file

@ -10,6 +10,18 @@ Full auto-generated changelog: `CHANGELOG.md` · Releases: https://github.com/so
--- ---
## v8.0.11 — 2026-07-02 (no script shape can hang on brainy's internals)
Completes v8.0.10's exit fix for every operation class. Two further mechanisms found and fixed:
the `beforeExit` auto-flush hook looped forever on any script that never reaches `close()` (Node
re-emits `beforeExit` after each event-loop drain and the async flush schedules new work — it now
self-deregisters before its single flush, which still lands your buffered data before exit), and
every background-maintenance interval (graph auto-flush, LSM compaction, metadata write-buffer,
VFS/path-cache maintenance, statistics debounce) is now unref'd at creation. Verified against the
published package: an `add + relate` script exits cleanly both with `close()` (~0.5 s) and with no
teardown at all — with the data confirmed durable on reopen. A per-operation-class sweep test now
asserts no ref'd timer survives `close()`, so this bug class stays closed.
## v8.0.10 — 2026-07-02 (a bare script exits cleanly after `close()`) ## v8.0.10 — 2026-07-02 (a bare script exits cleanly after `close()`)
A minimal `init → add → close` script used to hang forever after `close()` returned — brainy held A minimal `init → add → close` script used to hang forever after `close()` returned — brainy held