Skip to content

Commit 421c712

Browse files
release: v0.29.0 — the task-layer round-out + hardening release (#537)
Cut v0.29.0. Highlights (full detail in CHANGELOG [0.29.0]): - task_self (#526) + task_detach (#530): tasks learn their own id and fire-and-forget tasks reap their handle slot — the 255-task cap now bounds concurrent tasks, not lifetime spawns; task_kill no longer poisons the ready queue. - Three deep runtime fixes surfaced by the liferaft #523 migration: the JIT is task-gated at every entry point (#533), same-instant sleeper wakes are allocation-history-independent (#535), and dict_remove no longer inflates its hash table exponentially. - lib/supervise (#409), lib/sync + must_not_yield (#488), catchable deadlock (#509), args on the tape (#471), eigs.json lint allow-list (#455), W018 (#469), silent-tolerance audit cleared (#490-#512). VERSION, CHANGELOG section, CLAUDE.md latest-release line, and docs/llms.txt stamp move together (doc_drift rule 2 resolves when the dispatch creates the v0.29.0 tag). Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
1 parent 54364ec commit 421c712

4 files changed

Lines changed: 17 additions & 15 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ All notable changes to EigenScript are documented here.
44

55
## [Unreleased]
66

7+
## [0.29.0] - 2026-07-10
8+
79
### Added
810
- **`task_detach` — fire-and-forget tasks reap their handle slot (#530).**
911
Finished tasks were never removed from the 255-slot handle table before

CLAUDE.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -125,19 +125,19 @@ bash tools/embed_stack_soak.sh # embed REPL soak inside a 64 KiB stack rlimit (
125125

126126
## Current state & where the detail lives
127127

128-
- **Latest release: v0.28.0** (2026-07-08) — the concurrency release: the
129-
deterministic cooperative task layer (#408) — `task_spawn`/`task_yield`/
130-
`task_join`/`task_alive`, mailboxes (`task_send`/`task_recv`/
131-
`task_try_recv`/`task_kill`), virtual time (`task_sleep`/`task_now`), and a
132-
seeded scheduling strategy (`task_sched_seed`), all deterministic by
133-
construction (byte-identical across runs, zero tape `N` records) on a single
134-
OS thread so the JIT stays live; structured runtime errors (#406, BREAKING —
135-
`catch` binds `{kind, message, line}`), parse-error source excerpt + caret
136-
(#407), scope-precise E003 undefined-name lint (#404), observer surface
137-
coherence (#412, unity horizon + real `how` gradient), and correctness fixes
138-
(#459 `dispatch` rebinding + builtin-shadow lint derivation, #410 JIT
139-
back-edge abort poll, #460 `# lint: loaded-by`). (v0.27.0, 2026-07-06: the
140-
tooling-and-contracts release.) Unreleased
128+
- **Latest release: v0.29.0** (2026-07-10) — the task-layer round-out +
129+
hardening release: `task_self` (#526), `task_detach` (#530 — tasks reap at
130+
finish/kill, the 255 cap now bounds CONCURRENT tasks, `task_kill` no longer
131+
poisons the ready queue), THREE deep scheduler/runtime fixes surfaced by
132+
the liferaft #523 migration (JIT task-gate at every entry point #533 — task
133+
code truly runs interpreted now; allocation-history-independent sleeper
134+
wake order #535; `dict_remove` exponential hash-table inflation),
135+
`lib/supervise` observer-native supervision (#409), `lib/sync` locks +
136+
`must_not_yield` (#488), catchable `deadlock` (#509), `args` on the trace
137+
tape (#471), per-file lint allow-list (#455), W018 error-kind near-miss
138+
lint (#469), the silent-tolerance audit cleared (#490#512), and the #483
139+
suspended-main-slice leak fix. (v0.28.0, 2026-07-08: the concurrency
140+
release — the #408 cooperative task layer, structured errors #406; tooling-and-contracts release.) Unreleased
141141
work on `main`: see CHANGELOG.md `[Unreleased]`. Full version history:
142142
**CHANGELOG.md** (don't re-narrate it here — tools/doc_drift_check.sh
143143
now FAILS the suite when this line falls behind the latest tag). Roadmap:

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.28.0
1+
0.29.0

docs/llms.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# EigenScript — single-file reference for language models
22

3-
> EigenScript v0.28.0. A small dynamically-typed language with one distinctive
3+
> EigenScript v0.29.0. A small dynamically-typed language with one distinctive
44
> feature: an **observer** tracks every value's entropy/trend on each
55
> assignment, so convergence, stability, and oscillation are first-class. This
66
> file is the whole surface you need to generate correct `.eigs`. Models

0 commit comments

Comments
 (0)