v2.4.0
We are officially deprecating all persistent utility services (trackers and limiters) from the prf package. To keep prf focused purely on persistence (without embedded logic), all advanced time-based utilities are being migrated to two new dedicated packages:
Why this change?
- Improves modularity and keeps
prflightweight. - Reduces dependencies for apps that only need persistence.
- Allows
trackandlimitto evolve independently with focused updates. - Removes ~300 extra tests and ~1,200 lines from the README, which had made the package heavy and harder to navigate.
- Frees up space to expand
limitandtrackwith more features and utilities while keepingprfclean, focused, and ~90% smaller in size.
✅ The APIs remain backward-compatible until v3.0 (2026) — just change your imports.
-
limitpackage → https://pub.dev/packages/limitPrfCooldown→CooldownPrfRateLimiter→RateLimiter
-
trackpackage → https://pub.dev/packages/trackPrfStreakTracker→StreakTrackerPrfPeriodicCounter→PeriodicCounterPrfRolloverCounter→RolloverCounterPrfActivityCounter→ActivityCounterPrfHistory→HistoryTracker- Enums:
TrackerPeriod→TimePeriodActivitySpan→TimeSpan
flutter pub add track
flutter pub add limitDeprecated in 2.4.0 (to be removed in v3.0.0 estimated 2026):
- Limit Services:
PrfCooldownPrfRateLimiter - Tracking Services:
PrfStreakTrackerPrfPeriodicCounterPrfRolloverCounterPrfActivityCounterPrfHistory - Enums:
TrackerPeriodActivitySpan - Service Interfaces:
BaseCounterTrackerBaseTracker
Everything related to the services. Nothing changed in prf itself.