2.2.2 - 2021-01-09
- Fix
getOccurrencesAfterreturns empty array when$inclusiveisfalseand$limitis not set #93
2.2.1 - 2020-12-09
- Fix support for
DateTimeImmutable#90
2.2.0 - 2019-11-01
- Fix valid rules wrongly detected as not producing results, and cut short after MAX_CYCLES #78
- Fix
RRule::createFromRfcStringnot detecting RSet properly if the rule was lowercase - [internal] Replace static variables by array constants (permitted since PHP 5.6). Shouldn't break backward compatibility unless you were doing weird things with this lib in the first place.
2.1.0 - 2019-05-30
- Fix locale format for i18n files without
intlextension #67
- Added new methods to
RSet:removeDate,clearDates,removeExDateandclearExDates#66
2.0.0 - 2019-03-16
- Add support for PHP 7.3
2.0.0-rc1 - 2019-01-13
- Rewrite the core algorithm to use a native PHP generator, drop compability with PHP < 5.6 #43
- New option
custom_pathtohumanReadable()to use custom translation files #56 - New helpers methods #60
getOccurrencesBeforegetOccurrencesAftergetNthOccurrencesBeforegetNthOccurrencesAftergetNthOccurrencesFrom
1.6.3 - 2019-01-13
- Fix error when timezone is an offset instead of an olson name. #61
- Fix VALUE is a valid param of EXDATE #62
1.6.2 - 2018-09-18
- Fix typo in NL translation #53
1.6.1 - 2018-04-13
- Null check to prevent 0 (false) values being lost when exporting to RFC string #50
- Fix warning in
humanReadable()#44 - Fix typo in NL translation #46
1.6.0 - 2017-10-11
- German translation #38
- Add
include_untiloption tohumanReadableto omit the "until" part of the rule #36
1.5.1 - 2017-05-15
- Throw exception when passing a float instead of an int (e.g. INTERVAL=1.5) instead of casting silently
- Variable name typo #34
1.5.0 - 2017-05-07
- Add
explicit_infiniteandinclude_startoptions tohumanReadableto respectivity omit "forever" and the start date from the sentence. - RSet constructor now accepts a string to build a RSET from a RFC string #26
- New factory method
RRule::createFromRfcString()to build either a RRule or a RSet from a string - Add a
$limitparameter togetOccurrences()andgetOccurrencesBetween()to make working with infinite rule easier - Add a
$dtstartparameter toRRuleandRSetconstsructor to specify dtstart when working with a RFC string without DTSTART.
- When creating a RRule, the RFC parser will not accept multiple DTSTART or RRULE lines
RRule::parseRfcStringis deprecated. Note: it wasn't part of the documentation in the first place, but just in case someone is using it, it's not removed yet.
1.4.2 - 2017-03-29
humanReadable()fails if the RRule was created from a RFC string containing the timezone (e.g.DTSTART;TZID=America/New_York:19970901T090000)
1.4.1 - 2017-02-02
RRule::offsetGetandRSet::offsetGetthrowInvalidArgumentExceptionfor illegal offset types #22- Update exception message for UNTIL parse error #23
- Fix parser handling of UNTIL when DTSTART is not provided #25
- Accept invalid RFC strings generated by the JS lib but triggers a Notice message #25
- Rework
RRule::i18nLoad()to accept locales such asen_sgand useLocale::parseLocalewhen possible #24 - Fix
humanReadablefails withintlenabled when the timezone is "Z" #24
1.4.0 - 2016-11-11
- Add
RRule::getRule()method to return original rule array #17 - Add
RSet::getRRules(),RSet::getExRules(),RSet::getDates()andRSet::getExDates() - Tests for PHP 7.0
- Fix a bug in
rfcStringwhen using a frequency constant (instead of a string) to create the rule #16 - Fix a undefined index bug in RFC parser
1.3.1 - 2016-08-09
- Italian translation (it) #14
- Fixed a bug when combining values with an integer modifier and regular values in
BYDAY(example1MO,FR) - Fixed RRule created with a timestamp start date generates an invalid RFC string #15
1.3.0 - 2016-07-08
- Spanish translation (es) #12
$include_timezoneparameter toRRule::rfcString()to produce a RFC string without timezone information
RRule::parseRfcString()is strictier and will not accept invalidDTSTARTandUNTILformats (use the array syntax in the constructor withDateTimeobjects if you need to create rules with complex combinations of timezones). #13
1.2.0 - 2016-04-09
- Fixed fatal error Locale class not found when intl extension is not loaded #10
1.1.0 - 2016-03-30
- New class
RRule\RSet(recurrence set) that can combine multiple RRULE, EXRULE, RDATE and EXDATE. #7 - New interface
RRule\RRuleInterfaceto unifyRRuleandRSet - New methods:
isFinite(),isInfinite()
- Fix bug preventing the iteration of multiple instances of RRule at the same time
- Fix
occursAtfailing when the date passed was a different timezone #8 - Fix bug at WEEKLY frequency with a partially filled cache in some circumstances
- Fix various reference bugs causing corruption of the cache in some circumstances (related to DateTime object being mutable)
- The alias
RRule::occursOnhas been removed (useoccursAtinstead)
1.0.1 - 2016-03-11
- Ensure the results are returned in the same timezone as DTSTART. #6
- LogicException namespacing bug. #3
- First release, everything before that was unversioned (
dev-masterwas used).