|
1 | 1 | # Changelog |
2 | 2 |
|
3 | | -## Unreleased |
| 3 | +## 0.9.11 - 2026-05-27 |
4 | 4 |
|
5 | 5 | ### Added (CLI) |
6 | 6 | - **MCP project profile advisor.** `codeburn optimize` now flags MCP servers |
|
31 | 31 | - **Claude toolSequence missing from session cache.** `apiCallToCachedCall` was |
32 | 32 | not forwarding the `toolSequence` field, so all cached Claude sessions lost |
33 | 33 | their tool ordering data. |
| 34 | +- **Forge dedup key instability.** The fallback deduplication key used the raw |
| 35 | + message array index, which shifts when messages are deleted between scans. |
| 36 | + Now uses a composite of model name and token counts. Also fixed a variable |
| 37 | + reference before its declaration that would crash at runtime when no tool |
| 38 | + call ID was present. |
| 39 | +- **Session cache rejected `subagentTypes` field.** The cache validator did not |
| 40 | + recognize the `subagentTypes` array, causing entries with this field to be |
| 41 | + silently dropped and reparsed on every run. |
| 42 | +- **Conflicting date flags on `status` accepted silently.** Passing `--day` |
| 43 | + with `--from`/`--to`, or `--days` with any other date flag, produced |
| 44 | + undefined behavior. Now exits with a clear error message. |
| 45 | + |
| 46 | +### Changed (CLI) |
| 47 | +- **OpenCode provider uses shared SQLite parser.** Delegates to |
| 48 | + `sqlite-session-parser.ts` (same module KiloCode uses), reducing the |
| 49 | + provider from 498 to 66 lines with no behavior change. |
34 | 50 |
|
35 | 51 | ### Added (macOS menubar) |
36 | 52 | - **Configurable menubar status period.** The menubar dropdown now lets you |
37 | 53 | choose which period (Today, 7 Days, Month, All Time) is shown in the status |
38 | 54 | bar. Persisted via UserDefaults. Thanks @ozymandiashh. (#302) |
39 | 55 |
|
| 56 | +### Fixed (macOS menubar) |
| 57 | +- **Loading watchdog killed healthy CLI fetches.** The recovery loop ran every |
| 58 | + 8 seconds with no backoff. Each attempt reset the generation counter, |
| 59 | + discarding in-flight CLI responses (45s timeout) before they could finish. |
| 60 | + Replaced with exponential backoff (8s to 60s, 6 attempts max) that skips |
| 61 | + recovery when a fetch is already in flight. Shows an error overlay with a |
| 62 | + Retry button after all attempts are exhausted. |
| 63 | +- **Multi-day cache key mismatch.** `selectedDay` returned the earliest date |
| 64 | + instead of nil when multiple days were selected, and |
| 65 | + `startInteractiveSelectionRefresh` did not pass the day set to the cache key |
| 66 | + constructor. Both now match `PayloadCacheKey` normalization rules. |
| 67 | +- **Dead code cleanup.** Removed `RefreshBackoff.swift`, its test file, and a |
| 68 | + broken test that called methods deleted in #393. |
| 69 | + |
40 | 70 | ## 0.9.10 - 2026-05-20 |
41 | 71 |
|
42 | 72 | ### Added (CLI) |
|
0 commit comments