NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #1116 most downloaded on pub.dev
Recurrence rule parsing & calculation as defined in the iCalendar RFC
Last release 9 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
One column per quarter.
avoid skipping occurrence when using after with frequency higher than DAILY ( 9722842 ), closes: #81
add Dutch localizations ( RruleL10nNl ) ( #77 ). Thanks to @simonverzelen !
RruleL10nNl) (#77). Thanks to @simonverzelen!4740e29)RruleL10nNl) (#77). Thanks to @simonverzelen!4740e29)fix instance calculation with after and interval > 1 ( 902b071 ), closes: #71
prevent IntegerDivisionByZeroException with bySetPositions ( #67 ), closes: #44 . Thanks to @DrBu7cher !
IntegerDivisionByZeroException with bySetPositions (#67), closes: #44. Thanks to @DrBu7cher!bySetPositions not handled correctly (#69), closes: #68. Thanks to @DrBu7cher!after (if set) instead of calculating all instances until then (#66). Thanks to @DrBu7cher!bySetPositions, reuse date lists (e47a0a8)ce0678e)fix string serialization with intl set to non-latin locale ( #60 ), closes: #59 . Thanks to @absar !
copy microseconds as well in dateTime.copyWith(…) ( #49 ), closes: #48 . Thanks to @plammens !
RecurrenceRule s will no longer skip the first instance if the start time contains milliseconds/microseconds ( #47 ), closes: #46 . Thanks to @plammen
upgrade to Dart >=2.18.0 <3.0.0
export dateTime.copyWith(isUtc: …, …) ( ccc2828 ), closes: #39
remove extensions conflicting with time v2.1.1 ( 883523a ), closes: #36
support List when decoding JSON (#32), closes: #31. Thanks to @nshoura!
add README section about jCal/JSON support (`2130c72`)
2130c72)support jCal (`77ca2cb`), closes: #3
remove dependency on the discontinued supercharged_dart (#27). Thanks to @thomassth!
handle yearly frequency with byMonths and byWeekDays (`8646af1`), closes: #29
support optional caching of recurrence rule iterations via recurrenceRule.shouldCacheResults and .getAllInstances(…) (#20). Thanks to @polRk!
feat: expose RecurrenceRuleToStringOptions directly in recurrenceRule.toString(…) (`c5291d1`), improves: #21
disallow invalid recurrence rule field combinations (`2707922`), closes: #19
Dates and DateTimes no longer use time_machine , but DateTime instead. All provided DateTimes must be in UTC.
DateTime instead.
All provided DateTimes must be in UTC.recurrenceRule.weekStart (Monday is now used everywhere) and recurrenceRule.weekYearRuleRecurrenceSet as its logic isn't implemented yetadd clearUntil/clearCount/clearInterval to recurrenceRule.copyWith(…), closes: #17
clearUntil/clearCount/clearInterval to recurrenceRule.copyWith(…), closes: #17hide new conflicting extension from collection , closes: #14
RecurrenceRule.copyWith(…)add RecurrenceRule.toText() for conversion to a human-readable string (#7), closes: #5
Initial release 🎉
Initial release 🎉
Your coding agent can read these notes before it upgrades. Set up the MCP server →