v0.7.0
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.