|
2 | 2 |
|
3 | 3 | ## Unreleased |
4 | 4 |
|
| 5 | +## 0.9.10 - 2026-05-20 |
| 6 | + |
5 | 7 | ### Added (CLI) |
6 | | -- **Agent and subagent tracking coverage.** Gemini sessions now emit one |
7 | | - provider call per assistant message with token usage instead of one aggregate |
8 | | - call per session, preserving per-message tools, bash commands, timestamps, |
9 | | - and nearest user prompts. Existing cached aggregate Gemini entries are |
10 | | - reparsed so the new per-message shape takes effect, and per-tool counts may |
11 | | - increase because repeated tools are now attributed to the specific Gemini |
12 | | - message that used them. Claude discovery also scans direct project-level |
13 | | - `subagents/*.jsonl` files, and Codex agent tool normalization is covered by |
14 | | - regression tests. Addresses #336. |
15 | | -- **Multiple subscription plans can be tracked at the same time.** |
16 | | - `codeburn plan set` now stores plans in a provider-keyed `plans` map, so |
17 | | - setting a Codex custom plan no longer overwrites an existing Claude plan. |
18 | | - `codeburn plan reset --provider <name>` removes only that provider's plan, |
19 | | - while `codeburn plan reset` remains a full reset. The dashboard and JSON |
20 | | - outputs include one overage summary per active provider plan. Aggregate |
21 | | - `all` plans remain mutually exclusive with provider-specific plans to avoid |
22 | | - double-counted overage rows. Existing single-plan `plan` config files |
23 | | - continue to load as a backward-compatible fallback, and subsequent writes |
24 | | - save the new `plans` map format. Preset plans now reject mismatched |
25 | | - `--provider` scopes instead of silently ignoring them. Closes #299. |
26 | | -- **Mistral Vibe provider.** CodeBurn now reads Mistral Vibe session folders |
27 | | - from `$VIBE_HOME/logs/session/` or `~/.vibe/logs/session/`, using |
28 | | - `meta.json` for cumulative prompt/completion tokens, model pricing, and |
29 | | - timestamps, and `messages.jsonl` for user prompts and tool calls. Subagent |
30 | | - sessions under a parent session's `agents/` folder are tracked separately. |
31 | | - Closes #283. |
32 | | -- **Kimi Code CLI provider.** CodeBurn now reads Kimi session usage from |
33 | | - `$KIMI_SHARE_DIR/sessions/` or `~/.kimi/sessions/`, including subagent |
34 | | - `wire.jsonl` files. The parser consumes Kimi's official `StatusUpdate` |
35 | | - token usage fields (`input_other`, `input_cache_read`, |
36 | | - `input_cache_creation`, `output`), normalizes Kimi tool names such as |
37 | | - `Shell`, `ReadFile`, and `WriteFile`, and maps hidden managed Kimi Code |
38 | | - model aliases to priced Kimi K2 entries. |
| 8 | +- **Agent and subagent tracking coverage across providers.** Gemini sessions |
| 9 | + now emit one provider call per assistant message with token usage instead of |
| 10 | + one aggregate call per session, preserving per-message tools, bash commands, |
| 11 | + timestamps, and nearest user prompts. Existing cached aggregate Gemini |
| 12 | + entries are reparsed so the new per-message shape takes effect, and per-tool |
| 13 | + counts may increase because repeated tools are now attributed to the specific |
| 14 | + Gemini message that used them. Claude discovery also scans direct |
| 15 | + project-level `subagents/*.jsonl` files, and Codex agent tool normalization |
| 16 | + is covered by regression tests. Addresses #336. Thanks @ozymandiashh. (#340) |
| 17 | +- **Optimize tab with retry tax, routing waste, and token display modes.** New |
| 18 | + `codeburn optimize` surface in the dashboard and menubar, with daily budget |
| 19 | + alerts and project drill-down. (#349) |
39 | 20 |
|
40 | 21 | ### Fixed (CLI) |
41 | 22 | - **OpenCode child sessions are attributed to their root session.** The |
42 | 23 | OpenCode parser now walks the unarchived `session.parent_id` subtree so |
43 | 24 | child and grandchild agent sessions contribute token and tool usage under |
44 | 25 | the discovered root session while still excluding child sessions from |
45 | | - top-level discovery to avoid double counting. |
| 26 | + top-level discovery to avoid double counting. Thanks @ozymandiashh. (#343) |
46 | 27 | - **OpenCode router sessions with missing usage are still reported.** |
47 | 28 | Some OpenCode router/provider combinations can persist assistant messages |
48 | 29 | with text or tool activity but zero token and cost fields. The OpenCode |
49 | 30 | parser now keeps those turns as zero-cost calls instead of dropping the |
50 | | - session entirely. Closes #341. |
| 31 | + session entirely. Closes #341. Thanks @ozymandiashh. (#342) |
| 32 | +- **OpenCode and Goose sessions on fresh installs.** Both providers returned |
| 33 | + zero sessions on first run when their on-disk directories did not yet exist. |
| 34 | + Discovery now treats missing directories as empty instead of erroring out. |
| 35 | + (#347) |
| 36 | +- **One-shot rate detection for all non-Claude providers.** Retry detection |
| 37 | + now sees multi-message flows correctly across providers, not only Claude. |
| 38 | + Follow-up to the v0.9.9 fix. (#355) |
| 39 | +- **Cursor `#cursor-ws=` compound-path separator in `fingerprintFile`.** |
| 40 | + `session-cache.ts` only handled the OpenCode `:` separator, so Cursor's |
| 41 | + workspace-aware paths could fall back incorrectly. The fingerprint now |
| 42 | + strips both `#` and `:` compound suffixes. Thanks @renerichter. (#358) |
| 43 | +- **Per-provider multi-day data loss, division-by-zero, and decode |
| 44 | + fragility.** Switching to Claude/Codex tab on 7-day/30-day/month periods |
| 45 | + previously only showed today's categories, models, sessions, and tokens |
| 46 | + because the cache shortcut only merged cost/calls. Per-provider periods now |
| 47 | + always do a full parse. Also floors `maxCost` at 0.01 to avoid NaN bar |
| 48 | + widths in ActivitySection and ModelsSection. (#362) |
| 49 | + |
| 50 | +### Fixed (macOS menubar) |
| 51 | +- **Per-provider refresh latency.** Switching provider tabs took ~24s on heavy |
| 52 | + histories. Now ~2s via session cache safety and reuse. (#344) |
51 | 53 |
|
52 | 54 | ## 0.9.9 - 2026-05-15 |
53 | 55 |
|
|
0 commit comments