Rust crate for working with recurrence rules for calendar dates as defined in the iCalendar RFC and more.
exrule
which is not enabled by default.RRuleSet::all
takes a limit
argument to protect against long running iteration.rrule_set.into_iter().map(|dt| format!("{dt}")).collect<Vec<_>>()
could lead to an infinite loop.RRuleSet::all
returns a tuple (Vec<DateTime>, bool)
instead of the previous Result
type. The boolean in the tuple indicates if the iteration was limited or not.chrono::DateTime<rrule::Tz>
rather than chrono::DateTime<chrono_tz::Tz>
. Please use .with_timezone
if use still want to use chrono_tz::Tz
.no-validation-limits
feature is removed and is replaced by arguments to RRuleSet
.RRuleSet::just_before
was removed to keep the public API more lean. Please use the iterator API directly if you need this use-case.RRuleSet::just_after
was removed to keep the public API more lean. Please use the iterator API directly if you need this use-case.RRuleSet::all_between
was replaced by rrule_set.before(dt).after(dt).all(limit)
.RRuleSet::after
and RRuleSet::before
was added to configure the boundaries of the recurrences before calling RRuleSet::all
.RRuleSet::all_unchecked
was added to allow for iterating without any validation limits.RRule<Unvalidated>
implements FromStr
and Deserialize
rrule::Tz
"replaced" chrono_tz::Tz
by wrapping it and adding support for the chrono::Local
timezone.