Skip to content

Commit fe28ee1

Browse files
committed
Document 0.9.10 release notes
1 parent 0f55a44 commit fe28ee1

1 file changed

Lines changed: 37 additions & 35 deletions

File tree

CHANGELOG.md

Lines changed: 37 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -2,52 +2,54 @@
22

33
## Unreleased
44

5+
## 0.9.10 - 2026-05-20
6+
57
### 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)
3920

4021
### Fixed (CLI)
4122
- **OpenCode child sessions are attributed to their root session.** The
4223
OpenCode parser now walks the unarchived `session.parent_id` subtree so
4324
child and grandchild agent sessions contribute token and tool usage under
4425
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)
4627
- **OpenCode router sessions with missing usage are still reported.**
4728
Some OpenCode router/provider combinations can persist assistant messages
4829
with text or tool activity but zero token and cost fields. The OpenCode
4930
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)
5153

5254
## 0.9.9 - 2026-05-15
5355

0 commit comments

Comments
 (0)