Skip to content

v0.4.2

Choose a tag to compare

@mgurevin mgurevin released this 22 Jul 13:43
v0.4.2
724c271

Added

  • Add exact-origin DebugStreamRecorderConfig.AllowedOrigins opt-in so a trusted hosted Inspector can read the loopback-only development stream.
  • Add a bounded, single-subscriber DebugStreamRecorder SSE 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 NewMultiRecorder fan-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_test package.

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 v prefix.
  • 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