⚠️ Preview release. Published for early testing — not marked "Latest". The mock
format, its YAML/JSON serialization, and the HTTP/CLI API are unchanged from1.0.0
(locked by golden serialization tests and the venom integration suite), so your existing
mocks and scripts keep working.
✨ New features
- Edit and delete mocks from the UI while the session has received no calls (append-only
once a call is recorded, preserving the history ↔ mock link). - Delete a session from the sidebar's edit popover (new additive
DELETE /sessions/:id). - Clear a session's history from the History page or the Mocks page — resets call
counters and re-enables editing. - View any mock as raw YAML (read-only) via a per-mock toggle.
- Search / filter mocks and history; search and pagination live in the URL, so a
filtered or paginated view is a shareable link. - Sort sessions by date (newest first) with a sidebar toggle; non-latest (read-only)
sessions are dimmed, and a notice explains why a mock is read-only with a one-click fix. - Schema-complete mock editor with a Visual ↔ Raw YAML toggle, validated against a
canonical JSON schema before saving.
🧱 Modernization (state of the art 2026)
- Backend: Go 1.26; dropped unmaintained dependencies in favor of the standard library
(log/slog, stdlibflag,net/httpgraceful shutdown,crypto/randIDs). - Frontend: migrated Parcel → Vite, React 16 → React 19, redux/rxjs →
TanStack Query, io-ts → zod, and upgraded antd 6, CodeMirror 6,
Mermaid 11, react-router 7, es-toolkit.
🐛 Fixes
- Load persisted sessions resiliently and bound file-descriptor usage (a single corrupt
session directory no longer wipes the others on restart). - Remove modulo bias from mock ID generation.
🔧 Tooling & CI
- New Playwright non-regression suite (35 tests) plus golden serialization tests; test
runner switched to npm / oxlint / Vitest. - Canonical mock JSON schema validated against the fixtures.
- CI hardened to 2026 best practices: least-privilege permissions, SHA-pinned actions +
Dependabot,govulncheck+npm auditgate, and draft / preview releases that never
override "Latest".
Full changelog: 1.0.0...v1.1.0-preview