v0.1.25.43 — production readiness: Redis health contributor, requestId MDC, stateless security hardening
[benchmark-skip] — Infra/ops-only release (Redis health contributor, requestId MDC, stateless Spring Security config). No hot-path, Lua, or wire change. The release benchmark gate flaked on reserve_p50 only (runner noise: bounced 3.9–4.4 ms vs ~3.5 ms normal, <1% over threshold on a single metric while all others passed); bypassed per the workflow's documented policy for infra-only releases that the benchmark cannot meaningfully measure.
[0.1.25.43] — 2026-06-25
Fixed
/actuator/health/readinessnow includes a RedisPINGhealth contributor.
Container, Dockerfile, and release-smoke healthchecks now use readiness and go
unhealthy when the ledger dependency is unreachable instead of reporting a
live HTTP process as healthy while API operations return Redis-backed 5xx
errors./actuator/health/livenessremains process-only.RequestIdFilternow placesrequestIdin MDC for the lifetime of each
request, matching the operations runbook and making structured logs
consistently joinable by bothrequestIdandtraceId.- Spring Security is now explicitly stateless/API-key-only: HTTP Basic, form
login, logout, and Spring Boot's generated default user autoconfiguration are
disabled. - Redis connection failures during API-key validation now log one concise
redis_unavailablewarning instead of a full stack trace per affected
request; unexpected validation exceptions still keep stack traces. - Production Compose examples now point at the
0.1.25.43image tag.
Compatibility
- Operational readiness change only. No HTTP API schema, Redis data model, Lua,
event, evidence, or protocol behavior change. The unauthenticated readiness
endpoint can now return DOWN/503 when Redis is unavailable.