What's Changed
Review sessions carry a structured tag
- Every review pass now sends
--tagwith metadata instead of a barecode-reviewname (#142){name:"code-review", metadata:{pass, reviewType, platform, repo, pr, runId, runAttempt}}on GitHub and GitLab, for both the candidates and validator passes- The tag name is unchanged, so existing
code-reviewfilters keep working; the metadata lets analytics identify and pair review sessions without parsing prompt text (GitLabMR !Nand dotted repo names were previously misclassified)
No retries after a usage-limit failure
droid execstops after the first attempt when the API returns a usage limit (#141)- 5-hour/weekly/monthly limits, exhausted Extra Usage, credit limit, and BYOK empty-balance 402s no longer trigger the three-attempt retry, which was opening three failed sessions per review
- The PR comment now shows the limit's human-readable detail as the error message
Review posting
- Review posting is deterministic and pinned to the validated commit; the validator token is dropped (#138)
- Tracking and inline comments are tagged with their run type (default, unresolved, security), so comments from skipped security runs are no longer posted and combined markers survive edits (#133, @factory-andrew-seo)
- Bot-authored reviews are allowed in CI (#137)
- GraphQL responses without an envelope no longer crash the PR fetcher (#132)
Maintenance
- Updated default review models (#135)
- Resolved dependency vulnerabilities flagged by the security scan, including the MCP SDK in the mcp-test fixture (#128, #130)
Full Changelog: v7...v8