Repository navigation
Releases: atomicstack/progress-bar-3000
Release list
v0.6.1 — verified tmux server context
tmux server-context safeguards
tmux-startparses the socket, server pid, and session id fromTMUX, validates the context, and explicitly passes-Sfor every tmux operation, including rollback and completion cleanup.- startup rejects malformed context or a live server pid that differs from the inherited pid before creating a pane, even when the same pane id exists on that server.
- missing parent panes now produce an actionable stale-context error instead of an empty-window-id error.
- the agent skill clarifies that the mod replaces the skill only for claude code; codex continues using the skill and binary. recovery guidance requires a verified socket-and-pane pair and prohibits default-server assumptions or rewriting snapshots to bypass mismatches.
- plugin metadata and download links updated to 0.6.1.
downloads and verification
four ready-to-run archives: macos (darwin) and linux, each for arm64 and amd64. each includes the executable, readme, license, demos, example phase files, agent skill/plugin files, and claude code mod. verify archive hashes against checksums.txt. macos binaries are not notarized.
validation: full go test suite, go vet, 13 claude plugin tests, and a live two-server isolation test with identical pane ids passed. the extracted darwin arm64 archive passed native bootstrap, update, frame, completion, and cleanup checks, plus its packaged plugin tests. darwin amd64 and both linux binaries were cross-compiled and their architectures verified; they were not executed for this release.
v0.6.0 — claude code mod
claude code mod
- new
claude-code-mod/: a claude code mod that drives the renderer in place of the skill. it gives the model one tool,mcp__progress-bar-3000__progress, which takes batches of the usual event lines (@value 1,@phase-name test, json objects). - the first batch must start with
@set-phases a,b,cor a jsonresetthat carriesphases. the mod runstmux-startfor it and clears the new pane'spane-border-format. every later batch goes throughsend, and the model gets the renderer's error when a batch is rejected. - the mod closes only its own pane, after checking the pane's pid, either on
@closeor when the session ends, and it removes the pane's socket directory. at 100%, the cleanup hook registered bytmux-startcloses the pane as before. the mod refuses@on-complete, because it would replace that hook. - claude code itself draws nothing, so the bar costs the prompt's ui thread nothing and typing stays responsive.
- the mod uses the
progress-bar-3000binary beside its own directory, which is the archive root or a checkout aftermake build, following a symlinked install such as~/.claude/skills/progress-bar-3000. thebinaryoption overrides it. - the mod is named
progress-bar-3000, the same as the skill plugin at the archive root, so install one or the other. the skill is unchanged for codex and other agents. - readme and plugin versions (0.6.0) updated. the renderer is unchanged from v0.5.0.
ready-to-run downloads
choose the macos (darwin) or linux archive that matches your machine, for arm64 or amd64. apple silicon macs use darwin_arm64, and intel macs use darwin_amd64. extract the archive and run the executable; go and make are not required.
each archive includes the executable, readme, license, rgb demos and animation reel, example phase files, the agent skill and plugin files, and the claude code mod. check the archives' sha256 hashes against checksums.txt. the macos binaries are not notarized.
testing for this release:
- darwin arm64: run natively, covering the tmux bootstrap, update and auto-close flow. the mod's tests also pass inside the extracted archive.
- linux amd64: the same tmux flow ran in an emulated amd64 container (podman on apple silicon).
- linux arm64: ran its help output in a container.
- darwin amd64: cross-compiled only and not run.
v0.5.0 — composable animations, startup hook and bubble tea v2
composable animations, startup hook and bubble tea v2
--tint-animationnow takes a comma-separated list, e.g.--tint-animation interference,edge-glow,milestone-ripple. new effects:interferencemoves light through the fill,edge-glowbreathes at the fill boundary, andmilestone-rippleruns once after a forward value/tick/increment update. any subset combines with the existingpulse,shimmerandcycle; order does not matter and unknown names fail validation.assets/demos/animation-reel.htmlshows each effect and a combined reel.--on-start 'command'runs a shell command once when the renderer starts, after its socket is listening, and always finishes before any completion hook. a renderer in a tmux pane inheritsTMUX_PANE, so the hook can style its own pane.- behaviour change:
tmux-startno longer empties the new pane'spane-border-formatby default. passtmux-start --clear-border-formatto keep the previous behaviour; the border line itself remains either way. - migrated to bubble tea v2 (
charm.land/bubbletea/v2). v2's renderer erases below the bar on every full redraw and on exit, which tmux treats as a full clear from a dedicated pane's home position and scrolls into history. the renderer output rewrites those erases row by row, so resizing or zooming a progress pane no longer leaves duplicate bars in scrollback. colour output is unchanged for every--color-mode. --color-mode autonow detects the profile with charm's colorprofile: the best of the environment, terminfo and, inside tmux,tmux info'sTc/RGBflags. an rgb-capable tmux now gets truecolor where earlier releases chose 256 colours. explicit modes are passed to the renderer unchanged.- readme, agent skill and plugin version (0.5.0) updated.
sender and renderer from v0.4.0 or newer remain protocol-compatible. the new flags need a v0.5.0 renderer.
ready-to-run downloads
choose the matching macos (darwin) or linux archive for arm64 or amd64. apple silicon uses darwin_arm64; intel macs use darwin_amd64. extract and run the executable; go and make are not required.
archives include the executable, readme, license, rgb demos and animation reel, example phase files, and agent skill/plugin files. verify archive sha256 hashes using checksums.txt. macos binaries are not notarized. native linux amd64 execution is verified, including the tmux bootstrap, update and auto-close flow; other architectures are cross-compiled static binaries inspected without execution on those target systems.
v0.4.0 — agent commands and full-width progress
agent commands and full-width progress
- start an initialized two-row progress pane with
progress-bar-3000 tmux-start --phases build,test,review --total 3 --width full --auto-close. it targets the agent's ownTMUX_PANE, sizes the pane and starts the renderer in one split invocation, and returns json handles. - send updates in one line with
progress-bar-3000 send --socket-path /actual/socket/path '@value 1' '@phase-name test'. arguments, newline-delimited stdin and json events are supported. - delivery succeeds only after the renderer acknowledges applying the complete batch. missing/refused sockets, rejected requests and missing acknowledgements exit nonzero. completion hooks start after the reply, allowing the final update to succeed before pane cleanup.
--width fullfits bars and surrounding text within the terminal viewport, including unicode text and multiline templates. the existing numeric0default remains a 90% bar.- overlong unix socket paths report their byte length and platform limit before binding. bootstrap chooses a short private socket directory and cleans up owned resources on startup failure or completion.
- streamlined agent skill and updated readme with helper defaults, combined phase/subphase/progress examples and honest milestone guidance. plugin version is 0.4.0.
an acknowledgement confirms applied state, not rendered pixels or hook success. a lost reply is ambiguous: do not blindly retry increments. use v0.4.0 or newer for both sender and renderer; legacy raw event clients remain supported.
ready-to-run downloads
choose the matching macos (darwin) or linux archive for arm64 or amd64. apple silicon uses darwin_arm64; intel macs use darwin_amd64. extract and run the executable; go and make are not required.
archives include the executable, readme, license, rgb animated demos, example phase files, and agent skill/plugin files. verify archive sha256 hashes using checksums.txt. macos binaries are not notarized. native macos arm64 execution is verified; other architectures are cross-compiled and inspected without execution on those target systems.
v0.3.0 — sub-phases and adaptive width
sub-phases and adaptive width
- declare one-level sub-phase plans in json phase files or json reset events, mixing plain names with objects such as
{"name":"build","subphases":["compile","link"]}. - add or replace children at runtime with
@set-subphasesor jsonset_subphases. select independently with@subphase,@subphase-name, or jsonsubphase. - update progress and labels atomically:
{"type":"value","value":42,"phase":"build","subphase":"link"}.tickalso accepts optional parent/child labels; separate updates remain supported. - render the selected child after the active parent as
build [link], with remembered selections per parent. children do not change totals or trigger completion hooks. - default bar width is now 90% of terminal columns and follows resizing. explicit flag/template widths remain fixed.
- expanded readme and agent skill, startup examples, regression tests, and a new lossless rgb animated demo. plugin version is 0.3.0.
ready-to-run downloads
choose the matching macos (darwin) or linux archive for arm64 or amd64. apple silicon uses darwin_arm64; intel macs use darwin_amd64. extract and run ./progress-bar-3000 --help; go and make are not required.
archives contain the executable, readme, license, demos, example phase files, and agent skill/plugin files. sha256 hashes are in checksums.txt. macos binaries are not notarized. native macos arm64 execution is verified; the other architectures are cross-compiled and inspected, without execution on those target systems.
v0.2.0 — completion hooks
completion hooks
- configure a startup hook with
--on-complete 'command'. - register or replace one at runtime with
@on-complete commandor{"type":"on_complete","command":"..."}over the socket or stdin. - agents can register
tmux kill-pane -t <captured-pane-id>once and have their progress pane close automatically at completion. - hooks fire once when the actual value reaches or exceeds a positive total. repeated completion updates do not repeat the hook; resets preserve and re-arm it. an empty command clears it.
- late registration on an already completed run fires immediately if no hook has fired. partial eof or cancellation does not trigger a hook.
commands run through /bin/sh -c without stdin, with output sent to stderr. hooks execute serially without blocking redraws. orderly shutdown, including ctrl-c, waits for queued hooks, and hook failures make the eventual exit nonzero. hooks have no timeout and must finish on their own. pane removal can terminate its subprocesses: put other cleanup before tmux kill-pane, or leave it to the caller.
other changes
- socket permissions are now
0600; keep the socket directory private and accept only trusted producers, since clients can configure shell commands. - the bundled agent skill now registers exact-pane automatic cleanup and verifies pane removal.
- updated documentation and tests for completion, resets, eof, runtime updates, and hook failures.
- bundled plugin version is now
0.2.0.
downloads
macos (darwin) and linux archives are available for amd64 and arm64. apple silicon uses darwin_arm64; intel macs use darwin_amd64. extract the matching archive and run ./progress-bar-3000 --help; go is not needed for prebuilt binaries.
archives include the executable, readme, license, demos, and agent skill/plugin manifest. verify downloads against checksums.txt using sha256sum -c checksums.txt on linux or shasum -a 256 -c checksums.txt on macos; entries for archives you did not download report missing files.
native macos arm64 execution was checked. other platforms were cross-compiled and inspected but not run on target systems. macos binaries are not notarized.
v0.1.0
first public release of progress-bar-3000, a terminal progress renderer for scripts and agents.
- smooth rgb gradients, seven fill styles, and pulse, shimmer, or cycle animations.
- phase plans, labels, metadata, rates, eta, and customizable detail rows.
- plain lines, numeric values, control commands, and json over stdin or a unix socket.
- bundled agent skill, full-colour animated demos, and mit license.
- includes the socket shutdown race fix, verified with the race detector.
downloads
choose the archive for your operating system and architecture, extract it, and run ./progress-bar-3000 --help. macos uses the darwin archives; apple silicon uses arm64, and intel uses amd64. linux archives are provided for amd64 and arm64.
archives include the executable, readme, and license. verify downloads against checksums.txt with sha256sum -c checksums.txt on linux or shasum -a 256 -c checksums.txt on macos (checks for archives you did not download will report missing files).
stdout must be a terminal. use socket mode for workflows where a failed producer must not imply completion. prebuilt binaries do not require go. native macos arm64 execution was checked; the other binaries were cross-compiled and inspected but not run on their target systems. macos binaries are not notarized.