codeburn/CHANGELOG.md
AgentSeal 3612c5a994 v0.5.0: Cursor IDE support, SQLite adapter, result caching
Major release adding Cursor as the third supported provider.
Lazy-loaded SQLite, file-based result cache, provider-specific
dashboard layouts, debounced period switching, broader classifier.
2026-04-15 05:48:22 -07:00

7.3 KiB

Changelog

0.5.0 - 2026-04-15

Added

  • Cursor IDE support. Reads token usage from Cursor's local SQLite database. Shows activity classification, model breakdown, and a Languages panel extracted from code blocks. Costs estimated using Sonnet pricing for Auto mode (labeled clearly). Supports macOS, Linux, and Windows paths.
  • SQLite adapter with lazy-loaded better-sqlite3 (optional dependency). Claude Code and Codex users are completely unaffected if it is not installed.
  • File-based result cache for Cursor. First run parses the database (can take up to a minute on very large databases); subsequent runs load from cache in under 250ms. Cache auto-invalidates when Cursor modifies the database.
  • Provider-specific dashboard layout. Cursor shows a Languages panel instead of Core Tools, Shell Commands, and MCP Servers (Cursor does not log these).
  • Provider color coding in the dashboard tab bar (Claude: orange, Codex: green, Cursor: cyan).
  • Broader activity classification patterns: file extensions, script references, URLs, and HTTP status codes now trigger more accurate categories.
  • Debounced period switching. Arrow keys wait 600ms before loading data so quickly scrolling through periods skips intermediate loads. Number keys still load immediately.
  • Dynamic version reading from package.json (no more hardcoded version string).

Fixed

  • CLI --version reported stale 0.4.1 since v0.4.2. Closes #38.

0.4.4 - 2026-04-15

Added

  • Auto-refresh flag. codeburn report --refresh 60 reloads data at a set interval. Works on report, today, and month commands. Default off.
  • Readable project names. Strips home directory prefix from encoded paths, shows 3 path segments for more context. Home dir sessions display as "home".
  • Responsive dashboard reflows on terminal resize via Ink's useWindowSize hook. Width cap raised from 104 to 160 columns. Contributed by @AleBles.
  • Total downloads and install size badges in README.

Fixed

  • Agent/subagent session files were excluded, dropping ~46% of API calls. Subagent sessions live in separate subagents/ directories with unique message IDs and are now included. Closes #17.
  • Codex cache hit always showed 100%. OpenAI includes cached tokens inside input_tokens (unlike Anthropic). Normalized to prevent double-counting in cost calculation and cache hit display. Closes #21.
  • CSV formula injection. Cells starting with =, +, -, @ are prefixed with an apostrophe before CSV escaping. Contributed by @serabi.
  • Menubar "Open Full Report" and "Export CSV" actions broken for npm-installed users. Invokes resolved binary directly instead of assuming ~/codeburn checkout. Currency picker used nonexistent config currency subcommand. Contributed by @MukundaKatta. Closes #32, #27.
  • Activity panel moved from full-width to half-width row for better space usage on wide terminals.

0.4.1 - 2026-04-14

Added

  • Multi-currency support. codeburn currency GBP sets display currency (162 ISO 4217 codes). Exchange rates from Frankfurter API (ECB data, 24h cache). Applies to dashboard, status, menubar, and exports. Contributed by @BlairWelsh.
  • 30-day rolling window period (codeburn report -p 30days, key 3 in TUI). Distinct from calendar month. Contributed by @oysteinkrog.
  • Menubar currency picker with 17 common currencies.

Fixed

  • Export "30 Days" period now uses actual 30-day range instead of calendar month.

0.4.0 - 2026-04-14

Added

  • Codex (OpenAI) support. Parses sessions from ~/.codex/sessions/ with full token tracking, cost calculation, task classification, and tool breakdown.
  • Provider plugin system. Adding a new provider (Pi, OpenCode, Amp) is a single file in src/providers/.
  • TUI provider toggle. Press p to cycle All / Claude / Codex. Auto-detects which providers have session data on disk. Hidden when only one is present.
  • --provider flag on all CLI commands: report, today, month, status, export. Values: all (default), claude, codex.
  • Codex tool normalization: exec_command -> Bash, read_file -> Read, write_file/apply_diff/apply_patch -> Edit, spawn_agent -> Agent.
  • Codex model pricing: gpt-5, gpt-5.3-codex, gpt-5.4, gpt-5.4-mini with hardcoded fallbacks to prevent LiteLLM fuzzy matching mispricing.
  • CODEX_HOME environment variable support for custom Codex data directories.
  • Menubar per-provider cost breakdown when multiple providers have data.
  • 1-minute in-memory cache with LRU eviction for instant provider switching.
  • 10 new tests (Codex parser, provider registry, tool/model mapping).

Fixed

  • Model name fuzzy matching: gpt-5.4-mini no longer mispriced as gpt-5 (more specific prefixes checked first).

0.3.1 - 2026-04-14

Added

  • Shell Commands breakdown panel showing which CLI binaries are used most (git, npm, docker, etc.). Parses compound commands (&&, ;, |) and handles quoted strings. Contributed by @rafaelcalleja.

Changed

  • Activity panel is now full-width so the 1-shot column renders cleanly on all terminal sizes.

Fixed

  • Crash on unreadable session files (ENOENT). Skips gracefully instead.

0.3.0 - 2026-04-14

Added

  • One-shot success rate per activity category. Detects edit/test/fix retry cycles (Edit -> Bash -> Edit) within each turn. Shows 1-shot percentage in the By Activity panel for categories that involve code edits.

Fixed

  • Turn grouping: tool-result entries (type "user" with no text) no longer split turns. Previously inflated Conversation category by 3-5x at the expense of Coding, Debugging, and other edit-heavy categories.

0.2.0 - 2026-04-14

Added

  • Claude Desktop (code tab) session support. Scans local-agent-mode-sessions in addition to ~/.claude/projects/. Same JSONL format, deduplication across both sources. macOS, Windows, and Linux paths.
  • CLAUDE_CONFIG_DIR environment variable support. Falls back to ~/.claude if not set.

Fixed

  • npm package trimmed from 1.1MB to 41KB by adding files field (ships dist/ only).
  • Image URLs switched to jsDelivr CDN for npm readme rendering.

0.1.1 - 2026-04-13

Fixed

  • Readme image URLs for npm rendering.

0.1.0 - 2026-04-13

Added

  • Interactive TUI dashboard built with Ink (React for terminals).
  • 13-category task classifier (coding, debugging, exploration, brainstorming, etc.) using tool usage patterns and keyword matching. No LLM calls.
  • Breakdowns by daily activity, project, model, task type, core tools, and MCP servers.
  • Gradient bar charts (blue to amber to orange) inspired by btop.
  • Responsive layout: side-by-side panels at 90+ cols, stacked below.
  • Keyboard navigation: arrow keys switch Today/7 Days/Month, q to quit.
  • Column headers on all panels.
  • Bottom status bar with key hints (interactive mode only).
  • Per-panel accent border colors with rounded corners.
  • SwiftBar/xbar menu bar widget with flame icon, activity breakdown, model costs, and token stats. Refreshes every 5 minutes.
  • CSV and JSON export with Today, 7 Days, and 30 Days periods.
  • LiteLLM pricing integration with 24h cache and hardcoded fallback. Supports input, output, cache write, cache read, web search, and fast mode multiplier.
  • Message deduplication by API message ID across all session files.
  • Date-range filtering per entry (not per session) to prevent session bleed.
  • Compact status command with terminal, menubar, and JSON output formats.