Skip to content

Releases: atomicstack/progress-bar-3000

v0.6.1 — verified tmux server context

Choose a tag to compare

@atomicstack atomicstack released this 04 Oct 23:09

tmux server-context safeguards

  • tmux-start parses the socket, server pid, and session id from TMUX, validates the context, and explicitly passes -S for 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

Choose a tag to compare

@atomicstack atomicstack released this 01 Oct 23:06

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,c or a json reset that carries phases. the mod runs tmux-start for it and clears the new pane's pane-border-format. every later batch goes through send, 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 @close or when the session ends, and it removes the pane's socket directory. at 100%, the cleanup hook registered by tmux-start closes 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-3000 binary beside its own directory, which is the archive root or a checkout after make build, following a symlinked install such as ~/.claude/skills/progress-bar-3000. the binary option 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

Choose a tag to compare

@atomicstack atomicstack released this 27 Sep 22:57

composable animations, startup hook and bubble tea v2

  • --tint-animation now takes a comma-separated list, e.g. --tint-animation interference,edge-glow,milestone-ripple. new effects: interference moves light through the fill, edge-glow breathes at the fill boundary, and milestone-ripple runs once after a forward value/tick/increment update. any subset combines with the existing pulse, shimmer and cycle; order does not matter and unknown names fail validation. assets/demos/animation-reel.html shows 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 inherits TMUX_PANE, so the hook can style its own pane.
  • behaviour change: tmux-start no longer empties the new pane's pane-border-format by default. pass tmux-start --clear-border-format to 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 auto now detects the profile with charm's colorprofile: the best of the environment, terminfo and, inside tmux, tmux info's Tc/RGB flags. 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

Choose a tag to compare

@atomicstack atomicstack released this 14 Sep 02:28

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 own TMUX_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 full fits bars and surrounding text within the terminal viewport, including unicode text and multiline templates. the existing numeric 0 default 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

Choose a tag to compare

@atomicstack atomicstack released this 13 Sep 18:19

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-subphases or json set_subphases. select independently with @subphase, @subphase-name, or json subphase.
  • update progress and labels atomically: {"type":"value","value":42,"phase":"build","subphase":"link"}. tick also 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

Choose a tag to compare

@atomicstack atomicstack released this 13 Sep 01:36

completion hooks

  • configure a startup hook with --on-complete 'command'.
  • register or replace one at runtime with @on-complete command or {"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

Choose a tag to compare

@atomicstack atomicstack released this 12 Sep 16:22

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.