release: v0.30.0 — debugging-and-distribution + the first-consumer wave#592
Merged
Conversation
Cut v0.30.0. Highlights (full detail in CHANGELOG [0.30.0]): - Time-travel debugging: --step tape stepper with observer-trajectory labels (#418), tape format v2 scope-qualified locals (#539), runtime carets + token-precise LSP ranges (#407 residual). - Distribution: --bundle single-file executables with attached-tape executable bug reports (#413). - Observer: raw-step diverging/oscillating signals (#422) + trajectory snapshots across call boundaries (#421). - The DeslanStudio first-consumer wave: entropy cycle/DAG detection (#571), O(1) borrow scan (#546) + sanitizer borrow guard (#548), keyword dot keys (#542), lib/ui input-event trio (#567-#569), audio capture (#579) + buffer playback (#578), read_line (#558), is_dir (#576), json exponents (#557), W013/W019/LSP/load_file tooling batch. 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.30.0 tag). Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cut v0.30.0 (v0.29.0 was 2026-07-10; twelve substantive merges since).
Theme: debugging-and-distribution tooling plus the first-consumer findings wave from the DeslanStudio port.
--steptape stepper with observer-trajectory labels per step (eigsdap v1: a CLI tape-stepper (step forward/back, bindings + trajectories); DAP/VS Code only after locals ride the tape #418), tape format v2 scope-qualified locals (eigsdap v2/v3: scope-qualified locals on the tape, then a DAP server (stepBack/reverseContinue in VS Code) #539), runtime-error carets + token-precise LSP ranges (Runtime-error carets + token-precise LSP ranges (residual of #407) #407 residual)--bundlesingle-file executables, optionally with an attached tape = an executable bug report (--bundle: single-file distribution (script + eigs_modules appended to the runtime binary; optional attached tape) #413)trajectory of/classify ofsnapshots across call boundaries (Trajectory contracts across a call boundary: the observer slot is binding-identity, so a value's history can't be inspected by a function it's passed to #421)len of xsloops quadratic #546) + sanitizer borrow-scan guard (Debug-build guard for the #546 borrow-scan cap: full-scan past the cap and abort on a missed borrow #548), keyword dot keys (Dot access rejects keyword-named fields (d.loop,d.in,d.when) — keys reachable by literal, bracket, and json_decode are unreachable by.#542), lib/ui input-event trio (lib/ui: canvas on_mouse never receives mousemove — no drag interactions possible on a custom-painted widget #567–lib/ui: wheel events cannot reach a canvas — no on_wheel seam, registry scroll is scroll_panel-shaped #569), gfx audio capture (gfx audio: no audio INPUT/capture builtin (SDL recording unexposed) #579) + buffer playback (gfx audio: audio_play / audio_play_loop reject VAL_BUFFER samples (list-only) #578),read_line(No stream-safe stdin read:read_text of "/dev/stdin"is empty on a pipe, and there is noread_linebuiltin #558),is_dir(no is_dir/stat builtin — directory detection needs the file_exists of "path/." probe #576), RFC 8259 json exponents (json_decode rejects exponent notation in numbers (1e-06) — RFC 8259 violation #557), W013/W019/LSP/load_filetooling batch (lint: W013 (builtin shadowed) is reported against the NEXT statement, defeating same-line# lint: allow W013#556/lint: no warning when a question-word "assignment" (why is x) silently parses as a discarded interrogative #583/LSP completion advertises aninputbuiltin that does not exist #559/load_fileprints an unconditional "[load_file] Loading ..." banner to stderr — consumer apps cannot ship quiet #560)Mechanics: VERSION, CHANGELOG
[0.30.0]section, CLAUDE.md latest-release line, and docs/llms.txt stamp move together. doc_drift rule 2 (release line vs latest tag) resolves when the Release dispatch creates thev0.30.0tag, per the Releasing section.After merge: dispatch the Release workflow, then the consumer pin sweep.
🤖 Generated with Claude Code