Releases: JeiKeiLim/claude-code-log-viewer-cli
v0.6.1
v0.6.1: OpenCode TUI watch rendering fixes
Fixes:
-
Add provider-native TUI watch support so OpenCode live mode watches SQLite sessions instead of file paths.
-
Normalize OpenCode epoch milliseconds for message and session timestamps, fixing impossible future years in the UI.
-
Defer live OpenCode messages until visible content parts are available, avoiding empty live message boxes.
-
Track emitted OpenCode live message IDs so pending-row retries do not duplicate already-rendered messages.
Tests:
- Added OpenCode watcher regressions for millisecond timestamps, delayed content parts, and duplicate prevention.
v0.6.0
v0.6.0: multi-agent log support and Codex live mode fixes
Features:
-
Add AgentProvider implementations for Claude Code, Codex, and OpenCode (917b7dd, 9e1caac, e0fa8b7).
-
Add interactive agent selector with availability filtering, zero-session hiding, and provider-flow integration (1999be9, e4fefe8, a3ad744).
-
Add Codex JSONL parsing for real CLI v0.116.0 formats, including flat event_msg, response_item, session_meta, token usage, and exec command handling (ab6685f, 7e1bae6, e7f9179).
-
Add OpenCode SQLite session parsing and polling watcher support (9e1caac, 86e4a85).
Fixes:
-
Use provider-aware parsing for streaming/live non-Claude formats and add regression coverage for incremental parsing (9189ecb, 7758dfb, 04f4f80).
-
Defer expensive agent discovery and preserve lazy session loading to avoid slow interactive startup (67c64f7).
-
Fix Codex TUI live updates, partial-line watcher reads, mirrored message de-duplication, and live append de-duplication (ce1e7a9).
-
Restore the Claude Code concurrent session dashboard when Claude is selected through the provider selector (ce1e7a9).
Tests:
- Expanded provider, parser, streaming, watcher, app-flow, and dashboard routing coverage across the release range.
v0.5.0
v0.5.0: multi-session viewer and dashboard view modes
Features:
- Phase 5a multi-session viewer (06f6881)
- Dynamic view modes for session dashboard: 0/1/2+ sessions (27c0198)
Fixes:
- Self-healing watchdog for subscription tick chain (47f4f6f)
- Grace period on pane removal to prevent live-mode reset (4d2b680)
- Adversarial review fixes, retry logic, CLI cleanup (3a0c5a3)
- Lazy loading and spinner messages wired through dashboard (590e042)
- JSONL-based session lifecycle and pagination (12a56c2)
- File cache claim mechanism, documented API limitation (e3ea9b5)
- Prevent 429 death spiral via cache refresh on error (b2f5770)
Refactors:
- DRY cleanup across session viewer code, 10/11 resolved (fda6909)
Docs:
v0.4.5
v0.4.5: Shared file-based usage cache
- feat: shared file cache at ~/.cache/cclv/usage.json across cclv instances
- fix: change User-Agent to avoid permanent 429 block on usage API
- fix: prevent periodic ticks from re-triggering 429 rate limit during backoff
- feat: add 429 rate-limit handling and remove TUI-breaking log.Printf calls
- fix: resolve "Not logged in" on macOS by falling back to file-based credentials
v0.4.4
fix: resolve "Not logged in" on macOS by falling back to file-based credentials
The macOS keychain entry name "Claude Code-credentials" no longer exists
in recent Claude Code versions. Now falls back to ~/.claude/.credentials.json
when keychain lookup fails. Also fixes resets_at timestamp parsing for
microsecond-precision timestamps returned by the updated usage API.
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
v0.4.3
v0.4.3: Live Updates & Auto-Refresh (Epic 11)
Features:
- Auto-detect Claude auth refresh (5-minute polling when expired)
- Follow-latest conversation flag (-L/--follow-latest)
- L key toggle for follow-latest in watch mode
- FOLLOW mode indicator in status bar
Phase 4 complete - CCLV has reached stability milestone.
v0.4.2
v0.4.2 - Dashboard Stability (Epic 9)
Fix file descriptor and goroutine leaks in dashboard watch mode that caused
"too many open files" errors after extended runtime.
Changes:
- fix: explicit watcher cleanup for macOS kqueue FD release (Story 9.1)
- feat: refactor dashboard to subscription model (Story 9.2)
- feat: add stress tests for FD/goroutine leak detection (Story 9.3)
The dashboard now uses a subscription model with single long-lived goroutines
per watcher instead of command chaining, preventing resource accumulation.
New: make test-stress target for regression testing.
v0.4.1
v0.4.1 - Token Expiry UX Fix
Improvements:
- Show actionable "Run 'claude' to refresh" message when OAuth token expires
- Remove error logging spam for expected token expiration
- Add custom HTTP Transport with connection pool settings (preventive)
This release improves the user experience when running cclv for extended
periods (~12+ hours) by providing clear guidance when the Claude CLI
OAuth token expires.
v0.4.0
v0.4.0 - Usage Monitoring & Plain Mode Enhancements
Epic 7: Usage Limit Monitoring
- OAuth credential access from Claude Code keychain
- Usage API client with 60s caching
- Usage bar component in TUI footer
- Auto-refresh every 5 minutes + manual refresh (r key)
- Plain text usage output (cclv -u / --usage)
- Graceful degradation when credentials unavailable
Epic 8: Plain Mode & Output Enhancements
- Fix spurious whitespace in plain mode header
- Show collapsed indicators for --hide-thoughts/--hide-tools
- Streaming plain mode (--watch --plain)
- Graceful handling of non-conversation JSONL entries
v0.3.0
Release v0.3.0 - Phase 3: Power Tools & Dashboard
Epic 4: Developer Power Tools
- Line numbers display in viewer
- Vim-style :N line navigation
- Raw JSONL mode toggle (r key)
- Toast path display (p key)
- Newline normalization fix
Epic 5: Dashboard Mode
- Multi-project selection (up to 9)
- Auto-sizing grid layout (1x1 to 3x3)
- Real-time file watching per pane
- New conversation auto-detection
- Pane focus navigation with arrow keys
Epic 6: Statistics View
- tiktoken-go integration for token counting
- Token calculation with caching (<4μs per entry)
- Per-entry and conversation-level token display
- "from log" vs "estimated" source indicators
Performance:
- Dashboard refresh <200ms
- Token calculation <50ms (achieved ~4μs)
- Memory efficient for 9-pane dashboard