v0.13.0 — the reliability release
stem v0.13.0 — the reliability release
First tagged release. Stem is a modal terminal editor built on
vigil, an Erlang/OTP-style
supervised runtime for Zig: it supervises itself, heals itself, and
can show you exactly what its runtime is doing.
Highlights
Self-healing language servers. Crashed LSP servers restart with
jittered exponential backoff behind per-language circuit breakers —
a crash-looping server stops burning CPU, and a half-open probe
recovers it automatically once the cause clears. The restart path that
could previously fire once per rendered frame is fixed and gated.
Self-healing workers. The syntax parse worker and workspace
indexer now run under a worker supervisor: if one dies, the watchdog
respawns it within ~2s and says so in the status bar.
Nothing fails silently. Undeliverable messages land in
inspectable dead-letter queues with reasons; poison messages trip a
hook; dead letters, open circuits, and crashes light a check-engine
indicator pointing at the live runtime cockpit
(stem.control_center).
Crash-safe sessions, cheaper. Recovery snapshots write through
vigil's checkpoint pipeline: background thread, atomic rename,
version-stamped, skipped entirely when nothing changed.
Vigil 3.0 under the hood. One injected telemetry pipeline (no
global state), graceful drain on shutdown (in-flight messages get
500ms to land, and stem records when they don't), and honest
supervision counters.
Faster editing plumbing (from the 2.3 line): condition-parked
receives (microsecond wake latency), ring-buffer mailboxes, batched
receive in the core loop, single-allocation messages, precise LSP
debounce via the runtime timer service, and flow control so a slow
plugin can't stall the cursor.
Plus: opt-in multi-instance presence (STEM_CLUSTER), a fuller
runtime health view (timers, alerts, dead letters, vigil debug dump),
and a public roadmap
through 0.15.0.
Install
Prebuilt binaries below (macOS arm64/x86_64, Linux x86_64/arm64):
tar xzf stem-<target>.tar.gz && sudo mv stem /usr/local/bin/
Or from source (Zig 0.16+): zig build -Doptimize=ReleaseFast
The ten-second demo
Open stem, run stem.control_center from the command palette
(Space f), then kill -9 your language server from another
terminal. Watch the editor notice, back off, recover, and log every
step.