Releases: fmeringdal/rust-rrule
Releases · fmeringdal/rust-rrule
v0.10.0
Changed
- EXRULE functionality is put behind the feature flag
exrule
which is not enabled by default. RRuleSet::all
takes alimit
argument to protect against long running iteration.- The iterator API does not have any validation limits by default. So
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 previousResult
type. The boolean in the tuple indicates if the iteration was limited or not.- Datetime type returned from iteration is
chrono::DateTime<rrule::Tz>
rather thanchrono::DateTime<chrono_tz::Tz>
. Please use.with_timezone
if use still want to usechrono_tz::Tz
.
Removed
no-validation-limits
feature is removed and is replaced by arguments toRRuleSet
.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 byrrule_set.before(dt).after(dt).all(limit)
.
Added
RRuleSet::after
andRRuleSet::before
was added to configure the boundaries of the recurrences before callingRRuleSet::all
.RRuleSet::all_unchecked
was added to allow for iterating without any validation limits.RRule<Unvalidated>
implementsFromStr
andDeserialize
rrule::Tz
"replaced"chrono_tz::Tz
by wrapping it and adding support for thechrono::Local
timezone.