Skip to content

v0.2.0: Opus 4.7 + Apple-native status dot

Choose a tag to compare

@anhyobin anhyobin released this 19 Apr 15:19
· 29 commits to main since this release

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 missing haiku-4-6 entry.
  • 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 new ModelContextLimits table (1M for 4.7-generation models, 200K for earlier generations) and a contextUsageRatio that 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.scanTokensOnly removed; callers use the new scanTokensAndThinking which returns tokens, thinking count, model, and the last-turn usage snapshot in a single pass.
  • Info.plist bundle version bumped to 0.2.0 (build 2).

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