What's Changed
- [ImgBot] Optimize images by @imgbot[bot] in #1452
- fix(copilot): resolve the gh host and key every credential source and the endpoint to it by @kevin9327 in #1438
- fix(codex): count usage from compaction turns by @PJunhyuk in #1439
- fix(submit): sync Antigravity cache prior to session scanning by @thedavidweng in #1435
- fix(codex): retain usage from large compressed rollouts by @junhoyeo in #1453
- fix(copilot): normalize GitHub host aliases by @junhoyeo in #1455
- fix(antigravity): silence repeated budget warnings by @junhoyeo in #1457
- test(codex): cover aggregate compressed archive limit by @junhoyeo in #1459
- feat(amp): sync server-side threads via amp CLI and fix usage card by @overstarry in #1436
- fix(codex): settle usage when terminal events end a turn by @junhoyeo in #1456
- feat(groups): add member management controls by @pingu52 in #1429
- fix(core): avoid UTF-8 panic in model normalization by @shuaiyafei in #1454
- fix(hermes): split cross-day sessions by logged call timestamps by @Tsuki-hash in #1432
- fix(tui): include language hint in compact footer row by @azestkingscrown in #1462
- perf(claudecode): resume a growing transcript from its cached checkpoint by @genx7up in #1461
- test(groups): cover member management client flows by @junhoyeo in #1463
- test(core): expand UTF-8 normalization coverage by @junhoyeo in #1464
- feat(tui): compact footer hints progressively by @junhoyeo in #1467
- feat(analytics): add calendar periods and group reporting settings by @pingu52 in #1428
- perf(claudecode): reuse checkpoint digest buffer by @junhoyeo in #1468
- fix(cursor): sync incrementally with isolated account caches by @aravhawk in #1430
- fix(dsh): measure generation latency from the step/start clock by @Kitcura-1004 in #1427
- docs(dsh): clarify embedded stream settlement clock by @junhoyeo in #1471
- perf(cursor): bound cache ownership reads by @junhoyeo in #1470
- fix(hermes): prefer broader cross-database day coverage by @junhoyeo in #1466
- fix(pi): include generation time in speed statistics by @Fov6363 in #1426
- fix(pi): prefer recorded request start timestamps by @junhoyeo in #1472
- feat(tui): detect ambiguous-width terminals and restore crafted glyphs by @junhoyeo in #1469
- fix(copilot): merge duplicate OTEL snapshots across files by @huyanxius in #1434
- fix(copilot): scope the cross-file snapshot merge to Copilot rows by @junhoyeo in #1474
- fix(goose): discover Windows session databases by @REMIXPLAYER in #1458
- fix(goose): join Windows database paths with native separators by @junhoyeo in #1476
- feat(core): expose cost provenance in JSON usage aggregates by @azestkingscrown in #1422
- test(antigravity): drive the sync deadline from an injected clock by @junhoyeo in #1478
- fix(tui): render sub-cent cost per million as <$0.01 instead of rounding to $0.00 by @azestkingscrown in #1420
- fix(core): harden the cost-estimate capture and de-brittle the graph-compat fixture by @junhoyeo in #1479
- feat(clients): add native Aside browser usage support by @roian6 in #1416
- test(cli): isolate HOME in the backfill payload test by @junhoyeo in #1480
- feat(vibe): add client support for Mistral Vibe by @azestkingscrown in #1424
- fix(submit): populate CLI retention floors, clamp totalTokens metric, and guard deficit re-dating by @azestkingscrown in #1418
- docs(aside): explain why discovery cannot use the generic walker by @junhoyeo in #1481
- test(submit): cover per-field Antigravity coverage deficits by @junhoyeo in #1482
- fix(kilocode): count Kilo Code usage, cost and provider correctly by @tris in #1406
- feat(codex): allow overriding decoded archive size limit via TOKSCALE_CODEX_MAX_DECODED_BYTES by @azestkingscrown in #1483
- fix(codex): warn when TOKSCALE_CODEX_MAX_DECODED_BYTES cannot be used by @junhoyeo in #1486
- docs: use the v3 hero and Open Graph images by @junhoyeo in #1487
- Update README with new follow and support links by @junhoyeo (c921828)
- docs(readme): lead translated community links with X by @junhoyeo (dc20360)
- docs(readme): real-usage TUI screenshots and translated link order by @junhoyeo in #1489
- fix(codex): resolve OpenCodex combo usage to physical models by @Transient-Onlooker in #1400
- fix(pi): count billed operations outside assistant replies by @20031010wzm in #1477
- fix(cursor): sync a signed-in desktop session into usage reports by @aravhawk in #1397
- [ImgBot] Optimize images by @imgbot[bot] in #1490
- fix(pricing): do not apply request-wide tiers to multi-call turn aggregates by @azestkingscrown in #1410
- fix(cursor): point setup warnings at the maintained JSON cache by @junhoyeo in #1491
- feat(usage): show Cursor Auto/API tracks and Grok Bot quotas by @dnplus in #1403
- feat(pricing): scope custom rates by billing provider by @huyanxius in #1433
- test: make coverage-only failing tests deterministic under tarpaulin ptrace by @junhoyeo in #1492
- ci: update coverage badge [skip ci] by @github-actions[bot] (17ee55e)
New Contributors
- @huyanxius made their first contribution in #1434
- @20031010wzm made their first contribution in #1477
- @Transient-Onlooker made their first contribution in #1400
- @tris made their first contribution in #1406
- @roian6 made their first contribution in #1416
- @Fov6363 made their first contribution in #1426
- @Kitcura-1004 made their first contribution in #1427
- @pingu52 made their first contribution in #1429
- @genx7up made their first contribution in #1461
- @Tsuki-hash made their first contribution in #1432
- @shuaiyafei made their first contribution in #1454
- @overstarry made their first contribution in #1436
- @kevin9327 made their first contribution in #1438
Full Changelog: v4.19.1...v4.20.0
