---
title: v0.39.0 — Stability and Analytics Polish
date: 2026-04-28
version: v0.39.0
---

## New features

**Tokens and Cost Hero Cards** — total tokens processed and total cost now sit at the top of the analytics page, above everything else. The headline numbers shouldn't have to be scrolled to.

**CLI Terminal Tab** — a new tab for tmux-managed sessions. Env-probe discovery resolves `TMUX_PANE` from the CLI process's environment, so attaching to an existing session "just works."

**Auto-Recap Blocks** — when Claude Code emits an `away_summary` block (the recap it writes when you return after stepping away), claude-view now renders it as a proper system event in both chat and developer mode instead of falling through to a generic block.

**Devices and Pairing Endpoints** — server-side scaffolding for paired-device support: `/api/devices`, `/api/pairing/qr`, JWT-authenticated relay protocol, Supabase-backed device registry with PII-aware RLS isolation. The receiving mobile client lands in a follow-up.

## Improvements

- **No more freeze at 100+ closed sessions.** Live Monitor's reconciler cooldown is replaced with lazy sidecar recovery so the UI stays responsive even with hundreds of historical sessions on screen (#53, #54).
- **Sidecar memory bounded.** Per-session stream buffers now cap, with heap telemetry to catch regressions early — the slow leak under heavy load is fixed (#54).
- **Blue-green search index migration.** When the search index schema bumps, the previous version keeps serving queries while the new one builds in the background. No more "rebuilding index, please wait" on startup.
- **Quieter chat mode.** Hook noise and empty assistant blocks are hidden in chat mode for a cleaner conversation view.
- **Worktree hooks fixed.** `WorktreeCreate` is a *replacement* hook — async observers were silently breaking `isolation: worktree`. Hooks now have explicit replacement-vs-observer taxonomy with a 3-layer defense.
- **Cleaner relay logs.** WebSocket lazy-start stops spamming auth-rejected logs when nothing is paired.
- **Pricing data updated.** Opus 4.7 added with a boot-time drift detector to flag stale pricing tables.
- **Six-month database rebuild landed.** A multi-phase CQRS-style rewrite splits the writer hot path from the read path through `session_stats`, `session_flags`, and `session_action_log` tables, with a `stage_c_outbox` for reliable cross-table fanout. The legacy `sessions` table is gone.
- **`rustls-webpki` security bump** — 0.103.12 → 0.103.13 (RUSTSEC-2026-0104).

## Getting started

```bash
npx claude-view@latest
```
