Sponsored Content
Skip to content

Releases: junhoyeo/tokscale

v4.15.0

Choose a tag to compare

@github-actions github-actions released this 29 Aug 08:17

Tokscale

tokscale@v4.15.0 is here!

What's Changed

  • fix(tui): enable full color in tmux with 256color or truecolor support by @ParkSnoopy in #1210
  • style(tui): collapse a nested condition rustfmt and clippy disagreed over by @junhoyeo (62ca1eb)
  • perf(opencode): skip legacy JSON files SQLite already supersedes by @junhoyeo in #1215
  • perf(copilot): move request DOMs out of session lines instead of cloning by @junhoyeo in #1226
  • fix(dsh): attribute usage to the served model by @IvGolovach in #1221
  • fix(pricing): apply xAI long-context rates request-wide by @IvGolovach in #1223
  • fix(groups): align all-time filters and member search by @IvGolovach in #1224
  • fix(scanner): discover Devin CLI AppData sessions on Windows by @mikemikimike in #1222
  • perf(leaderboard): keep the default leaderboard cache warm by @pleahmacaka in #1208
  • fix(frontend): preserve parser growth after re-attribution by @IvGolovach in #1220
  • fix(pricing): align provider-scoped submission resolution by @IvGolovach in #1219
  • perf(opencode): scan only rows changed since the last cached parse by @junhoyeo in #1212
  • fix(scanner): bound scan parallelism and prune Code/logs for #1153 by @azestkingscrown in #1213
  • feat(clients): add LM Studio usage parsing by @The-Minion-oOo in #1217
  • feat(usage): add Antigravity subscription quota via the local language server by @lingcang728 in #1216
  • ci: update coverage badge [skip ci] by @github-actions[bot] (51d09fa)
  • perf(submit): fold the report during the parse instead of collecting every message by @junhoyeo in #1225
  • ci: update coverage badge [skip ci] by @github-actions[bot] (6df8a21)
  • test(frontend): make high-water replays prove they were not frozen by @junhoyeo in #1227
  • perf(copilot): keep only the request fields the parser reads by @junhoyeo in #1228
  • fix: close eleven defects found by adversarial review by @junhoyeo in #1229

New Contributors

Full Changelog: v4.14.0...v4.15.0

v4.14.0

Choose a tag to compare

@github-actions github-actions released this 26 Aug 08:13

Tokscale

tokscale@v4.14.0 is here!

What's Changed

  • refactor(sessions): share read-only SQLite opening by @junhoyeo in #1093
  • feat(submit): expose reconciliation census gate inputs by @IvGolovach in #1083
  • fix(pricing): separate estimates from submission-safe matches by @IvGolovach in #1084
  • fix(cache): preserve completeness when merging retained and live messages by @IvGolovach in #1085
  • fix(claude): discover sessions under CLAUDE_CONFIG_DIR instead of a fixed ~/.claude root by @Excelius-Wang in #1102
  • refactor(core): consolidate direct cached parse lanes by @junhoyeo in #1094
  • fix(cache): read source cache shards lazily and release consumed payloads by @junhoyeo in #1108
  • fix(cache): preserve live Claude metadata when merging completeness by @junhoyeo in #1110
  • fix(claude): resolve diagnostics cache from config root by @junhoyeo in #1109
  • fix(pricing): reject cross-provider model-part submissions by @junhoyeo in #1111
  • ci: update coverage badge [skip ci] by @github-actions[bot] (e903173)
  • fix(cli): align month titles with bucket dates by @junhoyeo in #1096
  • test(tui): isolate cache and widget config tests by @junhoyeo in #1097
  • fix(tests): isolate core and CLI cache fixtures by @junhoyeo in #1098
  • fix(senpi): discover OmO task child sessions by @ashmoonori-afk in #1113
  • fix(senpi): discover OmO child sessions without duplicate scans by @junhoyeo in #1115
  • feat(clients): add Cherry Studio support (#1105) by xmL (0db29e9)
  • feat(clients): add Cherry Studio support by @sakuralmx in #1105
  • fix(clients): follow a redirected home for the AppData scan root by @junhoyeo in #1121
  • test(claude): cover retained-completed vs live-partial cross-file merge by @junhoyeo in #1118
  • fix(claude): select model-scoped weekly limits by kind, not is_active by @junhoyeo in #1119
  • fix(droid): attribute session usage to the replies that spent it, and bound it server-side by @junhoyeo in #1120
  • fix(pricing): break equal-length candidate key ties deterministically by @Yuxin-Qiao in #1092
  • test: make the #1092 tiebreak regression non-vacuous and de-flake the TUI cache tests by @junhoyeo in #1125
  • fix(workspace): make workspace rows distinguishable as rendered, and bound the filesystem work behind them by @junhoyeo in #1124
  • ci: update coverage badge [skip ci] by @github-actions[bot] (e8ee234)
  • feat(clients): add DeepSeek Harness support by @junhoyeo in #1126
  • fix(cli): force HTTP/1.1 for Windows Antigravity RPC to prevent multiplexing freeze by @marshallcodes in #1127
  • feat: add ccusage import format by @aron-intframe in #1128
  • fix(core): preserve records after invalid JSONL bytes by @junhoyeo in #1095
  • ci: update coverage badge [skip ci] by @github-actions[bot] (05000f9)
  • fix(antigravity): stop re-probing plaintext on a port already known to speak TLS by @junhoyeo in #1130
  • test(claude): pin that the provenance rebuild clears a stale char estimate by @junhoyeo in #1139
  • fix(core): recover BOM-prefixed Pi transcripts and align Prime's accounting walk by @junhoyeo in #1134
  • refactor(core): share one SQLite driver across the OpenCode-schema parsers by @junhoyeo in #1133
  • perf(cli): drop the image codecs and SVG font stacks nothing renders by @junhoyeo in #1132
  • refactor(core): share SQLite, usage-struct and JSONL drivers across the session parsers by @junhoyeo in #1137
  • perf: replace vendored OpenSSL with rustls by @junhoyeo in #1138
  • fix(wrapped): point the OpenClaw logo at a URL that resolves by @junhoyeo in #1141
  • refactor(core): put the Pi-format parsers on the shared session drivers by @junhoyeo in #1143
  • fix(antigravity-cli): resolve routing-label rows from display labels by @azestkingscrown in #1131
  • feat: add MiniMax Code headless usage tracking by @hetaoBackend in #1136
  • fix(pricing): resolve OpenAI Daybreak Blue alias by @aravhawk in #1140
  • fix(pricing): correct MiniMax-M3 first-party rates in alias regression fixture by @octo-patch in #1144
  • fix(codex): stop counting reasoning tokens twice by @junhoyeo in #1146
  • fix(pricing): price Kimi Work models and correct the kimi-for-coding target by @junhoyeo in #1147
  • fix(frontend): make quickstart label scroll to commands by @xtianxx in #1135
  • feat(clients): add fx (vercel-labs) session parsing by @thedavidweng in #1160
  • fix(cursor): preserve exported token buckets and costs by @carlosflorencio in #1154
  • fix(opencode): support session_v2 metadata by @nulluserid in #1156
  • style(opencode): satisfy rustfmt in session_v2 tests by @junhoyeo (ee26e61)
  • ci(release): fail fast when the release base is stale by @junhoyeo (b069c85)
  • docs(readme): document submit exclusion warnings and the custom-pricing fix path by @thedavidweng in #1167
  • fix(scanner): remove nested par_bridge to prevent futex deadlock on large directories by @aruru10313 in #1164
  • fix(cli): do not wait on stdout pump thread if headless capture times out by @aruru10313 in #1166
  • feat(submit): print a fix hint after unpriced-exclusion warnings by @thedavidweng in #1168
  • fix(dsh): count the compaction summarize call, and close two hygiene gaps by @junhoyeo in #1162
  • feat(kimi): discover Kimi Work sessions natively by @REMIXPLAYER in #1170
  • fix: close two hang/double-count gaps found by adversarial review by @junhoyeo in #1173
  • fix(tui): rebuild the aggregate cache when the parser generation changes by @junhoyeo in #1174
  • chore(cache): delete the pre-v2 monolith once the shard cache is in use by @junhoyeo in #1176
  • chore: resolve strict Clippy warnings by @aruru10313 in #1172
  • feat(import): attribute ccusage --by-agent rows to the agent that reported them by @aron-intframe in #1190
  • fix(antigravity): parse standalone usage timestamps by @jh-qu in #1151
  • fix(core): parse kind-1 updates for VS Code Copilot Chat v3 by @aruru10313 in #1182
  • feat(profile): add weekly and monthly ranks by @0thernet in #1179
  • feat(embed): add weekly and monthly stats and ranks by @0thernet in #1178
  • feat(tui): add light mode (white background) toggle to the interactive TUI by @YunhaoFu in #1177
  • feat(usage): add OpenCode Go subscription usage provider by @stevejkang in #1189
  • fix(usage): respect Retry-After on Claude 429 and block requests during cooldown by @stevejkang in #1188
  • fix(pricing): resolve provider-specific model aliases by @Jackson57279 in #1186
  • fix(cursor): extend timeout to 120s for explicit sync of large CSV exports by @aruru10313 in #1183
  • fix(cli): work around an Antigravity RPC sync hang on Windows via curl.exe fallback by @marshallcodes in #1180
  • fix(copilot): support GH_TOKEN env and legacy Windows hosts path for credential detection by @xtianxx in #1191
  • feat(sessions): add Oh My Pi (omp) as a local session source by @bn852j6nky-code in #1161
  • fix(leaderboard): match period rank tiebreakers across profile and embed surfaces by @junhoyeo ...
Read more

v4.13.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 18:55

Tokscale

tokscale@v4.13.0 is here!

What's Changed

  • fix(core): join client scan roots with native path separators by @Felictycf in #1075
  • fix(antigravity_cli): resolve aliases before rejecting ambiguous display labels in SessionModels by @azestkingscrown in #1059
  • docs(ci): stop crediting the windows leg with two defects it did not find by @junhoyeo in #1073
  • docs(test): show the native separator on the emitted side of the scan-path contrast by @junhoyeo in #1079
  • fix(pricing): keep bare routing labels off model-part index fallbacks by @thedavidweng in #1072
  • feat(codex): add OpenCode OAuth usage fallback by @j-chmielewski in #1077
  • fix(pricing): alias bare minimax-m3 spelling to first-party key by @Felictycf in #1076
  • test(cli): widen the headless capture timing gap instead of the bound by @junhoyeo in #1081
  • feat(prime-agent): add local session support by @junhoyeo in #1080
  • fix(tui): gate Apple Terminal truecolor on TERM_PROGRAM_VERSION by @Yuxin-Qiao in #1061
  • feat(clients): add Freebuff session parsing by @thedavidweng in #1064
  • fix(cache): defer TUI warnings until terminal restore by @fzlzjerry in #1065
  • fix(prime-agent): correct fork accounting and session roots by @junhoyeo in #1082
  • ci: update coverage badge [skip ci] by @github-actions[bot] (bf20c28)
  • [ImgBot] Optimize images by @imgbot[bot] in #1087
  • fix(pricing): treat deepseek-ai and deepseek as one vendor by @junhoyeo in #1074
  • fix(copilot): attribute desktop usage to the run that spent it by @MoerAI in #1032
  • fix(prime-agent): cache reconciliation accounting by @junhoyeo in #1088
  • fix(reports): preserve reasoning totals and client display metadata by @junhoyeo in #1091

New Contributors

Full Changelog: v4.12.0...v4.13.0

v4.12.0

Choose a tag to compare

@github-actions github-actions released this 08 Aug 03:48

Tokscale

tokscale@v4.12.0 is here!

What's Changed

  • feat(submit): let a submission declare its cost incomplete by @junhoyeo in #1058
  • fix(pricing): resolve Anthropic moving aliases and Cursor's free cache creation by @junhoyeo in #1067
  • ci(windows): make the windows-latest test leg a hard gate by @junhoyeo in #1068
  • fix(pricing): let custom-pricing.json express a free model by @junhoyeo in #1069
  • fix(pricing): refuse to price router labels, prefer original vendor on ties by @junhoyeo in #1070

Full Changelog: v4.11.0...v4.12.0

v4.11.0

Choose a tag to compare

@github-actions github-actions released this 07 Aug 09:42

Tokscale

tokscale@v4.11.0 is here!

What's Changed

  • fix(submit): exclude unpriced usage without aborting by @Soju06 in #1053
  • fix(claude): stop char-estimating tool_result input tokens by @Yuxin-Qiao in #1037
  • fix(claude): drop tool results that inherit the <synthetic> placeholder by @IngTian in #1045
  • fix(antigravity-cli): attribute turns whose blob omits responseModel by @haunchen in #1051
  • fix(submit): reject exclusions no pricing dataset backs by @junhoyeo in #1055
  • fix(report): stop summaries rendering an empty cost as "-0.00" by @junhoyeo in #1056
  • docs(claude): correct the synthetic-placeholder guard's stated failure mode by @junhoyeo in #1057

New Contributors

Full Changelog: v4.10.0...v4.11.0

v4.10.0

Choose a tag to compare

@github-actions github-actions released this 05 Aug 02:06

Tokscale

tokscale@v4.10.0 is here!

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

Full Changelog: v4.9.0...v4.10.0

v4.9.0

Choose a tag to compare

@github-actions github-actions released this 03 Aug 00:19

Tokscale

tokscale@v4.9.0 is here!

What's Changed

  • feat: recognize OrcaRouter as a provider in display and pricing by @jinhaosong-source in #1004
  • fix: gracefully fall back when LiteLLM pricing fetch fails by @shunkakinoki in #1003
  • fix(usage): stop tokscale from rewriting Claude Code's credentials by @junhoyeo in #1005
  • fix(windows): stop lock and PID probes silently failing off Unix by @junhoyeo in #1007
  • fix(cache): keep Claude turns a transcript rewrite dropped by @junhoyeo in #1008
  • fix(pricing): centralize degraded source fallback by @junhoyeo in #1006
  • test(pricing): cover OrcaRouter reseller semantics by @junhoyeo in #1009

New Contributors

Full Changelog: v4.8.1...v4.9.0

v4.8.1

Choose a tag to compare

@github-actions github-actions released this 01 Aug 07:29

Tokscale

tokscale@v4.8.1 is here!

What's Changed

Full Changelog: v4.8.0...v4.8.1

v4.8.0

Choose a tag to compare

@github-actions github-actions released this 31 Jul 20:25

Tokscale

tokscale@v4.8.0 is here!

What's Changed

  • feat(sponsors): make project funding discoverable by @junhoyeo in #950
  • Add function to union MiMo Code databases from multiple directories by @zhangyunan1994 in #949
  • feat(landing): add a dedicated sponsor section by @junhoyeo in #951
  • feat(cli): add android-arm64 prebuilt for Termux by @alifakbar111 in #948
  • chore(ci): prevent PR and release build drift by @junhoyeo in #953
  • fix(submit): preserve usage history after local session cleanup by @junhoyeo (d9df8c9)
  • fix(submit): derive session metrics per device and harden the active-time guard by @junhoyeo in #955
  • feat(sessions): query session_model_usage for per-model token breakdown in Hermes parser by @n1klaus in #961
  • feat(tui): show model names with family-shade colors in Sessions tab by @cmalec in #956
  • ci: update coverage badge [skip ci] by @github-actions[bot] (3a2d2c5)
  • fix(submit): clamp submission token aggregates to bigint by @junhoyeo in #959
  • fix(kimi): resolve symbolic usage models from requests by @mijanx in #967
  • feat(cursor): auto-login from local Cursor desktop state.vscdb by @FlintyLemming in #968
  • docs(tui): propose a width-budgeted column set for the Sessions tab by @junhoyeo in #965
  • fix(tui): budget the Sessions columns instead of over-subscribing them by @junhoyeo in #966
  • feat(frontend): add display timezone preference for profile charts by @junhoyeo in #952
  • fix(autosubmit): verify macOS launchd activation before reporting success by @Mathews-Tom in #971
  • chore: ignore Claude Code worktrees by @junhoyeo in #974
  • fix(autosubmit): report when the scheduled copy is a stale build by @junhoyeo in #973
  • feat(frontend): add sitemap.xml and robots.txt by @junhoyeo (8e80ba1)
  • fix(frontend): canonicalize the query-param variants of indexable pages by @junhoyeo (9d4bcde)
  • docs(frontend): correct the homeUrl trailing-slash comment by @junhoyeo (e632b8d)
  • fix(frontend): anchor core-page lastmod to real submission activity by @junhoyeo (52d37e9)
  • feat(frontend): add privacy, terms, and contact pages by @junhoyeo (a15ca1c)
  • fix(frontend): give each indexable page its own title and description by @junhoyeo (1594ecf)
  • feat(frontend): render per-profile and per-group Open Graph cards by @junhoyeo (1c39f7c)
  • fix(embed): coerce the bigint rank so UserEmbedStats.rank is really a number by @junhoyeo (fcdbc0d)
  • feat(og): brand the cards with Manrope, Pretendard, and the wordmark by @junhoyeo (4b3f9bb)
  • fix(9router): read usageHistory table, handle missing requestDetails by @n1klaus in #975
  • fix(kimi): treat a blank KIMI_CODE_HOME as unset by @junhoyeo in #976
  • fix(kimi): reject non-positive wire timestamps instead of bucketing pre-epoch by @junhoyeo in #977
  • fix(opencodereview): keep timestampless llm_response records distinct by @junhoyeo in #978
  • feat(clients): add Senpi (OmO Native) token usage tracking by @junhoyeo in #979
  • test(provider): lock family matching for version-suffixed model ids by @junhoyeo in #981
  • fix(provider): ignore Ollama route prefixes during inference by @junhoyeo in #982
  • feat(moderation): hide suspect accounts from the leaderboard without deleting them by @junhoyeo in #980
  • fix(tui): stop forcing Terminal.app into compatible color mode by @jyuwaaw in #983
  • fix(moderation): drop the implied-rate floor that flagged 38 innocent accounts by @junhoyeo in #984
  • feat(report): add MiniMax summarizer backend via OpenAI-compatible API by @octo-patch in #985
  • docs(design): recovery plan for ratchet inflation that preserves cleanup protection by @junhoyeo (db82945)
  • docs(design): confirm the invariant assumption; flag session rotation as a second cause by @junhoyeo (10c88c9)
  • docs(design): gate on the token total, not active time by @junhoyeo (1d844c3)
  • docs(design): rebuild the plan against the actual merge path by @junhoyeo (1a66757)
  • docs(design): reorder by risk -- fix the read path before rewriting any rows by @junhoyeo (a435091)
  • docs(design): bucket the high-water by month; a lifetime total swallows new work by @junhoyeo (e770eff)
  • docs(design): stop calling bucketing a fix; measure the width and pin the key by @junhoyeo (01612a1)
  • docs(design): fold in audit findings; the heal would have silently no-opped by @junhoyeo (96e58fd)
  • docs(design): fix a stale header and a Phase 2 edge that zeroes live accounts by @junhoyeo (f0d2938)
  • docs(design): split Phase 4 into a recorded snapshot and an offline reconcile by @junhoyeo (152f238)
  • fix(leaderboard): sum only the filtered client's tokens on period boards by @junhoyeo in #988
  • fix(submit): stop the alias fold from mutating the stored raw breakdown by @junhoyeo in #989
  • fix(opencodereview): parse the client on the submit path, not just locally by @junhoyeo in #990
  • fix(groups): sum only the filtered client's tokens on group period boards by @junhoyeo in #991
  • fix(profile): stop the day aggregator from mutating stored breakdown rows by @junhoyeo in #992
  • docs(design): mark the #960 adjacent fixes as landed and refresh the citations by @junhoyeo (7e1c702)
  • docs(agents): document the rg pitfalls that silently produce empty results by @junhoyeo (f786367)
  • docs(design): record the #960 census and re-gate the phases on what it showed by @junhoyeo (80491ad)
  • docs(design): measure Phase 1's write cost and move it off the submit transaction by @junhoyeo (8a06eb5)
  • docs(design): add Phase 1.5 dual-read, and record why the warm-up is forced by @junhoyeo (7490fa4)
  • docs(design): verify Phase 3's cost instead of asserting it by @junhoyeo (5678d0a)
  • feat: add Augment Code (Auggie) local session client by @luancm in #987
  • fix(release): allow first-time publish of new platform packages in npm release-state check by @junhoyeo in #995
  • fix: clean up lint regressions from the augment client merge by @junhoyeo (fce7747)

New Contributors

Full Changelog: v4.7.0...v4.8.0

v4.7.0

Choose a tag to compare

@github-actions github-actions released this 23 Jul 03:12

Tokscale

tokscale@v4.7.0 is here!

What's Changed

  • fix: pricing, parser, and TUI fixes from adversarial bug hunt by @junhoyeo in #944
  • fix(copilot): preserve duplicate span metadata by @Nanako0129 in #943
  • feat: read opencode model names from user config for TUI display by @cmalec in #946
  • fix(submit): let complete-day resubmits heal alias-folded double counts by @junhoyeo in #945

Full Changelog: v4.6.1...v4.7.0