Changelog
View SourceAll notable changes to this project are documented here. This project adheres to Semantic Versioning and Keep a Changelog.
0.1.0 — Unreleased
The first release. Complete coverage of the Nomba One subscription-billing API.
Added
- Client —
Nombaone.new/2, key-prefix → host derivation, per-client and per-calltimeout/max_retries/headers/idempotency_key, and awith_responseoption exposing the request id and raw headers. - Transport — a swappable
Nombaone.Transportbehaviour, defaulting to a zero-dependency:httpcadapter with TLS verified against the OS trust store. - Money-safety — an
Idempotency-Keycomputed once per POST and reused across automatic retries; full-jitter backoff honoringRetry-After; retries scoped to transport failures, 408/429/5xx, and in-flight idempotency conflicts. - Full resource surface (78 methods) — customers, plans (+ nested prices), prices, subscriptions (+ schedule, dunning), invoices, coupons, payment methods, mandates, settlements, webhook endpoints (+ deliveries), events, organization (+ billing policy), metrics, and the sandbox toolkit.
- Pagination — a
Nombaone.Pagethat isEnumerable, auto-threading cursors, plus manualnext_page/1and a lazystream/1. - Errors — typed, status-subtyped exception structs carrying
code,hint,doc_url,fields, andrequest_id; an open code union. - Webhooks —
Nombaone.Webhooks.construct_event/4and friends (constant-time verification, timestamp tolerance, secret rotation, legacy-body fallback), and a typedNombaone.WebhookEventcatalog. - Docs — every public function documented with runnable examples; five
executable scripts in
examples/.