Skip to content

v0.3.5

Choose a tag to compare

@anilmurty anilmurty released this 16 Jun 00:54
fbafb6f

First-run polish + bug fixes surfaced during the v0.3.5 pre-release playbook. No breaking changes — pipx upgrade tokenjam, then tj stop && tj serve & to reload the daemon.

Bug fixes

  • #101tj mcp works out of the box on a fresh install. fastmcp moved from the [mcp] extra into base dependencies, so pipx install tokenjam is enough to wire TokenJam into Claude Code without remembering an extra. The [mcp] extra is kept as a no-op for back-compat. The MCP server now also raises a clean, actionable ImportError pointing at the fix if fastmcp is somehow missing.
  • #98 — "No pricing data" warning no longer spams during backfill. Warns once per (provider, model) per process. Verified against a 20,000-span Claude Code backfill: zero warnings where pre-0.3.5 emitted hundreds. Deprecated Anthropic base models (claude-sonnet-4, claude-opus-4, claude-opus-4-1, claude-haiku-3-5) added to pricing/models.toml so dated variants like claude-sonnet-4-20250514 resolve correctly via the YYYYMMDD-stripping fallback instead of falling through to defaults.
  • #106 — UI footer no longer shows a 9-release-old version. tokenjam/__init__.py now reads from importlib.metadata.version("tokenjam") (single source of truth = pyproject.toml). New GET /api/v1/version endpoint; the UI footer fetches it on init. Same-origin — offline-UI guarantee preserved.
  • #106GET /health endpoint added as a conventional uptime probe. Returns {"status":"ok","version":"..."}. /api/v1/status continues to be the agent overview.
  • #106tj tokenmaxx plan-multiplier renders from project subdirs. When run from a directory whose .tj/config.toml has no [budget] section, _config_declared_plan now falls back to reading ~/.config/tj/config.toml directly. Previously dropped silently to api-pricing framing even when the user had plan = "max_5x" configured globally via tj onboard.
  • #105tj report --trim not-ready hint renders [capture] literally. Rich's print parser was silently swallowing the [capture] substring as an invalid style tag, hiding the section name the user needs to enable.

DX

  • tj --help epilog now shows the canonical upgrade incantation (pipx upgrade tokenjamtj stop && tj serve &tj --version).
  • docs/installation.md documents that [mcp] is no longer needed.
  • Pre-release and post-release manual test playbooks updated to cover the new surface (six-tier tokenmaxx ladder, offline-UI DevTools check, cache cost-correctness verification).

Upgrade

pipx upgrade tokenjam
tj stop && tj serve &
tj --version   # expect 0.3.5

Full changelog

v0.3.4...v0.3.5