v0.4.2
Added
- Add exact-origin
DebugStreamRecorderConfig.AllowedOriginsopt-in so a trusted hosted Inspector can read the loopback-only development stream. - Add a bounded, single-subscriber
DebugStreamRecorderSSE handler and an Inspector live mode for ephemeral local development, with loopback-only access, explicit gap reporting, tests, and a complete runnable example. - Add synchronous
NewMultiRecorderfan-out with non-short-circuiting joined errors, mixed batch-capability preservation, and explicit downstream lifecycle ownership. - Add a protocol E2E compatibility matrix over real loopback HTTP/1.1 and HTTP/2 servers, covering SSE streams, bidirectional trailers, concurrent requests, WebSocket upgrades, deterministic DNS/connect/TLS failures, and malformed HTTP/1.1 framing.
- Run protocol, request-comment, recorder batching, managed FileBodyStore, MemoryRecorder, HARFileRecorder, TraceStore, config-surface, and wire-contract behavioral tests from the external
recorder_testpackage.
Changed
- Split release SBOMs by artifact so the Go library inventory excludes Inspector dependencies and the published Inspector has its own SPDX file.
- Redesign the Inspector around task-oriented evidence views, with a cohesive enterprise visual system and responsive dark/light themes.
- Improve Inspector navigation with accessible keyboard and screen-reader behavior, comment-aware search, a resizable persisted exchange list, and layouts validated against large captures.
- Expand Inspector summaries so every recorded field remains discoverable while common outcomes, timings, connection evidence, and diagnostics are easier to scan.
Fixed
- Preserve a bounded live-debug backlog before Inspector subscription and retry interrupted Inspector connections indefinitely without clearing received rows.
- Add a live Inspector control that clears the current exchange and trace-chain list without disconnecting or forgetting validated protection keys.
- Automatically resolve encrypted values in newly streamed Inspector entries after their key has been explicitly validated in the current live session.
- Normalize release SBOM asset names without leaking the Git tag's
vprefix. - Preserve upgraded response streams such as WebSocket connections without wrapping them or recording post-upgrade protocol frames as HTTP body bytes.
Full changelog: v0.4.1...v0.4.2