PackageTrack
Sign in Get early access

rrule

Recurrence rule parsing & calculation as defined in the iCalendar RFC

0.2.18 104K downloads/mo #1107 most downloaded on pub.dev JonasWanke/rrule

What this package is like to depend on

Last release 7 months ago

06 Jan 2026

Release timing varies

gaps range from 8 days to 12 months

Nearly every release is documented

notes for 23 of 23 stable releases

Nothing withdrawn

no release was ever pulled

6 years old

23 releases · first in 2020

1 release in the last 12 months

see the full history below

Release timeline

23 releases · May 2020 to Jan 2026
2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 23
  1. 0.2.18 06 Jan 2026
    Release notes

    🐛 Bug Fixes

    • avoid skipping occurrence when using after with frequency higher than DAILY (9722842), closes: #81
    Open source →
    Release notes

    🐛 Bug Fixes

    • avoid skipping occurrence when using after with frequency higher than DAILY (9722842), closes: #81
    Open source →
  2. 0.2.17 06 Jan 2025
    Release notes

    🎉 New Features

    📦 Build & CI

    • widen intl dependency to >=0.17.0 <0.21.0 (4740e29)
    Open source →
    Release notes

    🎉 New Features

    📦 Build & CI

    • widen intl dependency to >=0.17.0 <0.21.0 (4740e29)
    Open source →
  3. 0.2.16 07 Feb 2024
    Release notes

    🐛 Bug Fixes

    • fix instance calculation with after and interval > 1 (902b071), closes: #71

    📦 Build & CI

    • widen intl dependency to >=0.17.0 <0.20.0 (28b09bc)
    Open source →
    Release notes

    🐛 Bug Fixes

    • fix instance calculation with after and interval > 1 (902b071), closes: #71

    📦 Build & CI

    • widen intl dependency to >=0.17.0 <0.20.0 (28b09bc)
    Open source →
  4. 0.2.15 28 Jan 2024
    Release notes

    🐛 Bug Fixes

    • prevent IntegerDivisionByZeroException with bySetPositions (#67), closes: #44. Thanks to @DrBu7cher!
    • out-of-range bySetPositions not handled correctly (#69), closes: #68. Thanks to @DrBu7cher!

    ⏩ Performance Improvements

    • when calculating instances for recurrence rules without a count, skip directly to after (if set) instead of calculating all instances until then (#66). Thanks to @DrBu7cher!
    • when applying bySetPositions, reuse date lists (e47a0a8)

    📦 Build & CI

    Open source →
    Release notes

    🐛 Bug Fixes

    • prevent IntegerDivisionByZeroException with bySetPositions (#67), closes: #44. Thanks to @DrBu7cher!
    • out-of-range bySetPositions not handled correctly (#69), closes: #68. Thanks to @DrBu7cher!

    ⏩ Performance Improvements

    • when calculating instances for recurrence rules without a count, skip directly to after (if set) instead of calculating all instances until then (#66). Thanks to @DrBu7cher!
    • when applying bySetPositions, reuse date lists (e47a0a8)

    📦 Build & CI

    Open source →
  5. 0.2.14 13 Sep 2023
    Release notes

    🐛 Bug Fixes

    • fix string serialization with intl set to non-latin locale (#60), closes: #59. Thanks to @absar!
    • fix recurrence calculation if start has microseconds, closes: #62
    Open source →
    Release notes

    🐛 Bug Fixes

    • fix string serialization with intl set to non-latin locale (#60), closes: #59. Thanks to @absar!
    • fix recurrence calculation if start has microseconds, closes: #62
    Open source →
  6. 0.2.13 22 Mar 2023
    Release notes

    🐛 Bug Fixes

    • copy microseconds as well in dateTime.copyWith(…) (#49), closes: #48. Thanks to @plammens!

    📦 Build & CI

    • widen intl dependency to >=0.17.0 <0.19.0 (84cb5d3), closes: #51
    Open source →
    Release notes

    🐛 Bug Fixes

    • copy microseconds as well in dateTime.copyWith(…) (#49), closes: #48. Thanks to @plammens!

    📦 Build & CI

    • widen <kbd>intl</kbd> dependency to >=0.17.0 <0.19.0 (84cb5d3), closes: #51
    Open source →
  7. 0.2.12 18 Mar 2023
    Release notes

    🐛 Bug Fixes

    • RecurrenceRules will no longer skip the first instance if the start time contains milliseconds/microseconds (#47), closes: #46. Thanks to @plammens!
    Open source →
    Release notes

    🐛 Bug Fixes

    • RecurrenceRules will no longer skip the first instance if the start time contains milliseconds/microseconds (#47), closes: #46. Thanks to @plammens!
    Open source →
  8. 0.2.11 24 Jan 2023
    Release notes

    📦 Build & CI

    • upgrade to Dart >=2.18.0 <3.0.0 (160f22b)
    • update intl to ^0.18.0 (ed3f68d), closes: #45
    Open source →
    Release notes

    📦 Build & CI

    • upgrade to Dart >=2.18.0 <3.0.0 (160f22b)
    • update intl to ^0.18.0 (ed3f68d), closes: #45
    Open source →
  9. 0.2.10 17 Jun 2022
    Release notes

    🎉 New Features

    • export dateTime.copyWith(isUtc: …, …) (ccc2828), closes: #39

    📜 Documentation updates

    • clarify time zone handling in README (ccc2828), closes: #39

    📦 Build & CI

    Open source →
    Release notes

    🎉 New Features

    • export dateTime.copyWith(isUtc: …, …) (ccc2828), closes: #39

    📜 Documentation updates

    • clarify time zone handling in README (ccc2828), closes: #39

    📦 Build & CI

    Open source →
  10. 0.2.9 08 Jun 2022
    Release notes

    🐛 Bug Fixes

    Open source →
    Release notes

    🐛 Bug Fixes

    Open source →
  11. 0.2.8 05 May 2022
    Release notes

    🐛 Bug Fixes

    • support List<dynamic> when decoding JSON (#32), closes: #31. Thanks to @nshoura!
    • Add simple normalization before encoding to text (204085d), closes: #13
    • Update count even if not between after and before (a01e5dd), closes: #25
    Open source →
  12. 0.2.7 17 Jan 2022
    Release notes

    📜 Documentation updates

    • add README section about jCal/JSON support (2130c72)
    Open source →
  13. 0.2.6 17 Jan 2022
    Release notes

    🎉 New Features

    Open source →
  14. 0.2.5 05 Jan 2022
    Release notes

    📦 Build & CI

    Open source →
  15. 0.2.4 04 Jan 2022
    Release notes

    🐛 Bug Fixes

    • handle yearly frequency with byMonths and byWeekDays (8646af1), closes: #29
    Open source →
  16. 0.2.3 06 May 2021
    Release notes

    🎉 New Features

    • support optional caching of recurrence rule iterations via recurrenceRule.shouldCacheResults and .getAllInstances(…) (#20). Thanks to @polRk!
    Open source →
  17. 0.2.2 28 Apr 2021
    Release notes

    🎉 New Features

    • feat: expose RecurrenceRuleToStringOptions directly in recurrenceRule.toString(…) (c5291d1), improves: #21
    Open source →
  18. 0.2.1 26 Apr 2021
    Release notes

    🐛 Bug Fixes

    • disallow invalid recurrence rule field combinations (2707922), closes: #19
    Open source →
  19. 0.2.0 26 Mar 2021
    Release notes

    ⚠️ BREAKING CHANGES

    • migrate to null-safety
    • Dates and DateTimes no longer use <kbd>time_machine</kbd>, but DateTime instead. All provided DateTimes must be in UTC.
    • remove recurrenceRule.weekStart (Monday is now used everywhere) and recurrenceRule.weekYearRule
    • remove RecurrenceSet as its logic isn't implemented yet
    Open source →
  20. 0.1.3 27 Jan 2021
    Release notes

    🎉 New Features

    • add clearUntil/clearCount/clearInterval to recurrenceRule.copyWith(…), closes: #17
    Open source →
  21. 0.1.2 24 Nov 2020
    Release notes

    🐛 Bug Fixes

    🎉 New Features

    • add RecurrenceRule.copyWith(…)
    Open source →
  22. 0.1.1 09 Jul 2020
    Release notes

    🎉 New Features

    • add RecurrenceRule.toText() for conversion to a human-readable string (#7), closes: #5
    Open source →
  23. 0.1.0 26 May 2020
    Release notes

    Initial release 🎉

    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive