github junhoyeo/tokscale v3.0.0

7 days ago

Tokscale

tokscale@v3.0.0 is here!

What's Changed

  • fix(cli): prevent self-spawn fork bomb in which fallback by @shunkakinoki in #585
  • fix(tui): align tab mouse hitboxes with rendered labels by @jeongjin0 in #573
  • fix(claude): normalize anthropic model variants by @IvGolovach in #578
  • fix(pricing): map opus-4-7 ids to claude-opus-4-7 instead of legacy claude-opus-4 by @xczllgit in #580
  • Pricing support for composer 2.5 by @RawToast in #581
  • fix(tui): use compatible colors in Apple Terminal by @IvGolovach in #577
  • perf(tui): cache minutely sort order by @IvGolovach in #575
  • fix(tui): preserve minutely aggregation in background loads by @xczllgit in #570
  • feat(leaderboard): show search on all periods and match displayName by @leecoder in #582
  • fix(pricing): require exact matches for provider-scoped models by @IvGolovach in #550
  • fix(submit): reject implausible submitted totals by @IvGolovach in #557
  • fix(auth): serialize device auth polling by @AsaZhou923 in #546
  • feat(pricing): add custom pricing overrides by @ben-vargas in #549
  • fix(claude): price inline MCP sub-provider usage by @IvGolovach in #519
  • fix(gemini): detect Gemini CLI usage with configurable path and new token formats by @cantalupo555 in #540
  • feat: add time period filters and URL sync to leaderboard by @leecoder in #522
  • feat(trae): add Trae client support by @itling in #555
  • feat(embed): add card templates with color, theme, format, and graph options by @Bae-ChangHyun in #584
  • fix(cli): avoid stale PATH launcher fallback by @IvGolovach in #576
  • feat(core,cli): add session and client+session group-by by @carlosflorencio in #543
  • fix(submit): make usage merges device-aware by @IvGolovach in #517
  • Show subscription usage in Tokscale by @shidevil in #493
  • feat(cli): add 'qr' command for transferring API token to mobile apps by @eugenn in #545
  • feat(models): add token timing and Claude Code stream dedupe by @PekingSpades in #563
  • feat: add session time metrics (active time tracking per contribution) by @leecoder in #528
  • feat(groups): add scoped leaderboards with invites by @IvGolovach in #524
  • chore(followups): post-batch cleanup from 2026-05-24 review by @junhoyeo in #592
  • feat(devices): add per-device read+rename APIs and fix submit_count drift by @junhoyeo in #593
  • chore(db): drop dead columns + redundant indexes + unique constraint by @junhoyeo in #598
  • refactor(leaderboard): fold Groups into Leaderboard view selector by @junhoyeo in #599
  • chore(ui): audit pass on Leaderboard ViewSelector + GroupsBrowser by @junhoyeo in #600
  • fix(cli): restore strict verification and Trae aggregation by @junhoyeo (a05496f)
  • fix(groups): reject malformed invite payloads by @junhoyeo (7c443b0)
  • fix(leaderboard): preserve filters and paginate groups by @junhoyeo (14c17b6)
  • docs(readme): correct Trae sync and client filters by @junhoyeo (d8ede56)
  • fix(leaderboard): avoid swallowing dynamic route detection by @junhoyeo (e683f62)
  • docs(cli): clarify Trae credential variants by @junhoyeo (c9e051a)
  • fix(leaderboard): preserve filters across view toggles by @junhoyeo (013552e)
  • fix(groups): reject non-object invite payloads by @junhoyeo (6d0fe74)
  • refactor(leaderboard): remove duplicate date validation by @junhoyeo (1a1efd8)
  • fix(cli): write Trae sync artifacts only when referenced by @junhoyeo (8e5778d)
  • ci: update coverage badge [skip ci] by @github-actions[bot] (9228a8a)
  • docs(cli): document local active-time day buckets by @junhoyeo (1ac617e)
  • test(frontend): add CI coverage for tests and migrations by @IvGolovach in #605
  • fix(groups): enforce invite role hierarchy by @IvGolovach in #604
  • fix(submit): allow consistent high-volume token reports by @IvGolovach in #602
  • fix(submit): adopt legacy rows for first device submit by @IvGolovach in #609
  • fix(submit): preserve same-device totals on parser regressions by @IvGolovach in #607
  • fix(release): commit release provenance before npm publish by @IvGolovach in #603
  • fix(cli): honor explicit home diagnostics by @IvGolovach in #606
  • fix(scanner): scan Hermes profile databases from extra paths by @IvGolovach in #590
  • docs: require maintainer identity for agent commits by @junhoyeo (7ce8728)
  • fix(cursor): surface setup diagnostics for explicit reports by @IvGolovach in #591
  • fix(submit): bypass cost-without-tokens check for Cursor legacy premium-tool-call by @junhoyeo in #612
  • fix: invite privilege escalation, submit savepoint race, leaderboard pagination drift, CSRF origin gate, CI coverage floors by @junhoyeo in #611
  • fix(tui): anchor warm-cache writer and TUI reader on a shared group_by constant by @junhoyeo in #613
  • fix(submit): exclude tokenless-cost rows instead of failing the whole submission by @junhoyeo (5ed5895)
  • style: rustfmt wrap in tokenless-cost exclusion test by @junhoyeo (cf4b931)
  • chore(release): reset manifests to 2.1.3 to re-publish 3.0.0 by @junhoyeo (70060c3)

New Contributors

Full Changelog: v2.1.3...v3.0.0

Don't miss a new tokscale release

NewReleases is sending notifications on new releases.