What's Changed
- feat(jcode): add support for Jcode by @yousiki in #718
- fix: update copyright year to use current year dynamically by @wilsonwu in #704
- feat(kiro): add globalStorage support by @leecoder in #715
- fix(codex): count user fork turns after replay by @wuruoye in #719
- feat(sessions): add Command Code as a tracked source by @baanish in #717
- feat: add MiMo Code client support by @LynnGuo666 in #710
- feat(sessions): read Antigravity CLI usage from local SQLite databases by @haunchen in #713
- ci: update coverage badge [skip ci] by @github-actions[bot] (8e31b29)
- feat(report): add multi-backend summarizer and LLM task grouping by @leecoder in #633
- test(cli): add micode + antigravity-cli to legacy-flag filter test roster by @junhoyeo (1759b47)
- test(cli): drop antigravity-cli from legacy-flag roster (it has no boolean flag) by @junhoyeo (6a6fd5f)
- ci: update coverage badge [skip ci] by @github-actions[bot] (dddeb26)
- feat(report): native Rust apple-fm summarizer via FoundationModels FFI (drop Python) by @junhoyeo in #721
- docs(readme): sync EN/ja/ko/zh — Command Code, Antigravity CLI, report cmd, Warp/Cline by @junhoyeo in #720
- fix: handle underscore-format cache token attributes from Copilot CLI OTEL by @larsbj1988 in #723
- fix(copilot): populate Agents tab from gen_ai.agent.id in OTEL spans by @larsbj1988 in #724
- feat(usage): add MiniMax Token Plan subscription usage (CN + Global) by @xczllgit in #728
- fix(apple-fm): real on-device generation (programmatic schema) + dlopen packaging so npm arm64 never crashes on macOS <26 by @junhoyeo in #726
- Add JetBrains Junie client support by @Haehnchen in #727
- feat(cli)!: remove deprecated per-client boolean flags by @junhoyeo in #465
- feat(tui): add subscription usage dashboard by @astkaasa in #731
- fix(roocode): invalidate cache when sibling api_conversation_history.json changes by @Nanako0129 in #741
- fix(micode): namespace dedup key by database; guard authoritative cost from repricing by @Nanako0129 in #742
- fix(gjc): namespace header-less session fallback by file name by @Nanako0129 in #743
- fix(antigravity-cli): date each turn by its per-generation timestamp by @Nanako0129 in #737
- fix(codex): compare the v7 millisecond timestamp, not the full UUID, in the fork-replay gate by @Nanako0129 in #735
- fix(usage): set new UsageOutput credit fields in MiniMax Token Plan by @junhoyeo (b7c81a3)
- ci: update coverage badge [skip ci] by @github-actions[bot] (8ffea18)
- feat: support Sakana / Fugu (pricing + provider identity + docs) by @junhoyeo in #744
- feat(usage): Sakana (Fugu) subscription-usage provider via billing-console scrape by @junhoyeo in #745
- ci: update coverage badge [skip ci] by @github-actions[bot] (67f96c6)
- feat(tui): brand the Sakana usage provider red in the dashboard by @junhoyeo in #748
- fix(usage,sessions): resolve token/subscription usage integration disparities by @junhoyeo in #760
- fix(display): render provider names correctly in Models views by @junhoyeo in #763
- fix(display): preserve all providers in merged Models rows by @junhoyeo in #764
- fix(micode): normalize epoch seconds vs milliseconds in time.created by @junhoyeo in #747
- fix(junie): unique dedup ordinal, scoped turn-start, kind-based skip by @junhoyeo in #749
- fix(commandcode): char-safe model canonicalize, MiniMax pricing, per-turn input by @junhoyeo in #750
- fix(copilot): per-message agent attribution, whitespace ids, cache-key parity by @junhoyeo in #751
- fix(kiro): de-duplicate snapshot traversal and align model-id key-sets by @junhoyeo in #752
- fix(jcode): prefer journal token_usage over stale snapshot + parse tz-less timestamps by @junhoyeo in #754
- fix(usage): correct Sakana decimal percent, config-dir, and logged-out detection by @junhoyeo in #756
- fix(usage/codex): preserve reset-credit count and gate detail fetch by @junhoyeo in #757
- fix(usage): surface active-provider fetch errors instead of dropping them by @junhoyeo in #759
- chore(release): pre-v4.0.0 doc sync + fix report summarizer content by @junhoyeo in #746
- fix(report): bucket and filter report dates in local time by @junhoyeo in #753
- fix(report): stop LLM title clustering from over-merging unrelated sessions by @junhoyeo in #755
- fix(tui): color Fable models in the Anthropic palette like Opus by @junhoyeo in #762
- docs(sakana): create session-cookie file mode 600 at creation by @junhoyeo in #765
- ci: update coverage badge [skip ci] by @github-actions[bot] (2ec803e)
- fix(antigravity-cli): clamp untrusted token varints + pre-release hardening by @junhoyeo in #766
- chore(format): unblock v4 release CI with rustfmt output by @junhoyeo (9b85b67)
- fix(docs): use tokscale.ai everywhere; drop stale .com/.dev refs by @junhoyeo in #768
- docs: full ja/ko/zh-cn re-sync with EN README by @junhoyeo in #767
New Contributors
- @Nanako0129 made their first contribution in #741
- @Haehnchen made their first contribution in #727
- @larsbj1988 made their first contribution in #723
- @haunchen made their first contribution in #713
- @LynnGuo666 made their first contribution in #710
- @wuruoye made their first contribution in #719
- @wilsonwu made their first contribution in #704
Full Changelog: v3.1.3...v4.0.0
