Release v0.8.0
2026-02-28
Added
capsem-loggercrate: unified audit database replacing three separate SQLite databases with a singlesession.dbper VM session- Dedicated writer thread with block-then-drain batching (up to 128 ops per transaction)
DbWriter/DbReaderAPI: async writes via channel, read-only WAL concurrent readers- Unified schema:
net_events,model_calls,tool_calls,tool_responsestables - Inline SSE event parsing in the MITM proxy for Anthropic, OpenAI, and Google Gemini
- Hand-rolled SSE parser with chunk-boundary-safe state machine (no crate dependency)
- Provider-specific stream parsers: Anthropic (interleaved content blocks, thinking), OpenAI Chat Completions, Google Gemini
- Request body parser extracting model, stream flag, system prompt, message/tool counts
AiResponseBody: hyper Body wrapper doing SSE parsing inline duringpoll_framewith zero added latency- Per-call cost tracking using bundled model pricing data with fuzzy model name matching
- Trace ID assignment: multi-turn tool-use conversations linked by shared trace IDs
- SQL-driven session statistics for counts, tokens, cost, domain distribution, time-bucketed charts
- LLM Usage section in Sessions view: API calls, tokens, cost, per-provider breakdown
- SQL-powered search in Network view
capsem-bench: in-VM benchmarks for disk I/O, rootfs reads, CLI startup latency, HTTP throughput- Configurable VM CPU cores (
vm.cpu_count, 1-8) and RAM (vm.ram_gb, 1-16 GB) - 1 GB swap file on scratch disk
- Search category in settings: Google Search, Perplexity, Firecrawl toggles
- Custom allow/block domain lists (
network.custom_allow,network.custom_block) - Active Policy debug panel in Network view
Changed
- Terminal UI overhaul: borderless look with padding, thin scrollbar, theme-matching background
- Removed bottom status bar; session stats displayed inline below terminal
- Sidebar reorganized: Console + Sessions in nav, Settings/theme/collapse in footer
- Network view moved into Settings as collapsible section
- Rootfs switched from 2GB ext4 to 382MB squashfs (zstd, 64K blocks) — 81% smaller
- Boot uses overlayfs (immutable squashfs lower + ephemeral tmpfs upper)
- Test fixture captured from real sessions instead of generated