Skip to content

v2.4.0

Choose a tag to compare

@jozzzzep jozzzzep released this 05 May 12:01
· 42 commits to main since this release

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 prf lightweight.
  • Reduces dependencies for apps that only need persistence.
  • Allows track and limit to 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 limit and track with more features and utilities while keeping prf clean, focused, and ~90% smaller in size.

The APIs remain backward-compatible until v3.0 (2026) — just change your imports.

  • limit packagehttps://pub.dev/packages/limit

    • PrfCooldownCooldown
    • PrfRateLimiterRateLimiter
  • track packagehttps://pub.dev/packages/track

    • PrfStreakTrackerStreakTracker
    • PrfPeriodicCounterPeriodicCounter
    • PrfRolloverCounterRolloverCounter
    • PrfActivityCounterActivityCounter
    • PrfHistoryHistoryTracker
    • Enums:
      • TrackerPeriodTimePeriod
      • ActivitySpanTimeSpan
flutter pub add track
flutter pub add limit

Deprecated in 2.4.0 (to be removed in v3.0.0 estimated 2026):

  • Limit Services: PrfCooldown PrfRateLimiter
  • Tracking Services: PrfStreakTracker PrfPeriodicCounter PrfRolloverCounter PrfActivityCounter PrfHistory
  • Enums: TrackerPeriod ActivitySpan
  • Service Interfaces: BaseCounterTracker BaseTracker

Everything related to the services. Nothing changed in prf itself.