v0.3.0
v0.3.0 - Usage History, Event Replay & Enhanced Developer Experience
Highlights
- Usage History API — Time-series data to visualize counter changes before/after replay
- Event Replay System — Dry-run/apply mode with watermark/cursor semantics for historical event processing
- Reconciliation Summary API — Pre-invoice drift detection and counter validation
- Idempotency Support —
Idempotency-Keyheader support for reliable event ingestion - Enhanced Developer Experience — Per-event results, relaxed tenant validation, and improved error handling
Why This Matters
This release transforms StripeMeter from a basic usage tracking system into a comprehensive reconciliation platform. You can now:
- Prove accuracy with time-series usage history and reconciliation summaries
- Handle late events safely with the new replay system
- Ensure reliability with idempotency support and per-event status tracking
- Simplify integration with relaxed tenant ID validation
Upgrade Guide
New APIs Available
GET /v1/usage/history- Retrieve time-series usage dataPOST /v1/replay- Replay historical events with dry-run/apply modesGET /v1/reconciliation/summary- Get drift analysis and counter validation
Enhanced Ingest API
- Add
Idempotency-Keyheader to prevent duplicate processing - Response now includes per-event statuses and
requestIdfor tracking tenantIdvalidation relaxed from UUID to string (server-normalized)
Deprecated Endpoints
/v1/events/backfillendpoints are deprecated in favor ofPOST /v1/replay
Breaking Changes
None - this is a fully backward-compatible release.
Full Changelog
Added
- Usage History API —
GET /v1/usage/historyreturns time-series plus totals to visualize counters before/after replay. (#61) - Reconciliation Summary API —
GET /v1/reconciliation/summaryreports drift and counters so you can prove pre-invoice parity. (#62) - Backfill & Event Replay System —
POST /v1/replaywith dry-run/apply and watermark/cursor semantics (single worker MVP). (#44) - Readiness checks — minimal health probes for Stripe ping + Redis ping. (#38)
- Production Auth / Tenancy / RBAC / API keys (initial) — base capabilities landed and tracked under a single issue. (#45)
Developer Experience
- Idempotency on ingest —
Idempotency-Keyheader accepted onPOST /v1/events/ingest. (#58) - Per-event ingest results — response now includes per-event statuses and a
requestId. (#59) - Tenant ID DX — relaxed
tenantIdvalidation from UUID to string (server-normalized). (#60)
Documentation & Demos
- Operator runbook — reconciliation triage/repair steps for the "first 5 minutes." (#57)
- Stripe Test Clocks Parity Walkthrough — end-to-end demo that proves drift → 0 before Stripe closes the invoice. (#53)
Contributors
Thank you to all the contributors who made v0.3.0 possible:
Want to contribute? Check out our Contributing Guide and join the discussion in GitHub Discussions.