From 909be5e0b6cc111af50490b032a3b3d7cfb9b1c9 Mon Sep 17 00:00:00 2001 From: "itarun.p" Date: Sun, 26 Jul 2026 07:01:25 +0700 Subject: [PATCH] chore(release): 0.39.44 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 15 commits since v0.39.43. Tracker: #125. User-facing: - The Projects panel honours the date range. It read no query parameter at all, so picking "24h" narrowed every other card while Projects kept showing all-time totals with nothing on screen saying so (#118). - Per-repo cost, with rows written before the change named as unpriced rather than shown as a confident $0 (#121). - Sources with no per-repo attribution are named, instead of their absence reading as "that tool cost nothing here" (#118). - A plan-value card answering what README:32 already promised, labelled as list-price-equivalent rather than a saving (#122). - The Codex quota chip no longer vanishes on a 401 (#119). - `sync --compact`, which reclaimed 34,924 lines to 5,636 on a real install (#117). Behind the scenes: outbound-privacy validator hardening (#111, #114), avatar proxy per-hop revalidation, port-aware allowlisting and a real download cap (#109, #112), a parser conformance ratchet (#116, #120), scripts/graph out of the product gate (#115), and a usage-limits fixture capture tool (#124). Version bumped in all four lockstep locations by the `version` hook: package.json, package-lock.json, both TokenTrackerBar targets, and the Windows csproj. validate:version-lockstep passes. WATCH AFTER SHIPPING: #121 migrates cursors.json on every user's first sync after upgrading, re-keying project buckets from project|source|hour to project|source|model|hour. Without that the old bucket strands and its usage is counted twice. Verified read-only against a real 2,015-bucket state — every key migrated, total_tokens preserved exactly at 6,281,653,062, and all 2,015 queuedKey markers survived, the loss of which would re-append every row. That is one machine; a differently-shaped state is the residual risk. ci:local exit 0: 972 root tests, 302 dashboard. --- TokenTrackerBar/project.yml | 4 ++-- TokenTrackerWin/TokenTrackerWin.csproj | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/TokenTrackerBar/project.yml b/TokenTrackerBar/project.yml index 34c400b3..13b0d0c6 100644 --- a/TokenTrackerBar/project.yml +++ b/TokenTrackerBar/project.yml @@ -29,7 +29,7 @@ targets: PRODUCT_NAME: TokenTrackerBar INFOPLIST_VALUES: | LSUIElement = YES - MARKETING_VERSION: "0.39.43" + MARKETING_VERSION: "0.39.44" CURRENT_PROJECT_VERSION: "1" SWIFT_EMIT_LOC_STRINGS: "YES" CODE_SIGN_STYLE: Automatic @@ -79,7 +79,7 @@ targets: base: PRODUCT_BUNDLE_IDENTIFIER: com.tokentracker.bar.widget PRODUCT_NAME: TokenTrackerWidget - MARKETING_VERSION: "0.39.43" + MARKETING_VERSION: "0.39.44" CURRENT_PROJECT_VERSION: "1" MACOSX_DEPLOYMENT_TARGET: "14.0" SWIFT_EMIT_LOC_STRINGS: "YES" diff --git a/TokenTrackerWin/TokenTrackerWin.csproj b/TokenTrackerWin/TokenTrackerWin.csproj index 45a7d96a..26bffc6e 100644 --- a/TokenTrackerWin/TokenTrackerWin.csproj +++ b/TokenTrackerWin/TokenTrackerWin.csproj @@ -22,7 +22,7 @@ app.manifest assets\trayicon.ico - 0.39.43 + 0.39.44 TokenTracker TokenTracker diff --git a/package-lock.json b/package-lock.json index e4ec9e64..1f45f3fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@ipv9/tokentracker-cli", - "version": "0.39.43", + "version": "0.39.44", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@ipv9/tokentracker-cli", - "version": "0.39.43", + "version": "0.39.44", "license": "MIT", "dependencies": { "@mongodb-js/zstd": "^2.0.1", diff --git a/package.json b/package.json index 6f0f827a..2fd17f30 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@ipv9/tokentracker-cli", - "version": "0.39.43", + "version": "0.39.44", "description": "Local-first token and cost dashboard for 22 AI coding tools, including Claude Code, Codex, Cursor, Gemini, Kiro, OpenCode, OpenClaw, Copilot, Antigravity, Zed, and Goose.", "main": "src/cli.js", "bin": {