v0.4.0
What's New
- Add plan provenance helpers:
current_pricing_plan_resolution,current_pricing_plan_source, andPlanResolver.resolution_for(plan_owner)now expose whether the effective plan comes from a manual assignment, a Pay subscription, or the default plan - Preserve underlying billing context: resolution objects include the current subscription when present, even when a manual assignment overrides it for entitlements
- Clarify effective plan vs billing state: docs now explicitly distinguish the effective pricing plan from Pay/Stripe subscription status
This release helps apps that need to distinguish between the effective plan (controls entitlements) and the billing state (Stripe subscription), especially when admin overrides are in play.
Changes
Full Changelog: v0.3.2...v0.4.0