Skip to content

Releases: cluesmith/codev

v3.0.0-rc.1

12 Mar 21:12

Choose a tag to compare

v3.0.0-rc.1 Pre-release
Pre-release

Changes

  • af tower stop --force-kill-all-child-processes: New flag that kills detached shellper processes and their children (claude, bash), not just the Tower daemon
  • SSE hard cap bumped from 12 to 50 for multi-workspace usage
  • Tower overview sort fix: Running workspaces alphabetical, recent workspaces reverse-chronological (most recent first)
  • GitHub handle validation relaxed: Accepts handles with trailing hyphens (e.g. timeleft--) to match what GitHub actually allows

v3.0.0-rc.0

08 Mar 10:57

Choose a tag to compare

v3.0.0-rc.0 Pre-release
Pre-release

Codev 3.0 Release Candidate 0

The essence of Codev 3 is team coordination. This release introduces the Team tab in Tower, enabling multi-developer visibility and communication.

New Features

Team Tab in Tower Dashboard

  • Team member profiles in codev/team/people/ with GitHub handle, role, and timezone
  • Real-time GitHub activity per member (assigned issues, open PRs, recent commits)
  • Append-only team messaging via codev/team/messages.md
  • af team list / af team message / af team update CLI commands
  • Tab auto-appears when 2+ valid team members are configured
  • Hourly auto-updates via .af-cron/team-update.yaml
  • Graceful degradation when GitHub API is unavailable
  • GitHub handle validation (invalid handles skipped with warnings)

Terminal Refresh

  • Refresh button now does a full terminal reset + reconnect instead of just SIGWINCH
  • Fixes corrupted terminal display that persisted after page reload

Bug Fixes (from v2.1.4 / v2.1.5)

  • Fixed cron task false alerts on command failures
  • Fixed af spawn --protocol bugfix failing on skeleton-based projects
  • Fixed AnalyticsView Recharts type compatibility

v2.1.5

07 Mar 04:01

Choose a tag to compare

Fix dashboard Recharts Tooltip formatter type error that broke CI builds.

v2.1.4

07 Mar 03:51

Choose a tag to compare

Bug Fixes

  • Bugfix protocol validation: af spawn --protocol bugfix now works on projects using codev-skeletonvalidateProtocol accepts protocol.json as alternative to protocol.md
  • Cron false alerts: Command failures (timeouts, rate limits) are logged as warnings instead of sending false positive alerts to the architect

v2.1.3

03 Mar 21:03

Choose a tag to compare

v2.1.3

Released: 2026-03-03

Summary

Stability patch fixing SSE connection leaks that caused the Tower dashboard to hang, plus E2E test and CI monitoring improvements.

Bug Fixes

  • SSE connection leak — dashboard spinner hang (#580): Tower dashboard would hang on reload showing an infinite spinner. Root cause: fetch+ReadableStream-based SSE connections don't auto-close like EventSource on page unload, exhausting Chrome's 6-per-origin connection limit. Fix: added beforeunload handler to abort SSE connections on page reload.
  • SSE tunnel ghost connections: Tunnel-proxied SSE connections accumulated indefinitely because both ends are localhost and TCP never detects the close. Fix: server-side max-age eviction (5 minutes) in the heartbeat loop. Clients auto-reconnect transparently.
  • Dashboard E2E test failure (#579): work-view-backlog test failed because PR wasn't included as a valid artifact link type. Fixed assertion to include all artifact types.
  • Architect command parsing (#578): Fixed flag parsing for architect commands.

Improvements

  • CI health cron: Cron alert now only fires when the latest run per workflow is failing, not when any historical failure exists in the lookback window. Eliminates false alerts from stale failures.
  • Dashboard E2E stability (#579, #582): Fixed test selectors, removed CI-incompatible tests, improved scheduled run reliability. CI now passes 47/47 tests with 0 failures.

Install

npm install -g @cluesmith/codev@2.1.3

v2.1.2

26 Feb 17:18

Choose a tag to compare

v2.1.2

Released: 2026-02-26

Summary

Stability and quality release with targeted bugfixes across porch, Tower, dashboard, and developer tooling, plus comprehensive documentation updates for HN launch.

New Features

  • Language-agnostic porch check overrides (#550): Non-Node.js projects can now override or skip any porch check via porch.checks in af-config.json. Supports custom commands, working directories, and skip flags. Python, Rust, and Go projects no longer need to edit protocol.json.
  • Per-project agent time tracking (#541): Analytics dashboard now tracks and displays agent time per project.

Documentation

  • Comprehensive docs update (#558): Updated FAQ, cheatsheet, CLI overview with ASPIR/BUGFIX/porch documentation. Replaced deprecated af dash references with af workspace. Fixed stale version references and remote access docs.
  • README for HN launch (#556): Added Tour of CodevOS article link, updated VIBE vs SPIR section with R4 data, added production metrics.
  • Newsletter subscribe link (#551): Added to README.

Bug Fixes

  • Terminal scroll-to-top (#560): Terminals no longer scroll to top when switching tabs. Root cause: xterm's viewportY resets to 0 when container is display:none. Fix: track scroll state externally via term.onScroll().
  • Shell buttons regression (#563): Fixed regression from scroll fix where shell buttons stopped working. Stale scrollState.baseY caused safeFit() to take the wrong code path.
  • Tower crash: H2 stream destroyed (#565): Added stream.destroyed guards to all 4 unguarded stream.respond() calls in tunnel-client. Prevents crash when tunnel WebSocket disconnects during in-flight proxy requests.
  • TICK --amends required (#562): af spawn --protocol tick now requires --amends <spec-number>. Previously, omitting it caused the builder to read the wrong spec file.
  • pr_exists check for merged PRs (#568): Added --state all to gh pr list in all pr_exists porch checks. Previously, merged PRs were invisible to the check.
  • Dashboard E2E scheduled runs (#566): Added GH_TOKEN to the Playwright test step in dashboard-e2e.yml. Scheduled workflows don't auto-propagate the token.

v2.1.1

24 Feb 09:12

Choose a tag to compare

What's Changed

Analytics Improvements

  • Median instead of average for time-to-merge and time-to-close-bugs — eliminates outlier skew (#548)
  • Consultation metrics now workspace-scoped — each workspace shows only its own consultation data (#545)
  • Prefix matching for builder worktrees — consultations run from .builders/ subdirectories correctly count toward the parent workspace (#548)
  • Removed activeBuilders metric from analytics (#548)
  • 30s → 5s analytics load time — batch GraphQL queries replace individual gh issue view calls (#543)

Bug Fixes

  • af open cross-workspace file resolution — files now open in the user's current workspace, not the workspace where the file resides (#535)
  • HTML preview in annotation viewer — sandboxed iframe preview with toggle, starts in annotate mode (#536)
  • Flaky CI test fixsend-integration.e2e.test.ts race condition resolved with retry loop (#CI)

Other

  • Added marketing materials

v2.1.0 — Ishtar Gate

22 Feb 19:53

Choose a tag to compare

v2.1.0 — Ishtar Gate

Named after the magnificent blue-glazed entrance to ancient Babylon — a grand gateway, fitting for a release that rebuilds the foundations.

662 commits | 41 feature specs | 78 bugfixes


New Protocols

  • AIR (Autonomous Implement & Review) — Lightweight two-phase protocol for small features (<300 LOC). No spec/plan artifacts; review goes in the PR body only. (#494)
  • ASPIR (Autonomous SPIR) — SPIR without human approval gates on spec and plan. Builder runs autonomously through all phases; human approval at PR gate only. (#438)
  • EXPERIMENT/Spike — Disciplined experimentation protocol with protocol.json, templates, and documentation. (#462)

Workspace Overview & Dashboard

  • Unified Work view replacing the old Dashboard — single view with Builders, Needs Attention, and project status (#126)
  • Analytics tab with GitHub metrics, builder stats, consultation costs, and Recharts visualizations (#456)
  • Open Files & Shells section showing active shells (running/idle status) and open annotation files (#467)
  • Collapse/expand buttons in architect toolbar for split pane panels, desktop only (#495, #513)
  • Emoji tab icons replacing static unicode symbols (#507)
  • TipBanner component with contextual tips in the Work view (#350)
  • Tower version displayed in dashboard header (#425)
  • Project name branding replacing "Agent Farm" in dashboard chrome (#425)
  • Clickable artifact links in Recently Closed items (#465)
  • Spike label support in Work view (#463)
  • Work tab font sizes increased 1.2x for readability (#466)
  • Scrollbar for Work view content (#477)
  • Builder elapsed time showing both wall clock and agent time (#405)
  • Tower hostname from registered name instead of OS hostname (#470)
  • GitHub integration layer for overview data (#126)
  • Overview API with GET /api/overview and POST /api/overview/refresh (#126)

Terminal Architecture

  • WebSocket auto-reconnect with session resumption and exponential backoff (#442)
  • Connection status icon in toolbar (replacing inline reconnecting text) (#451, #493)
  • WebSocket ping/pong heartbeat for dead connection detection (#109)
  • Terminal controls component — Reload, End, scroll buttons (#364)
  • Preserve scroll position during terminal fit/resize (#423)
  • Architect terminal auto-restart on crash with loop guard (#418)
  • Persistent terminal CWD in SQLite for annotator path resolution (#506)
  • Backpressure handling to prevent terminal unresponsiveness (#313)
  • Multi-client shellper — protocol extension for simultaneous tower + terminal connections (#118)
  • Shellper debug logging — stderr lifecycle logging, Tower-side SessionManager (#113)
  • af attach terminal mode with direct shellper socket connection (#118)
  • Database migrations v9 through v12

Messaging Infrastructure

  • af send Enter fix — delayed \r after multi-line paste so PTY processes the message before receiving Enter (#492)
  • Typing-aware delivery — defers message delivery when user is actively typing (#403)
  • Composing flag removal from deferral logic — was getting stuck true after non-Enter keystrokes, causing 60s delays (#492)
  • Tower send endpoint with address resolution (POST /api/send) (#110)
  • WebSocket message bus with subscriber management for real-time notifications (#110)
  • Standardized agent naming — consistent architect/builder identifiers (#110)
  • Structured message format with headers/footers (#110)
  • Push-based gate notifications via af send, replacing polling (#108)
  • CLI send refactor to use POST /api/send endpoint (#110)

Mobile

  • Duplicate character fix — replaced UA sniffing with pointer:coarse media query + composition event tracking. Catches iPads which report desktop UA. (#517)
  • Collapse buttons hidden on mobile (#513)
  • SSE auto-reconnect for dashboard after Tower restart (#472)

Consultation & Metrics

  • Consultation metrics & cost tracking — MetricsDB, usage extractor, per-model cost tracking (#115)
  • consult stats subcommand for viewing consultation statistics (#115)
  • Consultation output persistence — auto-saves results to project directory instead of temp files that get cleaned up (#512)
  • Codex SDK integration — replaced CLI subprocess with SDK (#120)
  • Rebuttal-based review advancement — porch advances after rebuttals without re-running consultation (#121)
  • porch --protocol/--project-id flags for flexible consultation routing (#115)

Developer Experience

  • Risk-based PR triage guide for architect integration reviews with subsystem mappings (#469)
  • Workflow reference documentation updates (#469)
  • af open from any directory — removed CWD restriction and workspace containment check (#500, #502)
  • af rename — Tower API endpoint and CLI command for renaming builders (#468)
  • codev update --agent flag for selective updates (#446)
  • porch rollback command to rewind project phase (#401)
  • Async workspace lifecycle — converted workspace creation and adoption to async exec (#127)
  • Periodic cleanup with defensive creation for stale state (#116)

Codebase Health

  • Workspace rename — "project" → "workspace" throughout codebase, database migration v9 (#112)
  • Dead code removal — vanilla dashboard code and clipboard test deleted (#111)
  • Gate watcher removal — polling infrastructure replaced by push notifications (#108)
  • Path boundary safety for prefix deletion (#474)
  • PrismJS, marked, DOMPurify bundled locally to avoid CSP blocks (#269)

Bugfixes (78 total)

Including: terminal reconnection reliability, tunnel keepalive, file path resolution, dashboard startup latency, tab switch delay, Work page performance, builder progress calculation, stale docstrings, monorepo build paths, and much more.


Full changelog: v2.0.0...v2.1.0

Install: npm install -g @cluesmith/codev@2.1.0

v2.0.16

21 Feb 02:57

Choose a tag to compare

v2.0.16

Bug Fixes

  • Dashboard hostname display (#470): Shows registered machine name instead of raw OS hostname (e.g. "codev on mac overview" instead of "Ms-MacBook-Pro-2.local codev dashboard")
  • GitHub CLI error logging: fetchPRList, fetchIssueList, and fetchRecentlyClosed now log actual error messages instead of silently returning null
  • CI health cron: Filtered to --branch main so builder branch failures no longer trigger alerts

v2.0.15

20 Feb 09:02

Choose a tag to compare

What's New

Features

  • Dashboard hostname display (#447) — Shows machine name in header when accessing remotely
  • Spawn improvements (#448) — af spawn no longer requires a pre-existing spec file; uses GitHub issue title for naming
  • codev update --agent (#449) — Non-interactive update mode for AI agents with structured JSON output

Bug Fixes

  • Reconnect status dot (#452) — Replaced intrusive overlay with subtle status dot; fixed premature give-up on reconnection
  • af send composing state (#453) — Messages held until user presses Enter, preventing typing interruption
  • ASPIR progress (#455) — Dashboard now shows correct progress for ASPIR builders
  • CI cron false alert — Fixed shell precedence bug in retry command