v0.3.0
Manual assignments now correctly override subscriptions
Admin overrides (via assign_pricing_plan!) now take precedence over Pay/Stripe subscription-based plans. Previously, subscriptions incorrectly won, making manual overrides useless.
Performance: Fix N+1 queries when checking status
The status() method now uses request-scoped caching, reducing database queries by ~85% when checking multiple limits.
Automatic callbacks
Limit events (on_limit_warning, on_limit_exceeded, on_grace_start, on_block) now fire automatically when limits change鈥攏o manual checks needed.
Admin dashboard scopes
New scopes for building admin dashboards: within_all_limits, exceeding_any_limit, in_grace_period, blocked.
What's Changed
What's Changed
- Add class-level scopes for admin dashboards by @rameerez in #17
- Add automatic callback firing for limit events by @rameerez in #18
- Bug: Overly Unique EnforecementState by @stuyam in #16
- Fix N+1 query problem in status() with StatusContext pattern by @rameerez in #19
- Fix manual assignment precedence over subscriptions by @rameerez in #20
New Contributors
Full Changelog: v0.2.1...v0.3.0