Repository navigation
This release prepares the API for a hybrid hosted demo: a richer demo catalog with unique product photos, a secured demo-reset endpoint for scheduled seed refresh, and env-gated SameSite cookie settings so cross-origin admin and storefront clients can use HttpOnly refresh against a public HTTPS API. Local defaults stay closed (reset off, SameSite=strict).
Added
- Demo catalog is 29 products across 7 categories, with stock headroom for public click-through checkout (
ELEC-EWM-005stays out of stock;ELEC-PRJ-003stays at its low-stock threshold). POST /v1/admin/demo/resetreconciles the demo seed for a scheduled job (src/infrastructure/demo/, ADR-0009). Off unlessDEMO_RESET_ENABLED=trueandDEMO_RESET_TOKENis at least 32 characters. HeaderX-Demo-Reset-Token. Rate-limited, single-flight, constant-time token compare. Returns 404 when disabled.AUTH_COOKIE_SAMESITE=strict|lax|none(defaultstrict).nonerequires an httpsPUBLIC_BASE_URLand the refresh cookie staysSecure.
Changed
db:seedand the demo reset rebuild inventory from the four fixture orders, so shopper checkouts do not permanently drain demo stock. Shopper accounts and orders are not deleted.db:seedstill refusesNODE_ENV=production.- Demo product photos: one unique WebP per SKU under
assets/demo-media/v2/(DEMO_MEDIA_VERSION=v2). Only the current version folder is shipped; the path segment is a cache bust, not a second photo set.
Full changelog: v0.11.3...v0.12.0