Bursar v2.0.2
Highlights
- Stabilized the application-facing
Bursarfacade and explicit credit,
billing, catalog, account, and commerce capability contracts across the
Python and TypeScript SDKs. - Added caller-stable idempotency helpers, exact decimal credit inputs, and
explicit provider-environment types for replay-safe financial operations. - Centralized configuration loading and aligned configuration, pricing,
commerce, provider, storage, and persistence behavior across both SDKs. - Made six-decimal, half-up credit accounting an SDK invariant instead of a
configurable catalog field. - Corrected provider event identity mapping, retry/idempotency behavior,
catalog plan resolution, storage worker coordination, and the Google ADK
public capability integration. - Added AI SaaS onboarding guides, package smoke examples, agent-readable
documentation, and stronger parity, packaging, browser-entry, migration,
and CI checks.
Security
- Provider-backed operations now fail closed unless their environment is
explicitly configured. - Hardened PostgreSQL caller-role membership validation and tenant creation
while preserving host-owned extension privileges.
Upgrade note
v2.0.2 ships a consolidated greenfield SQL baseline. Existing v2.0.1
bursar.schema_migrations ledgers are intentionally not supported in place;
recreate the Bursar schema or database before deploying this release.
Install
python -m pip install "bursar[postgres]==2.0.2"
npm install @zonastery/bursar@2.0.2Full changelog: v2.0.1...v2.0.2