Skip to content

0.14.0 — 2026-05-14

Choose a tag to compare

@github-actions github-actions released this 14 May 10:53
4da987a

Release Notes

v0.14.0 closes out the unified envelope API (#438): a single
RunStreamItem stream in pitboss-core::stream is now the canonical
read path for live + historical run state across CLI, TUI, and web.
The dispatcher accepts subscriber-mode client handshakes so multiple
read-only viewers (web SPA in two tabs, TUI mirror, a future pitboss tail) coexist on one run without displacing each other or the writer.
Op replies moved to the broadcast bus, which unblocks the web SSE
cutover and lands op replies in events.jsonl for post-run audit.

The [communication] plane now journals every mailbox / artifact
mutation to <run-dir>/communication/messages.jsonl; pitboss resume
rehydrates the pre-crash mailbox + artifact metadata + per-actor
activity counters so the resumed lead doesn't come back blind (#282).
A new run-wide audit log lands at <run-dir>/audit.jsonl (#414) —
every per-actor TaskEvent row tee'd into one chronological file with
actor_id attribution. Query via pitboss audit <run-id> (filters:
--actor, --kind, --since, --reason-kind) or GET /api/runs/:id/audit with the same surface as query params.

Highlights:

  • Unified envelope API (#438) — open_run_stream(StreamMode::ReplayThenLive) collapses the per-surface readers in pitboss-cli, pitboss-tui, and pitboss-web. PR-A through PR-Q close the arc.
  • Subscriber-mode handshakes (#438, PR-P) — ControlOp::Hello { mode: ClientMode } lets multiple read-only consumers coexist with one writer on a run's control socket.
  • Communication-plane resume (#282) — messages.jsonl journal + replay in CommunicationStore::new so pitboss resume doesn't lose pre-crash mailbox state.
  • Aggregated audit log (#414) — <run-dir>/audit.jsonl + pitboss audit CLI + GET /api/runs/:id/audit web endpoint with --actor / --kind / --since / --reason-kind filters.

Added

  • Per-run aggregated audit log + pitboss audit CLI + /api/runs/:id/audit (#470)
  • Persist mailbox + activity to messages.jsonl for resume (#469)
  • Web SSE bridge cutover to unified envelope API (#438, PR-Q) (#467)
  • Subscriber-mode client handshake for multi-consumer streams (#438, PR-P) (#466)
  • Live-socket transport for unified consumer API (#438, PR-N) (#464)
  • SPA Replay tab for persisted events.jsonl (#259, PR-K) (#454)
  • Pitboss events prints persisted control-event stream (#259, PR-J) (#461)
  • GET /api/runs/:id/events-jsonl serves persisted envelopes (#259, PR-I) (#452)
  • Persistent events.jsonl bus subscriber (#259, PR-H) (#451)
  • Events.jsonl writer + run-scoped seq counter (#259, PR-G) (#460)
  • Tail_run_stream — continuous disk-tail mode (PR-E of #438) (#458)
  • Live-side cutover to unified consumer (PR-D of #438) (#457)
  • Live + historical unified consumer (PR-C of #438) (#456)
  • Dispatcher-assigned seq on EventEnvelope (PR-B of #438) (#445)
  • Unified run-stream foundation (PR-A of #438) (#444)
  • Notify-driven watcher with periodic safety net (#441)
  • Incremental tail reader for summary.json[l] (#440)
  • Canonical summary.json[l] reader for TUI/web/CLI (#439)
  • Track lead+sublead token spend against budget_usd (#434)

Changed

  • Route status + diff through unified replay stream (#438, PR-M) (#463)
  • Rewire watcher onto tail_run_stream (PR-F of #438) (#459)

Dependencies

  • Bump the rust-minor-and-patch group across 1 directory with 4 updates (#442)
  • Bump sha2 from 0.10.9 to 0.11.0 (#278)

Fixed

  • Show in-progress children in graph inspector (#468)
  • Build pitboss-web SPA before dist build + cargo test (#436)
  • Close out sub-lead's own worker-row on termination (#432)
  • Exclude host user-scope claude settings inside containers (#430)
  • Dedupe summary.jsonl rows by task_id (run-view tabs crash) (#429)
  • Wrap connect timeout in async block (panic on launch) (#428)
  • Pr-gate stops requiring test job on docs-only PRs (#424)

pitboss-tui 0.14.0

Install pitboss-tui 0.14.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/SDS-Mode/pitboss/releases/download/v0.14.0/pitboss-tui-installer.sh | sh

Install prebuilt binaries via Homebrew

brew install SDS-Mode/pitboss/pitboss-tui

Download pitboss-tui 0.14.0

File Platform Checksum
pitboss-tui-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
pitboss-tui-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
pitboss-tui-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

pitboss-web 0.14.0

Install pitboss-web 0.14.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/SDS-Mode/pitboss/releases/download/v0.14.0/pitboss-web-installer.sh | sh

Install prebuilt binaries via Homebrew

brew install SDS-Mode/pitboss/pitboss-web

Download pitboss-web 0.14.0

File Platform Checksum
pitboss-web-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
pitboss-web-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
pitboss-web-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

pitboss-cli 0.14.0

Install pitboss-cli 0.14.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/SDS-Mode/pitboss/releases/download/v0.14.0/pitboss-cli-installer.sh | sh

Install prebuilt binaries via Homebrew

brew install SDS-Mode/pitboss/pitboss-cli

Download pitboss-cli 0.14.0

File Platform Checksum
pitboss-cli-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
pitboss-cli-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
pitboss-cli-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum