About & methodology
HarnessWatch rebuilds from public, official sources only. We never invent versions or complaints; if a source fails, it is listed below.
Sources
- GitHub Releases API: anthropics/claude-code, openai/codex, sst/opencode, google-gemini/gemini-cli
- Cursor: cursor.com/changelog (HTML, latest entries only)
- Google Antigravity: antigravity.google/docs/changelog (App, CLI, IDE, extensions, SDK)
| Source | Status | Releases | Issues sampled |
|---|---|---|---|
| claude-code | ✅ ok | 40 | 589 |
| codex-cli | ✅ ok | 40 | 300 |
| opencode | ✅ ok | 40 | 298 |
| gemini-cli | ✅ ok | 40 | 598 |
| cursor | ✅ ok | 5 | – |
| antigravity | ✅ ok | 173 | – |
“Safe to upgrade?” signal
- For GitHub-hosted tools we sample the most recent ~300 issues per bug label (claude-code:
bug,regression; codex:bug; opencode:bug; gemini-cli:kind/bug,type/bug). Pull requests are excluded. - Window = the 72h after a release was published, cut short if the next release shipped earlier.
- Each issue opened in the window counts 1; issues labelled or titled “regression” count 3.
- Score = weighted count × (72 / window hours), so short windows are scaled up fairly.
- Looks safe score < 15 · Some reports 15–40 · Many reports ≥ 40.
- Not enough data when the release is under 72h old, the window is under 12h, our sample doesn’t reach back that far, or the tool has no public tracker (Cursor, Antigravity).
Caveats: issues opened after a release aren’t necessarily caused by it; popular tools get more reports overall. Treat the signal as a prompt to read the linked issues, not a verdict.
Breaking-change highlights
Lines of the release notes matching breaking / deprecated / removed / no longer / migrate / renamed are surfaced. This is keyword-based and can miss or over-flag items.