Changelog
All notable changes to roborev, grouped by minor release.
2026-06-11New features
- Kata integration. Local reviews can include task context from a repo’s bound Kata project, either from the Kata issues referenced in reviewed commit messages or from the open Kata backlog. Review hooks can also file failed reviews and review findings back into Kata. See Kata Integration and Built-in: Kata Integration.
- Branch filtering for review hooks. Add
branches = ["main", "release/*"]to a[[hooks]]entry to run it only for matching branches. Local reviews match the job branch; CI PR reviews match the PR base branch so protected-branch workflows can targetmainor release branches. See Branch Filtering. - Queue pause and resume controls.
roborev pause,roborev unpause, and the TUIPshortcut pause queue processing without canceling running jobs. Queued jobs remain queued until the queue is resumed. See Queue Pause. - Aggregate review cost tracking.
roborev costshows approximate all-time or scoped agent spend, androborev summarynow includes windowed cost coverage. See Aggregate Cost. - Public daemon Go client. External integrations can import
go.kenn.io/roborev/pkg/clientfor a typed client generated from the daemon OpenAPI contract, with raw helpers for streaming/log endpoints. See Public Go Client. - Binary overrides for agent hooks.
roborev agent-hook install --binary <path>bakes a stable roborev shim or explicit binary path into Codex and Claude Code hook configs, mirroring the git-hookroborev init --binaryworkflow. See Agent Hook Quick Start.
Improvements
- Preserve user
safe.directoryGit config when running with Git config isolation. - TUI queue and status displays now surface paused queues with a persistent
[PAUSED]marker and show approximate aggregate cost for the active filter scope. - CI panel synthesis now defers and retries on quota or transient synthesis failures instead of posting degraded raw member output.
- Pi classifier setup guidance now explicitly points users at the JSON schema extension install step. See Pi Structured Output.
Bug fixes
- Fixed Windows daemon restart failures.
- Prevented unwanted Windows console pop-ups when starting daemon and process-management commands.
- Improved Windows daemon/process cleanup behavior.
Acknowledgements
- Thanks to Marius van Niekerk for queue pause controls, the generated public daemon client, agent-hook binary overrides, preserving user
safe.directoryconfig, Windows daemon/process fixes, and clearer Pi classifier extension setup guidance.
0.57.1
Section titled “0.57.1”New features
- Ship Windows releases as both
.zipand.tar.gzarchives. - Add a daemon route for agentsview token backfill.
Improvements
- Improve TUI queue rendering performance.
- Speed up TUI queue startup by reducing repeated display-name lookups.
- Reduce git command overhead on Windows ARM systems.
Bug fixes
- Fix PowerShell 5.x install failures on Windows when handling redirects.
- Fix TUI freezes when using multi-repo filters.
- Allow agentsview usage without version-gating.
2026-06-05
New features
- Agent hook integration. The new
roborev agent-hookcommand plugs into Codex and Claude Code harness hooks and prompts the agent to run$roborev-fixonce review work piles up, so reviews get fixed inside the agent session. See Agent Hook. - Subagent review panels for CI and manual daemon reviews. A panel fans one review target out to named reviewer specs, then produces one synthesis parent review that is the actionable row for
show,list,wait, fix workflows, and the TUI. CI now uses the same panel system; existingagents,review_types, and[ci.reviews]configs become an implicit panel when[ci] panelis not set. See Subagent Review Panels and Named CI Panels. - Safer CI review retries. The CI poller now tracks retry state per PR HEAD, defers transient provider outages without posting misleading comments, retries genuine member failures up to a bounded cap, and rechecks PR open state, HEAD SHA, and repo identity before retrying or posting. See Safe CI Retries.
- Anonymous daemon telemetry. roborev sends limited anonymous daemon lifecycle telemetry on startup and once every 24 hours while running, with repo and review counts plus high-level feature flags. It does not send repo names, paths, remotes, prompts, review output, provider tokens, usernames, or IP geolocation. Disable with
ROBOREV_TELEMETRY_ENABLED=0orTELEMETRY_ENABLED=0. See Telemetry. - DEB and RPM release artifacts. Linux releases now include
.deband.rpmpackages foramd64andarm64, including user-level systemd units. See Linux Packages.
Improvements
- TUI review and queue panel refinements, plus a new
itoggle in log and prompt views that expands or collapses the full command line used for a job. See Terminal UI. compactnow requires the consolidated review to repeat each remaining finding with actionable detail (severity, file/line, description). Outputs that report findings only as counts or summaries are rejected instead of stored, so a compacted review cannot claim findings it never lists. Clean verifications are unaffected. See Consolidating Reviews.- Cost lookup can be routed through a configurable HTTP usage endpoint instead of the local
agentsviewCLI. See Cost Usage Endpoint. - Update discovery now uses GitHub’s HTML redirect endpoint for latest release checks, avoiding GitHub API rate limits.
- Raised the default CI
batch_timeoutfrom 3 minutes to 15 minutes. Setbatch_timeout = "0"to disable. See CI Options Reference. - Improved dependency metadata filtering to reduce false-positive findings.
- Default review prompts now put
No issues found.on its own line for cleaner pass output. - Improved classifier support, including Pi schema-based classifier output through the configured JSON schema extension. See Pi Classifier Options.
Bug fixes
- Fixed CI reviews using stale checkouts.
- Fixed worktrees finding
.roborev.tomlwhen it is gitignored in the main repo. - Fixed review retry log handling and retained classifier job logs.
- Fixed Claude classifier structured output parsing.
- Fixed hook binary resolution for managed installs.
- Fixed the OpenCode install source. See Supported Agents.
- Fixed Copilot streaming behavior when the agent supports disabling streaming.
- Grounded reviewer version checks in the project toolchain.
Acknowledgements
- Thanks to Marius van Niekerk for anonymous daemon telemetry, kit daemon lifecycle and git helper adoption, hook binary resolution fixes, Pi classifier schema support, Copilot streaming handling, and the OpenCode install source fix.
- Thanks to Phillip Cloud for Nix vendorHash handling on Dependabot PRs, safer review retry logging, classifier log retention, configurable cost lookup, CI poller test isolation, Claude classifier parsing fixes, the daemon repo resolve endpoint, shared self-update integration, DEB and RPM artifacts, the TUI full-command-line toggle, and reviewer version checks grounded in the project toolchain.
- Thanks to Chris K Wensel for falling back to the main repo when
.roborev.tomlis gitignored in a worktree.
2026-05-24
New features
- Per-job cost estimate in the TUI queue. A new default-visible “Cost” column shows the agentsview-provided cost estimate alongside the existing token counts; the review detail header appends
· ~$0.42to the usage summary. Cost data requires agentsview 0.30.0 or newer (which addsagentsview session usage <id> --format jsonwithcost_usd/has_costfields); on older versions the column stays blank and token counts are unaffected. Runroborev backfill-tokensto refresh existing jobs once agentsview is upgraded. See Token Usage. - Agent plugin manifests for Claude Code and Codex. The repository now ships
.claude-plugin/marketplace.json,.claude-plugin/plugin.json, and.codex-plugin/plugin.jsonpointing at the same Claude and Codex skill trees thatroborev skills installuses. This lets users install roborev skills through each agent’s plugin distribution channel in addition to the existing CLI installer. - Repo-local oversized-diff snapshots. The default snapshot root moves from OS temp space to
.roborev/under the repo, set per-repo via a newsnapshot_dirfield in.roborev.toml.roborev initensures the configured directory is ignored in.gitignore; snapshot creation also writes a local.git/info/excludefallback for repos whose ignore setup is stale.snapshot_dirmust be a relative path under the repo root and may not be inside.git. See Prompt Size Budget.
Improvements
- Prefer the Antigravity
agyCLI for the Gemini agent. Google has deprecated the legacygeminiCLI; roborev now picksagyfirst when both are installed and falls back togeminiotherwise. Antigravity runs in--printmode with prompts piped over stdin and maps review/agentic permissions to--sandboxand--dangerously-skip-permissions. Antigravity does not yet accept a--modelflag, so model overrides automatically reroute togeminiif it is installed; when onlyagyis available, an explicit--modelreturns a clear error instead of being silently ignored. See Supported Agents. - Design review prompt gains an “Internal contradictions” check as the new top-priority item. This flags places where two parts of a spec, PRD, or task list conflict even when each part is individually clear, so downstream agents do not resolve the conflict differently and produce inconsistent implementations. The original five-bullet rubric (completeness, feasibility, task scoping, missing considerations, clarity) is preserved as items 2 through 6.
- CLI errors no longer dump the full usage block on runtime failures. The usage block now prints for invocation errors only (unknown flags, mutually exclusive flags, bad enum values, unknown subcommands, invalid
--server); runtime errors (daemon down, invalid git ref, network failure) print justError: .... Caller-controlled exits (review --waitwith a Fail verdict,waitwith multiple jobs) remain silent with the correct exit code.--quietcontinues to silence the verdict output but still surfaces runtime error messages, matching CLI convention. - The
/roborev-fixskills for Claude Code and Codex now require closing each addressed review before handling any post-fix auto-reviews, and add explicit per-jobclosed=trueaudit guidance so the skill cannot leave reviews open after applying fixes.
Bug fixes
- Retry backoff is now enforced per job rather than per worker. A new
retry_not_beforecolumn onreview_jobs(added by a SQLite migration and the postgres v13 schema) stamps the earliest claim time when a job is retried, andClaimJobfilters on it across the entire worker pool. The previous in-workertime.Sleeponly paused the worker that failed; with--max-workers > 1, other workers would claim the retry immediately and inherit the same broken state. Failover clears the column so a fresh agent is not held by the prior gate. Default backoff is 2s. - The CI batch poller no longer unclaims batches that were finalized by a racing event path. Stale-claim recovery now checks the batch’s terminal state before reverting it. Permanent GitHub access errors on moved or deleted repositories finalize the batch instead of retrying forever.
roborev initworks in worktrees backed bygit clone --bare. The git helper now detects linked worktrees whose common git directory is bare and resolves them to the checkout root, so Middleman-style bare-backed worktrees can be registered. Behavior for normal linked worktrees and submodule worktrees is unchanged.
Acknowledgements
- Thanks to Lev Konstantinovskiy for adding the internal-contradictions check to the design review prompt.
- Thanks to Marius van Niekerk for preferring Antigravity for Gemini, supporting bare-backed worktrees, adding agent plugin manifests, writing oversized-diff snapshots under repo-local storage, and fixing Codex resume arguments.
- Thanks to Phillip Cloud for daemon retry backoff via
retry_not_before, enablingerrorlint, and improving CLI usage/error output behavior.
2026-05-15
New features
securityanalyze type runsroborev analyze security <files>with a security-focused prompt covering authn/authz, trust boundaries, injection, file/secret handling, cryptography, and dependency risks. Jobs are taggedreview_type = securitysosecurity_agentandsecurity_modelconfig (and the per-reasoning-level variants) apply automatically. See Code Analysis.roborev status --jsonemits structured daemon and queue status, including the active daemon endpoint asnetwork,address, andportfields so scripts and integrations can discover the listening transport without reading runtime files.
Improvements
- Review templates for Claude Code, Codex, and Gemini drop the “diff and static analysis only” framing and explicitly permit reading other repo files to verify claims. Agents are still prohibited from building, running tests, or executing code; the change reduces false-negative findings (e.g. “this package doesn’t exist”) on PRs that reference code outside the diff. Non-templated agents (Copilot, OpenCode, Cursor, Kiro, Kilo, Droid, Pi) use the fallback prompt and are unchanged.
- The TUI queue hides auto-design-router classifier jobs (
job_type = classify) and skipped design rows (status = skipped, scoped tosource = auto_design) by default to reduce per-commit routing noise. A newshow_classify_jobsglobal config (with nullable per-repo override) and ansTUI hotkey toggle visibility; the queue footer and?help screen reflect the current state. Pressinglon a hidden classifier or skipped row shows the classifier verdict andskip_reasonabove the streamed log. The daemon status endpoint’s skipped/triggered counters are unchanged. See Auto Design Review. - Codex review jobs default to
skills.include_instructions=falseand--ignore-user-config, so review prompts run without skill instructions or user-level Codex config. Two global toggles under[agent.codex]control this (disable_review_skills,ignore_review_user_config); both default totrue. Fix jobs are not affected. See Codex Review Options.
Bug fixes
- Gemini-based reviews can now read external diff snapshots. The Gemini agent receives the per-snapshot temp directory in its allowed-paths list (matching the Codex
--add-dirbehavior introduced in 0.54), restoring access to the expected context for large diffs.
Acknowledgements
- Thanks to Marius van Niekerk for disabling Codex review skill context by default, adding security analyze mode, and exposing the daemon endpoint in JSON status output.
- Thanks to Phillip Cloud for allowing review agents to read repo files when verifying diffs, exposing Gemini diff snapshot directories, and hiding auto-design-router noise from the queue by default.
2026-05-07
New features
--batch-size Nflag onroborev fixto pack up to N reviews into a single agent invocation, still bounded by the configuredmax_prompt_size. This sits between the default one-fix-per-prompt mode and--batch(everything in one prompt): you get coordinated multi-finding fixes per call without exceeding the prompt budget. Mutually exclusive with--batchand--list. See Fixing Reviews.--resumeflag onroborev fixto reuse the agent’s session ID across calls within a single fix run, so chained fixes build on prior context instead of starting fresh each call. Defaults to off.
Improvements
- Large diff prompts are kept in external snapshot files instead of being expanded back into agent prompts. roborev now applies an agent-agnostic final prompt-size gate before submission and treats context-window failures as non-retryable failover candidates rather than retrying the same oversized prompt. Snapshots are written to per-snapshot temp directories that are readable by all agents.
- Review prompts now instruct agents to separate multiple findings with
---on its own line so findings render as distinct entries instead of running together. Applies across the default, dirty, range, and security templates as well as the Claude Code, Codex, and Gemini variants. - The README header logo uses a dark-background variant on GitHub dark mode (via a
<picture>element withprefers-color-scheme), so the dark-text logo no longer becomes unreadable on dark backgrounds.
Bug fixes
- The foreground
roborev fixloop now classifies agent errors and aborts cleanly when it detects a quota or session limit, instead of demoting these failures to per-job warnings during discovery mode. A newinternal/agentrate-limit classifier (LimitKind,LimitClassification,ParseResetDuration,ParseResetTime) is shared between the daemon worker and the CLI fix loop, so cooldown behavior is consistent across both paths and unmatched agent errors are logged with a truncated preview instead of being silent. - Codex large-diff snapshots are written to per-snapshot subdirectories, and Codex receives the snapshot directory via
--add-dirinstead of full/tmpaccess. This restores Codex’s ability to read external diff snapshots while avoiding exposure of unrelated/tmpcontents. Snapshot-shaped paths in prompts are ignored unless they resolve to existing files inside a private roborev snapshot directory.
Acknowledgements
- Thanks to Marius van Niekerk for exposing Codex diff snapshot directories and keeping large diff prompts external.
0.53.1
Section titled “0.53.1”Improvements
- ACP session validation: the first ACP session update is validated against the agent’s configured session ID before being stored. Mismatches are logged but no longer return errors, avoiding connection breaks during normal operation.
- ACP model resolution:
ModelForSelectedAgentfalls back to the model configured in the[acp]section when no workflow-specific model is set, giving consistent model selection across review, analyze, fix, refine, and daemon paths. - Clearer error messages for invalid ACP configuration and model settings, with improved permission handling during session setup.
Bug fixes
review --branch,analyze --branch, andrefinecorrectly auto-detect the branch base when the upstream is configured as a raw URL (e.g.https://example.com/fork.git) rather than a registered remote name. URL-shaped values previously produced invalid refs likerefs/remotes/https://.../mainthat failed to resolve, breaking branch-base detection for affected repos. roborev now detects URL-shaped remote values via prefix and://checks, after first confirming the value is not a registered remote name, and falls through to the next detection step.- Per-branch
branch.<name>.baseoverrides are now consulted by review, refine, and analyze flows. The override was already documented as a per-branch base override but was being skipped in favor of upstream-tracking detection.
Acknowledgements
- Thanks to Veit Sanner for improving ACP session validation and model resolution.
2026-04-30
New features
- Opt-in automatic design-review router. roborev can now decide per commit whether to dispatch a
--type designreview, using cheap heuristics first (path globs, diff size, file count, commit-subject regexes) and a schema-constrained classifier as a fallback for ambiguous cases. Off by default; turn it on globally with[auto_design_review] enabled = truein~/.roborev/config.tomlor per repo in.roborev.toml. The post-commit,roborev review, range, and dirty paths and the CI poller all consult the router; design jobs are emitted only when the router says yes, otherwise a skipped row is recorded with the deciding reason and rendered dimmed in the TUI. Classifier behavior is tunable viaclassify_agent,classify_model,classify_reasoning,classify_backup_agent, andclassify_backup_model. The classifier requires aSchemaAgent-capable backend (Claude Code, Codex); other agents are rejected at config-resolve time. See Auto Design Review.
Improvements
- Daemon HTTP API consolidated under Huma. Routes, request and response types, and handlers move to a single Huma-backed registration in
internal/daemon/routes.go, and the OpenAPI spec served at/openapi.jsonis now available in both 3.1 (default) and 3.0 (downgraded) flavors. The TUI talks to the daemon through a generated OpenAPI client (internal/daemon_client) for normal JSON calls; streaming endpoints continue to use plain handlers. This is internal plumbing; existing CLI and TUI behavior is unchanged. - The CI poller runs the auto design-review router on the PR head SHA when
designis not already in the configured review matrix. Heuristic-input failures (missing diff, changed-files, or commit message) degrade to the classifier instead of being silently skipped, so misconfigured repos surface a real outcome. - Shell completion for
roborev review --typesuggestssecurityanddesign, matching the existing pattern for--agentand--reasoning. Tab-complete the value directly without typing it out. - New
roborev repo move <name-or-path> <new-path>subcommand updates a tracked repository’s stored root path after a directory rename or move on disk, so existing jobs and reviews stay attached to the same repo entry. See Repository Management.
Bug fixes
roborev fixnow discovers reviews when run from a detached HEAD. Open-job filtering walks the commit chain back to the first reachable branch tip and matches jobs against the detached commits and review ranges that end on them.dirtyjobs and unrelated refs remain excluded.- The TUI’s
auto_filter_repostartup filter now reconciles renamed and moved repos through their stored display name and identity, so renamed repositories still surface their existing reviews instead of appearing empty. review --branch,analyze --branch,refine, and the post-commit branch-review path now resolve the merge-base against the current branch’s@{upstream}(e.g.upstream/mainin fork workflows), falling back to the configured default branch only when no upstream is set. The previous behavior pulled in commits already merged upstream when the localorigin/mainwas behind. ThecurrentBranch == LocalBranchName(base)guardrail is replaced bygit.IsOnBaseBranch, which generalizes theorigin/shortcut, handles non-origin remotes, and stops misclassifying local branches whose names contain slashes (e.g.feature/foo).- Tab-completing
roborev review --type <TAB>no longer falls through to filename completion when no value has been typed yet. The completion now returns justsecurityanddesignand disables filename fallback. - Claude Code’s durable scheduled-task files (
.claude/scheduled_tasks.json,.claude/scheduled_tasks.lock) are added to.gitignoreso the harness’s local cron state does not get accidentally tracked.
Acknowledgements
- Thanks to Marius van Niekerk for fixing detached-HEAD review discovery, migrating the daemon API to Huma, and completing review type flag support.
- Thanks to Phillip Cloud for ignoring Claude Code scheduled task files, adding the automatic design-review router, and fixing branch upstream resolution for branch reviews.
2026-04-19
New features
- Route Claude Code through an OpenAI- or Anthropic-compatible proxy (Ollama, LiteLLM, LM Studio, etc.) via a
<model>@<base_url>model spec. When a proxy URL is present, roborev pins all Claude Code tier aliases (Opus/Sonnet/Haiku/subagent) to the specified model and points the agent at the given endpoint, making it possible to use local models for reviews and fixes. See Routing Claude Code to a proxy.
Improvements
- Review prompts are more consistent across agents, with reduced low-value noise in review output.
- Streamed tool-call names and input fields are normalized across agents for cleaner agent output in the TUI and daemon logs.
- OpenCode output shows tool calls and drops migration noise from
stderr.
Bug fixes
- TUI clipboard copy works over SSH by falling back to OSC52 escape sequences when a local clipboard is unavailable.
j,k, andqcan be typed normally while editing TUI filter searches, instead of being captured as navigation/quit shortcuts.- Gemini severity threshold parsing no longer fails when marker strings include internal whitespace.
Acknowledgements
- Thanks to Luis Gonzalez for clipboard support over SSH with OSC52.
- Thanks to Marius van Niekerk for hardening review prompts and refactoring prompt construction around shared templates and golden snapshots.
- Thanks to graycoldknight for allowing internal whitespace in Gemini severity threshold markers.
- Thanks to Chris K Wensel for routing Claude Code through a proxy with the
<model>@<base_url>model spec. - Thanks to Phillip Cloud for stream formatting cleanup and improved OpenCode tool-call output.
2026-04-08
New features
- OpenAPI spec for the daemon REST API, served at
/openapi.json(OpenAPI 3.1.0 via Huma). The spec covers the primary query and mutation endpoints used by integrations (jobs, reviews, comments, repos, branches, status, summary, cancel, rerun, close). Internal endpoints used by the CLI, TUI, and daemon subsystems (enqueue, streaming, sync, fix orchestration) are not part of the OpenAPI surface. See Streaming & Daemon API. - Cascading
review_min_severitysetting and--min-severityflag onroborev reviewto filter review findings by severity. The setting cascades from CLI flag to per-repo.roborev.tomlto globalconfig.toml, matching the existing pattern forfix_min_severityandrefine_min_severity. Global defaults for all three (review_min_severity,fix_min_severity,refine_min_severity) are now supported in global config. See Configuration.
Improvements
- Branch review prompts include per-commit review context. When reviewing a commit range, the prompt includes summaries and verdicts from individual per-commit reviews, with instructions to focus on cross-commit interactions instead of re-raising known issues.
- Fix prompts include user comments and prior tool attempts. Developer comments and previous automated fix attempts are separated and included in the prompt, giving the fix agent more context about what has already been tried and what the developer flagged.
- Global reasoning defaults are honored consistently across review, fix, refine, and related workflows. Resolution order: explicit CLI flag > per-repo config > global config > default.
- The TUI lets you inspect the full prompt while a job is still queued, before it starts running. Press
pon any queued job that has a stored prompt (task, fix, compact, insights).
Bug fixes
roborev fixcorrectly discovers open jobs on the current branch. Previously, it could include jobs from unrelated branches or miss jobs when run frommaindue to unreachable SHAs from squashed or amended commits.- Codex sandbox compatibility improvements. A new
disable_codex_sandboxconfig option bypassesbwrapsandboxing on systems where it is unavailable. Read-only sandboxed reviews fall back to inline diff snapshots when.git/is inaccessible to the agent. See Configuration. - Codex review jobs now store and display the actual command line used, fixing incorrect command reporting in the TUI.
- CI repo matching resolves ambiguous repositories (multiple repos sharing the same git identity) by preferring auto-cloned repos instead of failing.
- GitHub Actions release checksums use the expected
SHA256SUMSfilename.
Acknowledgements
- Thanks to Phillip Cloud for min-severity cascading, review-level filtering, config/worktree/CI reasoning fixes, and global reasoning default handling.
- Thanks to Stephan Hoyer for including per-commit reviews in branch review prompts and adding user comments and tool attempts to fix prompts.
- Thanks to Ben Sedat for switching GitHub Action artifacts to
SHA256SUMS. - Thanks to Axon for resolving ambiguous repository matches in CI.
2026-03-31
New features
auto_close_passing_reviewsconfig option to automatically close reviews that pass with no findings. When enabled, pass reviews are closed immediately instead of staying open in the queue. See Configuration.- Bundled
roborev-refineskills for Claude Code and Codex to run iterative review-fix-review loops from within an agent session. The skill performs the full refine workflow inline (review, fix, commit, re-review) rather than shelling out to the CLI. See Agent Skills. - Bundled systemd service and socket unit files for Linux daemon deployments. The service uses
Type=notifyfor readiness signaling. Socket activation is supported for on-demand daemon startup. See Persistent Daemon.
Improvements
- The TUI updates instantly by subscribing to the daemon event stream (SSE) instead of polling on a timer. Polling is retained as a 15-second fallback.
- CI review prompts now include human PR discussion (issue comments, review summaries, and inline review comments) from trusted collaborators with maintain or admin access. Discussion is treated as untrusted context with safety guardrails.
- The daemon socket path prefers
$XDG_RUNTIME_DIR/roborev/daemon.sockwhen the variable is set and points to an existing absolute directory. Falls back to the platform temp directory otherwise. See Configuration.
Bug fixes
- Preserve the requested model when rerunning reviews. Previously, rerunning a review could resolve a different model from config defaults instead of preserving the model specified in the original request. A separate
requested_modelfield now tracks explicit user intent. - Enforce a
batch_timeout(default: 3 minutes) on CI PR comment batches to prevent indefinite hangs when some jobs in a multi-agent batch get stuck. When the timeout expires, available results are posted and remaining jobs are canceled. See CI Options Reference.
Acknowledgements
- Thanks to Aaron Jacobs for downstream systemd unit files,
$XDG_RUNTIME_DIRdaemon socket handling, and systemd socket activation support. - Thanks to Stephan Hoyer for adding the iterative
roborev-refineskill. - Thanks to Marius van Niekerk for adding human PR discussion to review prompts, preserving TUI selections and model provenance, and refactoring shared daemon polling, workflow resolution, clone, runtime argument, repo-root, HTTP loader, and config precedence helpers.
- Thanks to Phillip Cloud for preventing stale TUI status/fix-job updates, adding
auto_close_passing_reviews, and subscribing the TUI to the daemon event stream.
2026-03-24
New features
roborev insightscommand analyzes failing code reviews to identify recurring patterns, hotspot areas, noise candidates, and guideline gaps. Outputs actionable suggestions for improvingreview_guidelinesin.roborev.toml. Runs as a daemon-backed job, queued and tracked like reviews. See Commands.- Unix domain socket support for CLI-to-daemon communication on Unix systems. Set
server_addr = "unix://"in~/.roborev/config.tomlto listen on/tmp/roborev-{UID}/daemon.sockinstead of TCP loopback. Socket permissions (0600) enforce per-user access control. See Configuration. ROBOREV_COLOR_MODEenvironment variable to forceauto,dark,light, ornonecolor output across all TUI screens and CLI rendering. See Configuration.
Improvements
- Skill installation and status reporting use a shared multi-agent catalog.
roborev skillsnow shows per-agent status (installed, outdated, not installed, no agent) for both Claude Code and Codex. Adding future agents requires a single catalog entry. - Large Codex reviews are more reliable. Prompt budgeting is now configurable via
max_prompt_size(per repo) anddefault_max_prompt_size(global), with smart fallback instructions that guide Codex to read diffs locally when they exceed the prompt budget. Diffs are read in bounded chunks with UTF-8-safe truncation. - Pre-commit auto-fixes and lint hook management now use prek instead of a custom shell script (roborev development workflow only).
Bug fixes
NO_COLORis honored on TUI review and prompt detail screens. Previously, glamour markdown rendering defaulted to TrueColor regardless ofNO_COLOR.roborev refinebranch reviews now use the configured review agent instead of the fix agent.- Reviews and hooks for commits made in git worktrees now run in the correct worktree directory. A
worktree_pathfield is persisted per job so agents and hooks operate on the right branch. - Copilot reviews no longer fail with permission denials in non-interactive (daemon) mode. The agent now uses
--allow-all-toolswith a deny-list for destructive operations in review mode.
Acknowledgements
- Thanks to Sergey Trofimovsky for fixing
NO_COLORon TUI detail screens and addingROBOREV_COLOR_MODE. - Thanks to Marius van Niekerk for making insights a daemon-owned job type, refactoring the shared multi-agent catalog and ACP/CLI runner flows, adopting
prekfor lint hooks, and cleaning up storage, verdict parsing, testenv, stream formatting, update, test helper, and version build-info internals. - Thanks to Ryan Mahoney for fixing review-agent and hook working directories for worktree commits.
- Thanks to Thomas Maloney for fixing refine branch reviews that used the wrong agent.
- Thanks to Phillip Cloud for adding Unix domain socket daemon transport.
2026-03-18
Improvements
- Review agents now run in a read-only sandbox. Codex review jobs use
--sandbox read-onlyinstead of--full-auto, matching Claude Code’s existing read-only tool restrictions. Agentic mode (fix, refine,--agentic) is unchanged. All agent subprocesses setGIT_OPTIONAL_LOCKS=0to avoid contending with the user’s own git operations. --openand--unaddressedflags onroborev fixare deprecated. Open job discovery is now the default behavior when no positional job IDs are provided. The flags are hidden and silently ignored for backwards compatibility.--branch <name>flag added toroborev fixfor cross-branch fixing without switching branches.- Skip update notifications in development builds.
Bug fixes
- Avoid
.git/index.lockcontention during reviews by settingGIT_OPTIONAL_LOCKS=0in agent subprocess environments, reducing conflicts with concurrent git operations. - Fix
--all-branchesand--branchfiltering when runningroborev fixfrom a git worktree. The branch override was not being threaded through tofilterReachableJobs, causing it to filter by the worktree’s branch instead of the requested branch.
Acknowledgements
- Thanks to Marius van Niekerk for refactoring worktree helper flows.
- Thanks to Phillip Cloud for skipping update notifications on dev builds and speeding up the test suite.
2026-03-17
New features
roborev summarycommand shows aggregate review statistics: pass/fail trends, per-agent effectiveness, review duration percentiles, fix resolution rates, and per-repo breakdowns. Scopes to the current repo by default; use--allfor cross-repo summary. Supports--since,--branch,--repo, and--jsonflags. See Commands.- TUI control socket for programmatic interaction with running TUI instances. External tools can query state and trigger mutations (filter, select, close, cancel, rerun, quit) over a Unix domain socket using a newline-delimited JSON protocol. Runtime metadata is written to
~/.roborev/tui.{PID}.jsonfor discoverability. See TUI Control Socket. --no-quitflag onroborev tuisuppresses keyboard quit (q) in queue and tasks views, allowing external controllers to manage the TUI lifecycle. Thequitcontrol command still works regardless.- Token usage tracking: agent token consumption (peak context tokens and total output tokens) is automatically recorded after each job completes and displayed in the TUI review header and
roborev showoutput. Requiresagentsviewto be installed.roborev backfill-tokensretroactively fetches token data for completed jobs that have session IDs but no stored usage. opencode_cmdconfig key to override the OpenCode executable path, matching the existing pattern for other*_cmdoverrides.
Improvements
- Common lockfiles and generated files (package-lock.json, yarn.lock, go.sum, Cargo.lock, uv.lock, and others) are excluded from review diffs by default. Add custom patterns via
exclude_patternsin global or per-repo config. Security reviews skip repo-level exclude patterns to prevent suppression of sensitive files. See Configuration. maximumreasoning level (aliases:max,xhigh) maps to Codex’s xhigh reasoning effort. For agents without an xhigh equivalent, it maps to thorough. See Reasoning Levels.- Session ID column in the TUI queue view.
- Column checkboxes in the TUI options menu respond to mouse clicks.
- Long comment text word-wraps in the TUI review pane.
- The TUI elapsed timer updates every second instead of only on data refreshes.
- Skill names switched from colon syntax (
roborev:fix) to hyphenated syntax (roborev-fix) for compatibility with GitHub Copilot CLI. Runroborev skills updateto apply the new names. Both Claude Code and Codex skills are updated.
Bug fixes
- Fix
GetCurrentBranchreturning aheads/-prefixed branch name when git refs are ambiguous. - Update Gemini defaults and fall back cleanly when the configured model is unavailable.
Acknowledgements
- Thanks to Phillip Cloud for isolating tests from global git config, fixing a session-stream test agent leak, adding the TUI elapsed-time tick, and ignoring
.claude/worktrees. - Thanks to Sergey Trofimovsky for adding the
opencode_cmdexecutable override. - Thanks to Marius van Niekerk for issue 478 refactors, maximum Codex reasoning support, TUI session-id and column-option improvements, and Copilot-compatible skill names.
2026-03-11
Improvements
- Agent availability checks now honor
*_cmdconfig overrides (claude_code_cmd,codex_cmd,cursor_cmd,pi_cmd). Previously, custom agent commands were ignored during availability detection, so an agent could appear unavailable even when the configured binary was in PATH. See Agent Command Overrides. - The TUI review screen now displays the branch name stored with the review instead of resolving it dynamically via
git name-rev. In worktree setups where the same SHA is reachable from multiple refs, the old behavior could display the wrong branch.
Bug fixes
- Fix the post-commit hook sending the worktree path instead of the main repository root to the daemon when running inside a linked git worktree. This caused commits to be registered under a phantom repo entry.
- Fix
roborev fix --open,--list, and--batchdiscovering reviews from other worktrees. Jobs are now filtered to only those reachable from the current worktree’s HEAD or matching its branch name. - Fix the post-commit hook not firing in linked git worktrees when
core.hooksPathis set to a relative path. Relative paths are now resolved against the main repository root instead of the worktree root.init,install-hook, anduninstall-hookalso normalize the hooks path and fail early if it cannot be resolved. - Add JSONL post-commit hook logging to
~/.roborev/post-commit.logso that silent hook failures leave an audit trail with timestamps, repo paths, and failure reasons. See Troubleshooting.
Acknowledgements
- Thanks to Marius van Niekerk for fixing post-commit hooks in git worktrees and migrating tests to testify.
2026-03-08
New features
--min-severityflag forroborev fixandroborev refineto limit fixes to findings at or above a chosen severity (low,medium,high,critical). Also configurable per repo viafix_min_severityandrefine_min_severityin.roborev.toml. When all findings in a review fall below the threshold,refineautomatically closes the review instead of treating it as a fix failure.- Experimental:
reuse_review_sessionconfig option (global and per repo) to resume prior agent sessions on the same branch, reducing token usage and review latency on active branches. See Session Reuse.
Improvements
roborev shownow displays comments after the review output, matching the TUI review detail view.- Copied reviews (TUI
ykey) now include review comments, giving the fix agent more context when you paste into an agent session. - Agent tool-call narration (text the agent emits before tool calls) is stripped from persisted review output across all agents.
- Daemon status details are hidden from the review detail view in the TUI; the queue view is unchanged.
- Review prompts now instruct agents not to build projects, run tests, or execute code during review.
roborev config setandroborev initnow produce commented TOML output with inline descriptions for each field.
Bug fixes
- Fix
roborev compactusing the wrong branch inside git worktrees. It was resolving the main checkout’s branch instead of the worktree’s branch. - Fix workflow model fallback so it uses the selected agent’s actual default model instead of the global default.
- Job log files are no longer permanently lost when the initial file open fails under resource pressure. The new log writer retries and buffers output until disk logging recovers.
- Timed-out review jobs now unwind reliably instead of appearing to run past the configured
job_timeout. Timeout errors are recorded asagent timeout after <duration>for clearer reporting in the TUI and hooks.
Acknowledgements
- Thanks to Marius van Niekerk for documenting auto-written TOML config files and safely reusing review sessions on the current branch.
2026-03-07
New features
mouse_enabledglobal config flag (and TUI options menu toggle) to disable mouse interactions in the TUI.roborev post-commitcommand andpost_commit_reviewrepo config to control post-commit review behavior, including branch review workflows.- Webhook review hooks (
type = "webhook") for external integrations. excluded_commit_patternsrepo config for skipping reviews based on commit message substrings.auto_filter_branchglobal config to automatically filter the TUI to the current branch or worktree on startup.
Improvements
- Tighter review prompts and more consistent verdict parsing.
- Daemon/client mismatch warnings surfaced through daemon status output.
Bug fixes
- Retry
fixdaemon calls automatically after a daemon restart. - Fix daemon startup restart loops.
- Fix Enter key handling in the TUI inside embedded terminals.
- Fix cases where the TUI fails to close cleanly.
Acknowledgements
- Thanks to Marius van Niekerk for the mouse-disable config flag, webhook review hook support, and job session ID capture.
- Thanks to Darren Haas for adding the post-commit command and branch review hook configuration.
2026-03-06
New features
default_backup_modelconfig option to control the fallback model used by agent workflows when the primary model is unavailable.advanced.tasks_enabledconfig flag to opt in to the TUI background tasks workflow (fix jobs, patch application, and rebasing). This workflow was previously enabled by default and has been moved behind a flag to avoid confusion about the primary review workflow.
Improvements
Ctrl-Dquits the TUI as an additional shortcut alongsideq.- Improved built-in agent skill definitions for more reliable matching, and expanded agent configuration documentation.
Bug fixes
- Agent resolution for
review,analyze,fix, andrefinecommands now selects the intended agent more reliably. - CLI
--agentoverrides no longer inherit the wrongdefault_modelfrom configuration.
Acknowledgements
- Thanks to Marius van Niekerk for Ctrl-D TUI quit handling and gating the advanced TUI tasks workflow behind configuration.
2026-03-05
New features
- Multi-repo workspace support:
roborev listlooks in immediate child subfolders for repos, androborev reviewsuggests repo-level review commands. - Cursor agent support.
- Pi coding agent support.
- Save generated patch files to disk from the TUI Tasks view.
Improvements
- Skip review throttling when a new push supersedes an in-progress review. The old review is canceled and the new one starts immediately.
- Validate configured agent names and reject unknown agents earlier.
Bug fixes
- Improve Claude review failure reporting so agent errors are captured and surfaced correctly.
Acknowledgements
- Thanks to Miki Tebeka for saving patch files from the TUI.
- Thanks to Marius van Niekerk for adding Pi coding agent support.
- Thanks to Darren Haas for multi-repo workspace support.
2026-03-04
Bug fixes
- Restore a separate
P/Fverdict column in the TUI queue so review outcomes are easier to scan.
2026-03-03
New features
- ACP (Agent Client Protocol) support: run reviews through any ACP-compatible agent via the
[acp]config section. - Kiro agent integration via
kiro-cli. - Configurable PR comment upsert: update existing roborev PR comments instead of posting duplicates (
ci.upsert_comments).
Improvements
- Renamed review status terminology to
closed/openacross CLI, TUI, and API.roborev closeandroborev fix --openreplace the legacy command/flag aliases (which are still accepted). - Combined the separate Status and P/F columns in the TUI queue into a single Status column with color-coded states (Queued, Running, Pass, Fail, Error, Canceled).
- Column customization in the TUI: press
oto reorder or toggle column visibility. Newcolumn_borders,column_order, andtask_column_orderconfig options. - Mouse copy/paste in TUI content views; long stderr lines wrap in log views.
- Visual polish across TUI queue, review, and task screens: tighter column spacing, box-drawing separators, right-aligned elapsed column.
- Deprecated the
/roborev:addressskill in favor of/roborev:fix.
Bug fixes
- Fixed UTF-8 truncation when composing PR comments.
- Fixed command/footer parsing by trimming trailing blank lines and enforcing
--separators.
Acknowledgements
- Thanks to Danny Steenman for configurable PR comment upserts and UTF-8 truncation fixes.
- Thanks to Veit Sanner for Agent Client Protocol support.
- Thanks to Marius van Niekerk for TUI mouse copy/paste support, log stderr word wrapping, and spacing polish.
2026-02-28
New features
- Compact mode for better usability on short terminal windows.
- Distraction-free toggle in the TUI for a cleaner review experience.
Bug fixes
- Custom fix instructions now include full review context during fix generation.
Acknowledgements
- Thanks to Marius van Niekerk for compact mode on short terminals, the distraction-free toggle, and review context for custom fix instructions.
2026-02-26
New features
- Kilo agent support via the
kiloCLI. roborev waitaccepts multiple job IDs in a single command.
Improvements
- TUI task view supports mouse interactions (click to select, double-click to view).
roborev updatemanages the daemon lifecycle for smoother upgrades.
Bug fixes
- Use
ANTHROPIC_API_KEYfor the OpenCode agent in GitHub Actions workflows. roborev fixskips reviews that already have aPASSverdict.
Acknowledgements
- Thanks to Marius van Niekerk for multiple job IDs in
roborev wait, mouse improvements for TUI tasks, and Kilo agent support.
2026-02-25
Improvements
- TUI help bar restyled with two-tone key hints and aligned columns for easier shortcut scanning.
- Unified stream output formatting across CLI and TUI views for more consistent display.
Bug fixes
- Show the correct
roborevversion when installed viago install.
Acknowledgements
- Thanks to Miki Tebeka for reporting the correct version when roborev is installed with
go install. - Thanks to Marius van Niekerk for restyling the TUI help bar with aligned two-tone keys.
2026-02-24
New features
roborev tui --repoand--branchflags to launch the TUI pre-filtered to a specific repository or branch. Without a value, each flag resolves to the current repo/branch. With=syntax (e.g.--repo=/path/to/repo,--branch=feature-x), the value is used directly. When set via flags, the filter is locked and cannot be changed in the TUI.- Inline fix panel in the TUI review view: press
Fwhile viewing a review to open a fix prompt at the bottom of the screen instead of a full-screen modal.Tabtoggles focus between the review content and the fix input.Entersubmits,Esccancels. - Shell completions for
--agentand--reasoningflags across all commands that accept them (init,review,run,fix,analyze,refine). - OpenCode JSON stream support: the OpenCode agent now uses
--format jsonfor structured JSONL output, integrated into the unified stream formatter for consistent progress rendering. - CI repository matching with wildcard patterns and exclusion lists.
ci.reposentries now support glob patterns (e.g."myorg/*","myorg/api-*") usingpath.Matchsyntax. Newexclude_reposfield filters out matching repos, andmax_repos(default: 100) caps the total expanded count. Wildcard results are cached for one hour.
Improvements
- TUI help bar uses table-based rendering for consistent column alignment across all views.
Bug fixes
--all-branchesnow implies--openonroborev fixandroborev refine, removing the need to pass both flags.- Patch application in git worktrees resolves the correct worktree path via
git worktree list, fixing failures when the branch is checked out in a non-default worktree location. - Temporary command execution uses explicit file sync and retry with exponential backoff to prevent intermittent
text file busy(ETXTBSY) races on Linux.
Acknowledgements
- Thanks to Marius van Niekerk for TUI repo/branch flags, help bar alignment, temp-command race fixes, shell completions, worktree patch-path handling, and the inline fix panel.
- Thanks to Danny Steenman for CI repo wildcard patterns and exclusion lists.
2026-02-23
New features
- Shell completion for
roborev analyzecommand types: tab-complete analysis type names (e.g.roborev analyze <TAB>suggestsrefactor,complexity, etc.). - Persistent job logs: agent output is written to
~/.roborev/logs/jobs/as NDJSON so review activity survives daemon restarts. - Unified log viewer:
roborev log <job-id>renders stored job output on the CLI, and pressinglin the TUI opens a scrollable log viewer with live polling for running jobs.roborev log cleanremoves old log files.
Improvements
- Test and production runtime data are isolated so
go testruns do not pollute~/.roborev/logs or interfere with the production daemon. - CLI and TUI streaming output uses gutter-grouped tool calls, markdown text wrapping, and Codex reasoning item rendering for clearer review progress.
Bug fixes
- Handle empty Git refs when fixing compact review jobs to prevent fix-flow failures. The server resolves a usable ref from the parent job’s branch or falls back to HEAD, and the TUI shows a confirmation modal when no ref is available.
Acknowledgements
- Thanks to Marius van Niekerk for analyze command shell completions and compact-review fix handling for empty git refs.
2026-02-22
New features
roborev ci review: daemon-free batch reviews for CI pipelines with auto-detection of GitHub Actions environment variables (GITHUB_REPOSITORY,GITHUB_REF,GITHUB_EVENT_PATH).roborev init gh-action: generates a GitHub Actions workflow file with SHA256-verified roborev installation and agent setup.- TUI fix jobs: press
Fon a completed review to launch a background fix in an isolated worktree. New Tasks view (T) for managing fix jobs and applying patches. - CI poller auto-clone: repos in
ci.reposno longer require a localroborev initcheckout. The poller clones them automatically to~/.roborev/clones/. - Quota-aware agent cooldown: agents that hit hard quota limits enter a timed cooldown (default 30 min) with automatic failover to backup agents. CI comments show “skipped (quota)” instead of “failed”.
- Daemon activity logging for better operational visibility.
Improvements
- Review verdicts are stored for reuse in later review workflows.
Bug fixes
- Fix jobs now create worktrees at the reviewed commit instead of HEAD, preventing patches against the wrong revision.
- Database migration no longer crashes on databases with quoted table names from prior ALTER TABLE migrations.
- Missing git origin remote treated as confirmed mismatch for auto-clone instead of a transient error.
- Fixed a data race between
WorkerPool.StartandWorkerPool.Stop.
Acknowledgements
- Thanks to Hugh Brown for storing verdicts for later use.
- Thanks to Alejandro Saucedo for adding
roborev ci reviewand theinit gh-actionworkflow generator. - Thanks to Marius van Niekerk for TUI-triggered fixes through background worktrees.
2026-02-17
New features
roborev compactcommand to verify and consolidate open review findings, reducing false positives and merging related findings from multiple reviews into a single consolidated review.- Backup-agent failover: automatically retry failed jobs with a secondary agent when the primary fails (e.g. fall back to Claude Code when Codex rate-limits).
- GitHub commit status checks: the CI poller posts pending/success/failure statuses on PR commits when GitHub App auth is configured.
- Ref-aware configuration: the CI poller reads
.roborev.tomlfrom the PR branch’s git ref, so configuration can vary by branch. --labelflag onroborev runfor custom labels displayed in the TUI.
Improvements
- Consolidated review guidelines for more consistent review output across commands.
- Hardened CI and hook workflows for more reliable automated runs.
Bug fixes
- Post-rewrite hook preserves review history across rebases by remapping commit SHAs when patch content is unchanged.
- Skip hook upgrade checks in CI mode to avoid CI interruptions.
Acknowledgements
- Thanks to Nick Strayer for backup agent failover for review jobs.
- Thanks to Hugh Brown for the
compactcommand for verifying and consolidating reviews.
2026-02-16
New features
roborev waitcommand to block until a review job completes, improving scripting and CI flows.- Refine targeting flags so you can run
roborev refineagainst specific findings. - Unified TUI tree filter with lazy branch loading, search, and current-directory prioritization.
Improvements
- Improved TUI hint bar to make available actions clearer.
- Removed the hardcoded OpenCode model so model selection follows your configuration.
Bug fixes
- Fixed TUI Cursor cancel behavior and corrected closed/open stats display.
- Fixed agent prompt handling on Windows to avoid the 32KB command-line limit.
- Fixed refine loops so git hook failures no longer break execution.
- Stripped
CLAUDECODEwhen spawning theclaude-codeagent to prevent environment leakage.
Acknowledgements
- Thanks to Jeremy Jordan for adding
roborev wait. - Thanks to Nick Strayer for the unified tree filter with lazy branch loading, search, and cwd prioritization.
2026-02-11
New features
roborev configsubcommands (get,set,list) for viewing and managing configuration from the CLI.--branch <name>flag onroborev analyzeand explicit branch names inroborev review --branch.
Improvements
- Refreshed built-in Claude and Codex skill guides for review/refine/respond/fix workflows.
Acknowledgements
- Thanks to Hugh Brown for skill tuneups.
- Thanks to Marius van Niekerk for the
roborev configget/set/list subcommand.
2026-02-11
New features
- TUI renders Markdown in review output for clearer formatting.
Improvements
- TUI output is sanitized and escaped to prevent control sequences from breaking terminal rendering.
2026-02-10
New features
reviewandreview-branchskills for Codex and Claude to run code reviews from agent skills.design-review-branchskills for Codex and Claude.
Improvements
- Normalized skill invocation patterns for more consistent matching.
- Improved Codex stream handling with stronger merge guarding.
Bug fixes
- Fixed cases where the Codex agent produces no visible CLI output.
- Fixed range reviews that fail when the start point is the repository root commit.
2026-02-10
New features
- Server-side filtering for review/job lists.
- Automatic TUI filtering to narrow visible reviews and jobs.
- Filter metrics to show what filtering matches.
Improvements
- Clearer TUI command display and improved prompt navigation.
Bug fixes
- Prevented the daemon from inheriting
GIT_DIRfrom Git hook environments.
2026-02-09
New features
--typeflag fordesignandsecurityreviews from the CLI.- Jump-to-top shortcut (
g) in the TUI. - Built-in design review skill templates for Codex and Claude.
Bug fixes
- Fixed review-type consistency so selected modes are applied reliably across commands.
Acknowledgements
- Thanks to Benn Stancil for the TUI jump-to-top shortcut.
- Thanks to Hugh Brown for the
--typeflag for design and security review types.
2026-02-08
New features
- CI poller that detects GitHub pull requests and queues reviews automatically.
- GitHub App integration for authenticated PR review workflows.
- Persistent CI review tracking that survives daemon restarts.
hide_closed_by_defaultconfig option for the TUI.
Improvements
- Expanded configuration to support CI polling and GitHub App settings.
- Default Gemini model set so Gemini works without explicit model configuration.
- Hardened agent integrations for improved reliability.
Acknowledgements
- Thanks to Aseem Bansal for
hide_addressed_by_default, the Gemini default model, and agent/test hardening.
2026-02-04
New features
roborev listcommand for viewing stored reviews.--jsonflag onroborev showfor machine-readable output.- Color-coded Closed column in the TUI.
Improvements
- TUI queue view displays
JobIDinstead ofIDfor clearer identification.
Bug fixes
- Fixed verdict detection for
Severity: Levelformat. - Fixed hook v1 to v2 upgrade by stripping
&and documentinginstall-hook --force.
2026-02-03
Improvements
- Show available fixes in the
roborev fixlist. - Fail fast when task jobs are missing a prompt.
Bug fixes
- Prevented wrong agent selection and duplicate reviews from the post-commit hook.
Acknowledgements
- Thanks to Hugh Brown for the fix-list fixes-available feature and adding
bin/to.gitignore.
2026-02-02
New features
/roborev:fixskill to address multiple review findings in one pass.{findings}template variable for hook commands.
Improvements
- Show skill status in
roborev skillsoutput. - Upgrade post-commit hook on init to keep tooling up to date.
Bug fixes
- Fixed post-commit hook backgrounding to avoid blocking or hangups.
Acknowledgements
- Thanks to John Zila for the
{findings}hook command template variable.
2026-01-31
New features
- Review hooks system to run shell commands when reviews complete or fail.
--batchflag onroborev fixfor batch operation.
Improvements
- Rewritten README documenting the coding agent workflow.
Bug fixes
- Fixed hook tests for portability across environments.
2026-01-30
New features
- Cursor agent support.
check-agentscommand to list and smoke-test available agents.--openflag onfixfor batch fixing.show --promptto display the prompt sent to the agent.
Improvements
- Improved daemon resilience and overall UX.
- Include current UTC date in review prompts for temporal context.
Bug fixes
- Fixed shell wildcard expansion in
analyzewhen run from subdirectories. - Prevented duplicate review jobs when enqueueing.
- Fixed branchless jobs not included when running fix.
2026-01-29
New features
roborev analyzefor built-in code analysis workflows.roborev fixto apply guided fixes from analysis results.
Bug fixes
- Fixed cosmetic issues in repo stats display.
- Fixed zero “Created” date in
roborev repo show.
2026-01-27
New features
- Workflow-specific configuration keys and
--fastshorthand flag. - Branch column in the TUI with filtering support.
--localflag to run reviews without starting the daemon.
Improvements
- Improved TUI row selection styling.
Bug fixes
- Fixed branch filter returning no results when fetch is limited.
- Fixed false negative verdicts when severity labels are present.
- Fixed
make installto avoid usinggo install.
2026-01-26
New features
tailcommand to view streaming agent output.- Support for multiple clones running concurrently.
- Automatic terminal color adaptation for light/dark themes.
Improvements
- Show model name and reorganized Review screen layout.
Bug fixes
- Fixed
addressAPI and CLI to usejob_idcorrectly.
2026-01-25
New features
- Configurable model selection for all agents.
- Gemini-specific preamble support for run tasks.
- TUI commit viewer, help modal, and clearer navigation feedback.
2026-01-24
New features
- Layered Escape key behavior to clear filters one level at a time.
- Gemini-specific review template with upfront summary requirement.
Improvements
- Renamed
promptcommand torunfor clearer CLI usage. - Improved daemon lifecycle management for safer start/stop.
Bug fixes
- Fixed TUI flickering when the queue is empty with filters applied.
- Fixed edge cases in daemon shutdown.
2026-01-23
New features
- Config hot-reload for the daemon.
- Factory Droid agent support.
yhotkey to copy review content to the clipboard.- Review metadata header in clipboard yank content.
- PowerShell installer and ARM64 builds for Windows.
Improvements
- Flash notifications for incomplete jobs in the TUI.
- Homebrew tap integration for easier installation.
Bug fixes
- Fixed multi-byte character handling in TUI text input.
- Fixed Codex agent stdin handling on Windows.
Acknowledgements
- Thanks to Arthur Gerigk for Factory Droid agent support.
2026-01-21
New features
- TUI respond modal to capture review responses and include them in future prompts.
Bug fixes
- Fixed TUI rendering artifacts when scrolling with page up/down.
2026-01-20
New features
- PostgreSQL sync to share reviews across multiple machines.
Improvements
- Simplified
install.shand moved docs screenshots to roborev-docs repo. - Instruct reviewers to skip commit message review.
Bug fixes
- Fixed race condition that caused closed items to briefly reappear.
- Fixed markdown formatting in verdict parsing.
- Fixed
sync nowto connect automatically when the daemon is not yet connected.
2026-01-19
New features
--sinceoption onroborev reviewto scope reviews to recent changes.- Gemini support for
roborev refine. - Copilot and OpenCode agent support.
Improvements
- Default
allow_unsafe_agentsto true for refine when using Claude. - Improved TUI rendering and presentation.
Bug fixes
- Fixed TUI rendering glitches and layout issues.
2026-01-18
New features
roborev promptcommand for custom agent tasks.roborev repocommand for managing tracked repositories.- Nix flake app entry for roborev.
Improvements
- Claude Code compatibility for
roborev refine. - Expanded daemon API to support repo and prompt operations.
Acknowledgements
- Thanks to Hussain Sultan for adding the Nix roborev app.
2026-01-16
New features
roborev skills installcommand to install bundled agent skills.- Bundled skills for Claude Code and Codex (address/respond workflows).
2026-01-14
New features
refinecommand for automated review fixing.
Improvements
- Allow
roborev refineon main with--since, waiting for in-progress reviews. - Use configured
display_namein the filter modal.
Bug fixes
- Fixed queue cursor behavior when hide-closed is active and closing from the review screen.
2026-01-13
New features
- Renamed
enqueuetoreviewwith a cleaner CLI interface. --dirtyflag to review uncommitted changes.--waitflag to keep the CLI open until review completes.
2026-01-11
New features
rhotkey to rerun failed/canceled jobs or start a new review.roborev streamcommand for JSONL event streaming.excluded_branchesanddisplay_nameconfig options.- Nix flake for building and development.
Improvements
- Full commit message bodies included in review prompts.
- Clearer new release notifications.
Bug fixes
- Fixed git worktrees being treated as separate repositories.
- Fixed false positive “failed” reviews.
Acknowledgements
- Thanks to John Zila for JSONL event streaming, git worktree repository detection fixes, and the Nix flake.
2026-01-10
New features
hhotkey to hide closed reviews.- Branch display in the TUI review view.
- Distinct
[CLOSED]color styling in review view.
Improvements
- Improved verdict parsing.
- Improved TUI height sizing and review ID display.
Bug fixes
- Fixed TUI height sizing display issues.
2026-01-09
New features
- Filter-by-repo modal in the TUI.
ROBOREV_DATA_DIRenv var to override the data directory.- Configurable job timeout.
- TUI pagination for large review lists.
- Keyboard navigation between reviews without returning to the list.
- P/F (Pass/Fail) verdict column in the TUI queue.
Improvements
- TUI views fit terminal width dynamically.
- More robust executable path handling for hooks.
Acknowledgements
- Thanks to Andy Hadjigeorgiou for configurable job timeouts and responsive TUI widths.
2026-01-08
New features
roborev updatecommand to check for and install updates.- TUI notification when a new version is available.
- Husky git hook manager support.
Improvements
- Automatic
.git/hooksdirectory creation. - Respect
core.hooksPathfor git operations. - Refactored post-commit hook for improved security and silent operation.
- Detect rebase state and skip reviews during rebase.
Bug fixes
- Fixed version comparison for dev builds.
- Fixed Windows path detection for hook locations.
Acknowledgements
- Thanks to Tenzin Wangdhen for Husky git hook manager support and automatic
.git/hooksdirectory creation.
2026-01-07
New features
- Job cancellation with
xkey in the TUI (terminates agent subprocess). uninstall-hookcommand.
Bug fixes
- Fixed TUI selection highlight to cover the full line.
- Fixed job cancellation persistence and race conditions.
- Fixed migration handling for foreign keys and ALTER TABLE ordering.
2026-01-06
New features
- Project-specific review guidelines in
.roborev.toml. - Closed status tracking with a dedicated closed column and toggle.
- Prompt inspection in the TUI.
- Page up/down navigation in the TUI.
- Daemon version tracking with auto-restart on upgrade.
- Gemini CLI and Copilot CLI agent support.
- OpenCode agent support.
- Automatic retry for failed reviews (up to 3 attempts).
Improvements
- Optimistic updates for close toggle.
- Compact timestamp format in the TUI queue.
- Daemon version displayed in the TUI and CLI.
Bug fixes
- Fixed TUI queue edge cases for empty queues and navigation.
- Fixed daemon stop behavior and restart reliability.
- Fixed SQLite datetime parsing for TUI timestamps.
- Fixed retry job atomicity.
Acknowledgements
- Thanks to Jonathan for OpenCode agent support.
2026-01-05
Initial release.
- Pure-Go SQLite driver for static binaries.
--addrnormalization to addhttp://prefix if missing.