Skip to main content

3.8.0 (2026-10-13)

Bug Fixes​

Features​

3.7.0 (2026-10-13)

Bug Fixes​

  • loop: adopt PASS-NOTES with "Before merging: Nothing." as a plain pass (#351) (e20f779)
  • mods: strip terminal escapes from loop-watch and rainbow output; pin both (#356) (d4b27bf), closes #337
  • release-guard: catch pkg-set version, tag pushes, prefixes and API dispatch (#353) (4a9abb7), closes #329
  • setup: create ~/.claude/skills and note a missing Claude Code (#368) (312a892), closes #358
  • setup: work on a fresh Claude Code install and without a TTY (#367) (a440b28), closes #358

Features​

  • mods: ship release-guard, an opt-in mod that blocks agent-run releases (#329) (3f013e4), closes #327 #326

3.6.0 (2026-10-12)

Bug Fixes​

  • dashboard: count PRs merged today from GitHub, not event text (#317) (2d66d57), closes #316
  • docker: scope runner credentials per worker (#311) (ef60d84), closes #308 #295
  • loop: resolve 'Depends on #N' when N is a pull request (#318) (16d26bd), closes #301

Features​

  • auth: run the loop as a GitHub App (#286) (7bcbfa8)
  • daemon: container prompts and a headless task runner (#287) (d322893), closes #284
  • dashboard: add, edit and remove agents on the Agents page (slot pool) (#313) (554aed0), closes #310 #307 #295
  • dashboard: agent cards, KPI header, decision stream and leaderboard (#309) (860e492), closes #304 #296
  • dashboard: Models section — per-runner accounts, MCP servers and access (#314) (217731c), closes #306 #310
  • dashboard: new navigation, getting-started Board, onboarding wizard and global Settings (#310) (76ff553), closes #302 #304 #305 #306
  • dashboard: per-agent profiles — runner, model, accounts and tool allowlist (#304) (6ba0fda), closes #295 #294
  • dashboard: Repos section — add repos and per-repo settings (#312) (38ca886), closes #305
  • dashboard: setup UI, scheduler and work queue (#288) (939b7a0), closes #286
  • dashboard: shadcn sidebar shell — collapsible sidebar, top bar, mobile (#300) (127cb0d)
  • dashboard: TanStack Start + Tailwind + shadcn dashboard app (#292) (5762769), closes #289 #288 #287
  • docker: Dockerfile and compose for dashboard + workers (#290) (d5773f4), closes #288 #286 #287
  • docker: run worker agents as a separate uid (#299) (3186018), closes #293
  • loop: Claude Code live pane for loop state (#277) (f932dd1), closes #275
  • loop: comment before every label change, naming the agent and next owner (#335) (fc8f014), closes #332 #332
  • loop: repo-ai loop dash terminal dashboard (#276) (57f2ad8), closes #274
  • mods: ship loop-watch, a live ai-loop view (experimental) (#336) (ca3e31b), closes #326
  • setup: install the /ai-loop-dash pane plugin via CLAUDE_CODE_PLUGIN_DIRS (#279) (0ee9168), closes #277
  • worker: pluggable agent runners — Claude Code, Codex, Gemini (#303) (476359b), closes #294
  • worker: repo-ai worker container loop (#289) (c45347c), closes #286 #287 #284

3.5.1 (2026-10-03)​

Bug Fixes​

  • loop: keep a re-picked worktree whose slug matches an earlier closed PR (#271) (be1c396), closes #269
  • loop: name the required check that never reported when a green PR is BLOCKED (#270) (043b8e5), closes #268

3.5.0 (2026-10-02)

Bug Fixes​

  • loop: release probes read release.yml when the repo has one (#265) (1fe0708), closes #260

Features​

  • doctor: check sandbox.excludedCommands for the loop's gh and repo-ai calls (#258) (4aed7c1), closes #257
  • skills: add /ai-loop-stop to stop this repo's loop in one command (#262) (532db08), closes #259

3.4.0 (2026-10-01)

Features​

3.3.0 (2026-10-01)

Features​

3.2.0 (2026-10-01)

Bug Fixes​

  • loop: report skipped ai-ready pickups with a reason (#247) (dbe9058), closes #244
  • loop: skip review claims on arms already passed or claimed (#246) (b7c7a7e), closes #243

Features​

  • loop: choose the review tier from the diff — one combined reviewer for docs-only PRs (#249) (cdf34ab), closes #241
  • loop: review Dependabot PRs labelled ai-review and recreate red ones (#248) (9412e15), closes #240

Performance Improvements​

3.1.2 (2026-09-29)​

Bug Fixes​

  • workflows: verify reviewer verdicts against the PR instead of trusting the return (#236) (8249869), closes #235

3.1.1 (2026-09-29)​

Bug Fixes​

  • deps: override serialize-javascript and uuid to patched versions (#232) (d98b626)
  • loop: leave PRs whose base isn't the default branch out of the tick (#234) (9fb413d), closes #233

3.1.0 (2026-09-29)

Features​

  • config: fix config writes unset defaults; doctor names them (#231) (a6a2d4b)

3.0.1 (2026-09-29)​

Bug Fixes​

  • loop: exclude .claude/ai-loop-status from git status in every repo the loop drives (#229) (8656f2d), closes #228

3.0.0 (2026-09-29)

Bug Fixes​

  • loop: conflict fixes merge the default branch instead of rebasing (#224) (bf73528), closes #216
  • loop: don't serialise pickups on shared doc files (#186) (5b02276), closes #180 #185 #159 #156 #152
  • loop: give each reviewer a unique review body file (#210) (4b8c23b), closes #206
  • loop: loop watch wakes only when new work appears (#184) (077c556), closes #183
  • loop: paginate the capped GitHub queries (#173) (3fef111), closes #163
  • loop: read the default branch instead of assuming origin/main (#177) (095d01b), closes #161
  • loop: rerun every failing check's run, not just the first (#213) (3c0b67b), closes #211
  • loop: resolve the default branch for the ci-runs probes (#198) (264b76c), closes #179
  • loop: scope the ci-runs probes to the ci.yml workflow endpoint (#197) (71c1a4d), closes #174
  • loop: size the pickup token reservation per agent role (#226) (d7237d6), closes #218
  • loop: warn at once when a waiting release run is stale (#225) (647e0be), closes #220
  • loop: warn when a release run has waited on approval for over a day (#187) (ed1b7ad), closes #57 #60 #153 #146
  • loop: warn when main CI runs are cancelled or pending with no jobs (#172) (78ed00c), closes #153

Features​

  • config: add humanUser for organisation-owned repos (#178) (c35ca44), closes #162
  • config: make the ci-runs workflow file configurable (#212) (713c5ff), closes #201
  • config: make the loop's limits, cadences and stall timeout configurable (#195) (fe9843b), closes #158
  • doctor: check the Claude Code allow rules the loop needs (#190) (764ef3a), closes #152
  • doctor: detect stale skills installed through the plugin (#171) (bceb367), closes #116 #132 #154
  • loop: add loop apply for handoff, send-back and cleanup transitions (#196) (e1f3a0c), closes #147
  • loop: cap concurrent agents across Workflows with maxAgents (#200) (3ae0ba6), closes #167
  • loop: keep the reviews when a conflict fix leaves the diff unchanged (#223) (ccd385d), closes #216 #216 #216 #217
  • loop: loop apply takes the review, fix and pickup claims (#199) (51625fc), closes #594 #148
  • loop: make loop watch the default driver (#189) (311e889), closes #156
  • loop: name the PR in handoff notifications (#168) (b72707b), closes #157
  • loop: re-run a failed check once before sending a PR back ci-red (#209) (15cfa95), closes #202
  • loop: resync a PR whose head lags its branch (#222) (55d259a), closes #219
  • loop: say whose turn it is in the tick summary (#182) (9901aae), closes #181
  • loop: send conflicted PRs back with an ai-conflicts label (#180) (a852151), closes #176
  • loop: warn on open high and critical security alerts (#207) (5c752a8), closes #203
  • loop: warn when the last release run failed (#208) (2d8435d), closes #204

BREAKING CHANGES​

  • the ai-loop skill no longer exports ROOT/AGENT_USER/… shell variables; it reads the tick's .env instead.
  • loop tick no longer removes worktrees; run loop apply.
  • .repo-tooling.json is no longer read; run repo-ai fix config.

2.0.0 (2026-09-26)

Bug Fixes​

  • guard: skip the node_modules rebuild when no worktree links the main checkout (#106) (70de5ef), closes #103
  • keep agentUser only in .repo-ai.json (#63) (cd7b902), closes #58 #55
  • loop: a halted tick doesn't create or retime the /ai-loop job (#110) (24aa987), closes #99
  • loop: a question a reviewer can't settle from the diff is not an ai-notes finding (#77) (4a68404), closes #76
  • loop: distinguish errors from warnings in loop tick text output (#131) (53134c8), closes #128 #128
  • loop: drop a pickup naming a file an in-flight ai-wip issue names (#123) (ab1a8d0), closes #120
  • loop: fetch without writing FETCH_HEAD so loop watch can't break a concurrent git pull (#105) (2e075c2), closes #102
  • loop: loop watch warns on an identity mismatch and prints a readable line per change (#83) (5823687), closes #82 #78 #69 #74
  • loop: only a missing status file starts from blank in loop watch (#130) (7779a43), closes #127
  • loop: report Workflow spend as outputTokensSpent, the output-only budget.spent() measure (#126) (b3718ab), closes #117
  • loop: require an explicit autoMerge opt-in before unattended merges (#143) (2b8c534), closes #142
  • loop: tell workflow agents a relayed user message is not their task (#107) (9237a3e), closes #101
  • loop: treat every agent-instruction file as non-docs (#78) (1dae93b), closes #72 #80
  • loop: treat the .windsurf/ rules directory as non-docs (#84) (3aa3edb), closes #81
  • loop: update a BEHIND PR's branch instead of sending it to a fixer (#73) (da7d982), closes #51
  • loop: wait on a passed BLOCKED PR whose required checks haven't reported yet (#113) (923d9dc), closes #112
  • statusline: drop the dead 'manual' suffix now that every tick records its next tick (#95) (f4c5468), closes #94

Features​

  • /ai-loop keeps itself going, no /loop needed (#92) (4e1a581), closes #91 #90 #50
  • add an /ai-tick skill that runs one loop tick immediately (#60) (0038e60), closes #59
  • config: publish a JSON Schema for .repo-ai.json and document every key (#70) (bf91ebd), closes #67
  • config: read agentUser/requiredSkills from .repo-ai.json (#55) (20533d1), closes #38
  • enforce the loop's budget and task caps in the Workflow scripts (#100) (3e7d02d), closes #41
  • fold ai-tick into a plain /ai-loop (#90) (b39a897), closes #89 #88 #88
  • fold ai-workflow into ai-loop as a single entry point (#88) (2cc3ddc), closes #87 #56
  • loop: add loop watch — poll the work list, print only on change (#74) (38d3c66), closes #62
  • loop: adopt any unlabelled PR authored by agentUser (#125) (839ee26), closes #115
  • loop: loop tick warns when the installed skill or workflows are older than the package's (#119) (fb4cb92), closes #116
  • loop: loop watch keeps the status file's summary current between ticks (#118) (6f9a3bc), closes #114
  • loop: one combined reviewer for docs-only PRs (#69) (bdb2848), closes #53
  • loop: pick up bug issues before other ai-ready issues (#109) (fb5de65), closes #108
  • loop: pickup Workflow runs fix rounds itself (#133) (c880616), closes #129
  • loop: stop the loop after a quiet period instead of ticking forever (#139) (cf1e888), closes #124
  • rename the ai-issue-loop skill to ai-loop (#57) (1bfb418), closes #56
  • setup: show the cost and liability notice and ask for acknowledgement (#111) (4d7542a), closes #45
  • ship the skills as a Claude Code plugin (#132) (5a6d096), closes #27
  • ship the Workflow scripts as named workflow files (#85) (626ce75), closes #40

1.1.0 (2026-09-24)

Bug Fixes​

  • loop: never strand ai-wip on a closed issue (#24) (b5e8a61), closes #1 #23

Features​

  • ai-issue-loop: show when the next tick is due, or that none is scheduled (#22) (b0313d5), closes #21

1.0.0 (2026-09-24)

Bug Fixes​

Features​


Every entry above is generated by semantic-release and published to GitHub Releases. Anything older than the first GitHub Release is recorded in CHANGELOG.md.