Skip to content

v0.18.0 — Hardening: bounded journal, probe-safe auth, private disclosure

Latest

Choose a tag to compare

@omercelikdev omercelikdev released this 28 Jul 11:45

First release from the project's new home: github.com/qorpe/mockifyr (old URLs redirect; images now publish to ghcr.io/qorpe/mockifyr — previous tags remain pullable from the old path).

Bounded request journal (#220)

  • The per-tenant journal is now bounded — default 1000 entries, oldest evicted first, matching the reference engine's journal-cap semantics (proven differentially: both engines capped at 3 retain the same newest three).
  • --journal-limit <n> configures it (--max-request-journal-entries kept as an alias); <=0 restores unbounded.
  • --journal-disabled (alias --no-request-journal) records nothing — for load tests.
  • GET /__admin/requests/{id} now resolves through a tenant-gated id index — O(1) instead of scanning the whole journal.
  • A long-running host no longer accumulates every request (and its Authorization headers) forever. Behavior change: previously unbounded; set --journal-limit 0 for the old behavior.

Probe-safe admin auth (#218)

/__admin/health is exempt from admin Basic auth — Kubernetes/OpenShift probes can't carry credentials, and a 401 health check sent pods into restart loops. Exact-path exemption; every other admin route stays guarded.

Also

  • SECURITY.md + GitHub private vulnerability reporting enabled (#217).
  • GitSyncTests teardown fixed on Windows (read-only .git objects) (#219).

Validation: TDD differential eviction test, 6 new unit tests, Stryker 100% on the journal store, 581 tests green.

Docs: CLI — request journal · Securing the admin API

Full changes: #221, #222, #223

🤖 Generated with Claude Code