Skip to content

Latest commit

 

History

History
executable file
·
303 lines (192 loc) · 12.4 KB

CHANGELOG.md

File metadata and controls

executable file
·
303 lines (192 loc) · 12.4 KB

Changelog

2.5.1 - 2024-06-23

Fixed

  • Fix insufficient type detection for FREQ and WKST leading to deprecation warning in tests with PHP 8.3 #149
  • Fix failing tests with ICU 72.1 because of NNBSP
  • Fix C.UTF8 locale support when intl isn't installed

2.5.0 - 2024-06-08

Fixed

  • Swedish: Corrects the spelling of monday and the grammar of enumeration partials. #134
  • Spanish: Improve clarity in daily and weekly recurrence translation #147
  • Dutch: weekdays and months are written in lowercase #136
  • Better handle TZ with Exchange / M365 generated iCal files #143

Added

  • Human readable time of day option #124
  • Japanese translation #139
  • Czech translation #137

2.4.1 - 2023-06-07

Fixed

  • Correctly parse DateTimeImmutable #132
  • Fix namespace on return type #130
  • Humanreadable gets monthly wrong #129

2.4.0 - 2023-01-06

Fixed

  • Exclude files from dist packages #110
  • Improve German translation #112
  • Daylight Saving Time issue with PHP 8.1 #120

Added

  • Added Portuguese translation #108
  • Added Polish translation #106

2.3.2 - 2022-05-03

Fixed

  • Fix timezone (and the entire rule) changed to uppercase if rule was created using createdFromRfcString #103

2.3.1 - 2022-04-22

Fixed

  • Fix microseconds not always removed from dtstart, causing date comparison issues with specific date input #104

2.3.0 - 2021-10-25

Added

  • Added Swedish translation #96
  • Added bin/review_translations.php as a helper for translators and contributors
  • Added Hebrew translation #95

Fixed

  • Fix Finnish translation #94
  • Update French translation
  • Update German translation
  • Fix compatibility with PHP 8.1 #100

2.2.2 - 2021-01-09

Fixed

  • Fix getOccurrencesAfter returns empty array when $inclusive is false and $limit is not set #93

2.2.1 - 2020-12-09

Fixed

  • Fix support for DateTimeImmutable #90

2.2.0 - 2019-11-01

Added

  • Persian (Farsi) translation #72
  • Support for Windows timezone #69

Fixed

  • Fix valid rules wrongly detected as not producing results, and cut short after MAX_CYCLES #78
  • Fix RRule::createFromRfcString not 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

Fixed

  • Fix locale format for i18n files without intl extension #67

Added

  • Added new methods to RSet: removeDate, clearDates, removeExDate and clearExDates #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 compatibility with PHP < 5.6 #43

Added

  • New option custom_path to humanReadable() to use custom translation files #56
  • New helpers methods #60
    • getOccurrencesBefore
    • getOccurrencesAfter
    • getNthOccurrencesBefore
    • getNthOccurrencesAfter
    • getNthOccurrencesFrom

1.6.3 - 2019-01-13

Fixed

  • 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

Fixed

  • Fix typo in NL translation #53

1.6.1 - 2018-04-13

Fixed

  • 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

Added

  • German translation #38
  • Add include_until option to humanReadable to omit the "until" part of the rule #36

1.5.1 - 2017-05-15

Fixed

  • 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

Added

  • Add explicit_infinite and include_start options to humanReadable to 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 $limit parameter to getOccurrences() and getOccurrencesBetween() to make working with infinite rule easier
  • Add a $dtstart parameter to RRule and RSet constsructor to specify dtstart when working with a RFC string without DTSTART.

Fixed

  • When creating a RRule, the RFC parser will not accept multiple DTSTART or RRULE lines

Deprecated

  • RRule::parseRfcString is 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

Fixed

  • 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

Fixed

  • RRule::offsetGet and RSet::offsetGet throw InvalidArgumentException for 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 as en_sg and use Locale::parseLocale when possible #24
  • Fix humanReadable fails with intl enabled when the timezone is "Z" #24

1.4.0 - 2016-11-11

Added

  • Add RRule::getRule() method to return original rule array #17
  • Add RSet::getRRules(), RSet::getExRules(), RSet::getDates() and RSet::getExDates()
  • Tests for PHP 7.0

Fixed

  • Fix a bug in rfcString when 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

Added

  • Italian translation (it) #14

Fixed

  • Fixed a bug when combining values with an integer modifier and regular values in BYDAY (example 1MO,FR)
  • Fixed RRule created with a timestamp start date generates an invalid RFC string #15

1.3.0 - 2016-07-08

Added

  • Spanish translation (es) #12
  • $include_timezone parameter to RRule::rfcString() to produce a RFC string without timezone information

Fixed

  • RRule::parseRfcString() is stricter and will not accept invalid DTSTART and UNTIL formats (use the array syntax in the constructor with DateTime objects if you need to create rules with complex combinations of timezones). #13

1.2.0 - 2016-04-09

Added

  • Support for fallback locale when using RRule::humanReadable() #11
  • Dutch translation (nl) #9

Fixed

  • Fixed fatal error Locale class not found when intl extension is not loaded #10

1.1.0 - 2016-03-30

Added

  • New class RRule\RSet (recurrence set) that can combine multiple RRULE, EXRULE, RDATE and EXDATE. #7
  • New interface RRule\RRuleInterface to unify RRule and RSet
  • New methods: isFinite(), isInfinite()

Fixed

  • Fix bug preventing the iteration of multiple instances of RRule at the same time
  • Fix occursAt failing 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)

Removed

  • The alias RRule::occursOn has been removed (use occursAt instead)

1.0.1 - 2016-03-11

Fixed

  • Ensure the results are returned in the same timezone as DTSTART. #6
  • LogicException namespacing bug. #3

1.0.0 - 2016-03-02

Added

  • First release, everything before that was unversioned (dev-master was used).