Skip to content

v0.3.0

Choose a tag to compare

@geminimir geminimir released this 12 Sep 19:54

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 SupportIdempotency-Key header 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 data
  • POST /v1/replay - Replay historical events with dry-run/apply modes
  • GET /v1/reconciliation/summary - Get drift analysis and counter validation

Enhanced Ingest API

  • Add Idempotency-Key header to prevent duplicate processing
  • Response now includes per-event statuses and requestId for tracking
  • tenantId validation relaxed from UUID to string (server-normalized)

Deprecated Endpoints

  • /v1/events/backfill endpoints are deprecated in favor of POST /v1/replay

Breaking Changes

None - this is a fully backward-compatible release.

Full Changelog

Added

  • Usage History APIGET /v1/usage/history returns time-series plus totals to visualize counters before/after replay. (#61)
  • Reconciliation Summary APIGET /v1/reconciliation/summary reports drift and counters so you can prove pre-invoice parity. (#62)
  • Backfill & Event Replay SystemPOST /v1/replay with 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 ingestIdempotency-Key header accepted on POST /v1/events/ingest. (#58)
  • Per-event ingest results — response now includes per-event statuses and a requestId. (#59)
  • Tenant ID DX — relaxed tenantId validation 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.