v0.2.0: Opus 4.7 + Apple-native status dot
Highlights
- Opus 4.7 recognition with family accent colors (Opus=orange, Sonnet=blue, Haiku=green). Sonnet/Haiku 4.7 patterns are pre-registered for future releases.
- Model badge on active session rows (previously missing) and recent session rows
- Context-window gauge — 2pt hairline bar with orange at 80%, red at 95%. Expanded detail shows
312K / 1M (31%) - Extended-thinking counter (🧠 N) on every session row, with full "Thinking: N blocks" label in the expanded view
- Menu-bar status dot — 8pt overlay with a priority stack (error > warning > active > inactive), following Apple's convention of reserving pulse for in-transition states
Added
- Model badge on active and recent session rows with family accent color (Opus=orange, Sonnet=blue, Haiku=green). Active sessions previously showed no model at all.
- Opus 4.7 recognition in
ModelNameFormatter. Sonnet and Haiku 4.7 patterns are pre-registered for when those models ship; today only Opus 4.7 is released. The 4.7 generation is matched before 4.6 to avoid prefix shadowing. Also filled in the missinghaiku-4-6entry. - Extended-thinking block counter (🧠 N) on every session row, parsed from
content[].type == "thinking"blocks. Hidden when zero. Expanded detail shows the full label "Thinking: N blocks" under the Context line. - Context-window gauge — 2pt hairline bar showing
lastTurn usage / model max. Secondary below 80%, orange at 80–94%, red at 95%+. Expanded detail adds a tabular-num readout. Backed by a newModelContextLimitstable (1M for 4.7-generation models, 200K for earlier generations) and acontextUsageRatiothat uses only the last assistant turn's usage snapshot to avoid per-turn cache_read over-counting. - Menu-bar status dot — 8pt overlay driven by a priority stack: error (red) > warning (orange, context ≥ 95%) > processing (blue, pulsing — reserved for v0.3) > active (green) > inactive (gray) > hidden. Green is static; pulse is reserved for in-transition states only.
Changed
JSONLParser.scanTokensOnlyremoved; callers use the newscanTokensAndThinkingwhich returns tokens, thinking count, model, and the last-turn usage snapshot in a single pass.Info.plistbundle version bumped to0.2.0(build2).
Notes
- Opus 4.7 uses a new tokenizer — token counts may read 1.0~1.35× higher than Opus 4.6 for the same work. Mixed-model comparisons may look inflated for Opus 4.7 sessions.
Full Changelog: v0.1.1...v0.2.0