Changelog

API changes - status changes without reasons, Steers without revisions

The REST API stays at /api/v2 and the MCP server at /api/mcp. These changes apply to REST, MCP and the CLI alike; check any client that validates responses strictly or still sends a reason with a status change.

Improved

  • Runs name their repository's slug. GET /runs, GET /runs/{run} and the run start and cancel responses now carry slug on the run's repository and on each of its repositories. CLI 1.2 requires it, so update with npm install -g @v12sh/cli before you use v12 runs. A client that checks responses against a fixed list of fields must accept the new one.
  • A failed GitHub request answers 503. upstream_error now returns HTTP 503 instead of 502, so a client that retries only on 502 must retry on 503 too. See Errors.
  • Push credentials check the branch name. The branch must be a valid Git branch name; a name Git refuses, such as a..b, one that starts with -, or one that ends in .lock, now gets 400.

Removed

  • Reasons on status changes. PATCH /findings, PATCH /findings/{finding} and the update_findings tool refuse reason with 400 invalid_request, and v12 findings status no longer takes --reason. Stop sending it; to say why, comment on the finding. See Triage the inbox.
  • Reasons in finding responses. A finding's decision is now { "kind": ... } without reason, and the assessed, marked-fixed and marked-present entries in its activity have no reason. Reasons recorded earlier are no longer returned. A client that requires these fields must stop requiring them; CLI 1.1 and older do, so update with npm install -g @v12sh/cli. See Findings.
  • Steer events in a finding's activity. A changed entry no longer has steer as its field, and a decision change carries the decision kind as its value. A client that switches on field can drop its steer case. See the REST reference.
  • Steer revisions. revision is gone from Steers and from the Steers a run carried, and steerRevisions from a run estimate. A run still keeps every Steer document as it was when the run started. See Steers.