Skip to content

v0.7.0

Choose a tag to compare

@sylvesterdamgaard sylvesterdamgaard released this 16 Jul 20:55

Billing domain events so plugins/hosts react to the lifecycle via listeners — no host wiring, no base edits.

Dispatched through the injected event dispatcher at the real lifecycle points (additive; every emitting service gained an optional trailing ?Dispatcher — no existing signature broke):

  • InvoiceIssued (DefaultInvoicer::issue) · PaymentSettled (DefaultWebhookIngest::ingest, applying path only) · CreditNoteIssued (DefaultRefunder::refund) · SubscriptionRenewed/SubscriptionChanged (SubscriptionManager) · LicenseIssued (LicenseMint::issue).

Idempotent/duplicate operations don't re-fire. Backward-compatible → consumers on ^0.6 should widen to ^0.6 || ^0.7. 317 tests. See docs/extension-points/events.md.