What's Changed
- fix(cursor): increase HTTP timeout to 15 seconds by @RawToast in #1025
- ci(test): run the suite on windows-latest (advisory) and fix the $HOME redirect by @junhoyeo in #1012
- feat(moderation): tell a hidden user they are hidden, and how to appeal by @junhoyeo in #1020
- fix(tencent-buddy): don't double-count cached input tokens by @Yuxin-Qiao in #1023
- fix(usage): stop tokscale from rewriting Codex's auth.json by @junhoyeo in #1017
- fix(grok): parse unified usage with scoped attribution by @jR4dh3y in #1000
- feat(submit): populate per-device client/bucket token high-water marks by @junhoyeo in #1015
- fix(cli): pin the timezone usage days are bucketed into by @junhoyeo in #1016
- fix(pricing): resolve gemini-default routing label for submission by @Yuxin-Qiao in #1026
- fix(pricing): compose routing-prefix and tier-suffix stripping by @MoerAI in #1029
- fix(pricing): keep published cache rates so submit stops rejecting Codex usage by @MoerAI in #1028
- feat(clients): add standalone Cline CLI and Kimchi sessions by @jR4dh3y in #998
- fix(sync): hold the antigravity and trae sync locks in the OS by @MoerAI in #1030
- test(submit): reproduce timezone re-split double count (#960) by @Yuxin-Qiao in #1033
- perf(leaderboard): move leaderboard aggregation into PostgreSQL by @junhoyeo in #871
- feat(infra): add optional self-hosting support (Docker/Podman + Makefile) by @slmingol in #969
- feat(reasonix): parse local session usage by @swarnimarun in #732
- feat(submit): record unguarded daily totals in a shadow table (#960) by @Yuxin-Qiao in #1034
- fix(claude): skip synthetic tool-result attribution by @junhoyeo in #1038
- docs: update README with instructions on how to run the application by @junhoyeo (068fefe)
- docs(readme): sync localized documentation by @junhoyeo in #1039
- ci: route checks by changed targets by @junhoyeo in #1040
- ci: update coverage badge [skip ci] by @github-actions[bot] (ff73f39)
- fix(grok): keep parsing session files past undecodable lines by @junhoyeo in #1041
- fix(pricing): price free models whose rows omit cache rates by @junhoyeo in #1042
- fix(pricing): stop pricing fetches from writing the cache when the caller opted out by @junhoyeo in #1043
- fix(windows): repair the Windows test leg and the three product bugs it was hiding (52 → 0) by @junhoyeo in #1046
New Contributors
- @Yuxin-Qiao made their first contribution in #1023
- @swarnimarun made their first contribution in #732
- @slmingol made their first contribution in #969
- @MoerAI made their first contribution in #1029
- @jR4dh3y made their first contribution in #1000
Full Changelog: v4.9.0...v4.10.0
