github getagentseal/codeburn v0.9.8

latest release: mac-v0.9.8
2 hours ago

What's New

Added

  • codeburn models command. Per-model breakdown across all providers — one row per (provider, model), sorted by cost. Columns: Input, Output, Cache Write, Cache Read, Total, Cost, plus a Top Task cell (e.g. Coding (42%)). Pass --by-task to explode per task type. Filters: --period, --from/--to, --provider, --task, --top, --min-cost. Formats: table (Unicode box-drawn), markdown, json, csv. Auto-sizes columns and responsively drops cache/token columns on narrow terminals. (#287)
  • Crush provider support. Charmbracelet Crush agent metrics now tracked — walks ~/.local/share/crush/projects.json, reads each project's SQLite DB. Closes #278. Thanks @Jelloeater for the request and schema reference.
  • Multiple Claude config directories. Set CLAUDE_CONFIG_DIRS (: on POSIX, ; on Windows) to scan multiple Claude data dirs in one run. ~ expansion, dedup, and graceful skip on unreadable dirs. Closes #208. Thanks @ccrvlh for the feature request.
  • Per-day one-shot data in --format json. Each daily[] entry now carries turns, editTurns, oneShotTurns, and oneShotRate. Closes #279. Thanks @eugene-eee-hongkyu for the feature request.
  • CONTRIBUTING.md, architecture docs, and per-provider docs. 19 new doc files for contributors. (#284)
  • Provider icons in README. Each provider row links to its doc with an icon column. (#285, #286)

Fixed

  • Cursor sessions break down by project, not one "cursor" row. Walks workspaceStorage/*/workspace.json and composer.composerData to attribute bubbles per workspace. Composers without a workspace stay under a catch-all cursor row. Cursor cache version bumped to 3. Closes the per-project half of #196. Thanks @cwikio for the detailed report. (#296)
  • Cursor cost shown for every model, not just Auto. Expanded alias map to cover all Cursor model variants (claude-4.x-*, composer-1/1.5/2, etc.) with regression tests. Closes #159. Thanks @CarlvinceTan for reporting. (#290)
  • Activity classifier no longer mislabels feature work as debugging. Earliest keyword match wins — "add error handling" → Feature, not Debugging. Fixes the misattribution half of #196. (#289)
  • Optimize suggestions declare their destination. Every fix now labels where it goes: claude-md, session-opener, prompt, or shell-config. Closes #277. Thanks @chimon2000 for the suggestion. (#281)
  • Daily cache discards pre-v5 caches. Prevents stale single-bucket "cursor" provider totals from persisting after the per-project upgrade. (#297)
  • node:sqlite V8 crash on invalid UTF-8. Text columns containing raw blobs no longer crash the parser. (#272)

Fixed (macOS menubar)

  • Stuck loading after sleep. Non-blocking pipe I/O + watchdog timer recover from hung CLI subprocesses. (#266, #293)
  • System sleep blocked. Menubar no longer prevents macOS from sleeping. (#270)
  • Double-click on pill tabs and oversized disconnected tabs. (#274)
  • Old process cleanup. Installer waits for old menubar to exit before launching new one. (#275)
  • Node 22.x buggy patch guard. Refuses to load node:sqlite on known-crashy Node 22 builds. (#265)

Tests

47 files, 661 tests (was 555). New suites: Crush provider, Claude multi-dir, Cursor workspace breakdown, models report, classifier keyword priority, Cursor model alias identity, blob-to-text.

The macOS menubar is published separately as mac-v0.9.8.

Don't miss a new codeburn release

NewReleases is sending notifications on new releases.