Skip to content

v0.12.1 — Recordings flow, completed

Choose a tag to compare

@omercelikdev omercelikdev released this 27 Jul 11:30

The Recordings screen recorded fine but dead-ended in the dashboard — captured stubs could be listed, not used. This release closes the loop.

Recordings fixes

  • View JSON works: each captured stub expands into a read-only, syntax-highlighted view of the generated mapping (it was an empty <details> that did nothing)
  • Captured stubs can now be saved: per-row Add to stubs and a header Import all (N) — both through the standard bulk-import path; imported rows leave the list and the stub counts update live
  • Switching tenants clears the captured list, so one tenant's capture is never one accidental click from another
  • Hint corrected (all six locales): while recording, every request is proxied to the target and captured — existing stubs answer again once the recording stops

Oracle-verified semantics

The old hint claimed only unmatched requests are proxied. A new differential test tried to prove that — and the real reference oracle refuted it: it proxies every request during a live session, matched-stub requests included. Mockifyr already behaved identically (no server change); the behavior is now pinned by Recording_ProxiesEveryRequest_EvenOnesAnExistingStubWouldMatch and recorded in docs/parity/g12-transport.md, including faithful 404 replay of captured upstream misses.

Validation: 192 oracle-backed differential tests (one new), 285 unit tests, in-browser end-to-end (record → snapshot → view → import → replay against a live upstream).

Docs: record & playback and dashboard guides updated.

🤖 Generated with Claude Code