Skip to content

Releases: u01jmg3/ics-parser

Maintenance Release

26 Jun 08:21
abb41a4
Compare
Choose a tag to compare

v3.4.1

  • #338: let filterDaysBefore and filterDaysAfter options accept DateTime values in addition to integer
  • #339: fix authentication failure
  • Test on PHP 8.3 / 8.4

Previous Release Changelogs

v3.4.0

  • #328: docblocks
  • #329 (#330): change Event class additional properties to be public
  • #333 (#334): prevent non-breaking spaces from being removed from the DESCRIPTION
  • #335: update broken URL due to GitHub username change
  • Create a new method to return the default time zone and support setting it when null
  • Support applying the max level in PHPStan

v3.3.1

  • #327: emojis no longer displaying correctly

v3.3.0

  • #317: when unfolding account for non-breaking spaces
  • #326: handle MONTHLY rrules with BYDAY set as the [-]5th instance of a weekday
  • Test against PHP 8.2

v3.2.1

  • #315 (#316): fix PHP 8.2 deprecation for dynamic properties

v3.2.0

  • #307: allow for trailing ; in RRULE
  • #311: support configuring the user agent
  • Allow PHPUnit 9 to be installed but still provide backwards compatibility with v5

v3.1.1

  • #296: allow setting the HTTP protocol version
  • #297: correct variable name ($last_modified)
  • #299: prevent deprecation notice in PHP 8.1+ (auto_detect_line_endings)
  • #300: refer to correct version in README
  • #301: support the MONTHLY rrule stanza by itself

v3.1.0

  • #291: modify key value from string
  • #294: handle case of RRULE:COUNT=1

v3.0.0

  • Bumped minimum PHP requirement

Maintenance Release

08 Mar 16:10
de0c3a4
Compare
Choose a tag to compare

v3.4.0

  • #328: docblocks
  • #329 (#330): change Event class additional properties to be public
  • #333 (#334): prevent non-breaking spaces from being removed from the DESCRIPTION
  • #335: update broken URL due to GitHub username change
  • Create a new method to return the default time zone and support setting it when null
  • Support applying the max level in PHPStan

Previous Release Changelogs

v3.3.1

  • #327: emojis no longer displaying correctly

v3.3.0

  • #317: when unfolding account for non-breaking spaces
  • #326: handle MONTHLY rrules with BYDAY set as the [-]5th instance of a weekday
  • Test against PHP 8.2

v3.2.1

  • #315 (#316): fix PHP 8.2 deprecation for dynamic properties

v3.2.0

  • #307: allow for trailing ; in RRULE
  • #311: support configuring the user agent
  • Allow PHPUnit 9 to be installed but still provide backwards compatibility with v5

v3.1.1

  • #296: allow setting the HTTP protocol version
  • #297: correct variable name ($last_modified)
  • #299: prevent deprecation notice in PHP 8.1+ (auto_detect_line_endings)
  • #300: refer to correct version in README
  • #301: support the MONTHLY rrule stanza by itself

v3.1.0

  • #291: modify key value from string
  • #294: handle case of RRULE:COUNT=1

v3.0.0

  • Bumped minimum PHP requirement

Patch Release

10 Oct 10:07
v3.3.1
eeb51c4
Compare
Choose a tag to compare

v3.3.1

  • #327: emojis no longer displaying correctly

Previous Release Changelogs

v3.3.0

  • #317: when unfolding account for non-breaking spaces
  • #326: handle MONTHLY rrules with BYDAY set as the [-]5th instance of a weekday
  • Test against PHP 8.2

v3.2.1

  • #315 (#316): fix PHP 8.2 deprecation for dynamic properties

v3.2.0

  • #307: allow for trailing ; in RRULE
  • #311: support configuring the user agent
  • Allow PHPUnit 9 to be installed but still provide backwards compatibility with v5

v3.1.1

  • #296: allow setting the HTTP protocol version
  • #297: correct variable name ($last_modified)
  • #299: prevent deprecation notice in PHP 8.1+ (auto_detect_line_endings)
  • #300: refer to correct version in README
  • #301: support the MONTHLY rrule stanza by itself

v3.1.0

  • #291: modify key value from string
  • #294: handle case of RRULE:COUNT=1

v3.0.0

  • Bumped minimum PHP requirement

Maintenance Release

07 Oct 13:18
v3.3.0
68685be
Compare
Choose a tag to compare

v3.3.0

  • #317: when unfolding account for non-breaking spaces
  • #326: handle MONTHLY rrules with BYDAY set as the [-]5th instance of a weekday
  • Test against PHP 8.2

Previous Release Changelogs

v3.2.1

  • #315 (#316): fix PHP 8.2 deprecation for dynamic properties

v3.2.0

  • #307: allow for trailing ; in RRULE
  • #311: support configuring the user agent
  • Allow PHPUnit 9 to be installed but still provide backwards compatibility with v5

v3.1.1

  • #296: allow setting the HTTP protocol version
  • #297: correct variable name ($last_modified)
  • #299: prevent deprecation notice in PHP 8.1+ (auto_detect_line_endings)
  • #300: refer to correct version in README
  • #301: support the MONTHLY rrule stanza by itself

v3.1.0

  • #291: modify key value from string
  • #294: handle case of RRULE:COUNT=1

v3.0.0

  • Bumped minimum PHP requirement

Patch Release

24 Feb 17:11
v3.2.1
a3a291c
Compare
Choose a tag to compare

v3.2.1

  • #315 (#316): fix PHP 8.2 deprecation for dynamic properties

🎉 Thanks to @Hikariii 🎉


Previous Release Changelogs

v3.2.0

  • #307: allow for trailing ; in RRULE
  • #311: support configuring the user agent
  • Allow PHPUnit 9 to be installed but still provide backwards compatibility with v5

v3.1.1

  • #296: allow setting the HTTP protocol version
  • #297: correct variable name ($last_modified)
  • #299: prevent deprecation notice in PHP 8.1+ (auto_detect_line_endings)
  • #300: refer to correct version in README
  • #301: support the MONTHLY rrule stanza by itself

v3.1.0

  • #291: modify key value from string
  • #294: handle case of RRULE:COUNT=1

v3.0.0

  • Bumped minimum PHP requirement

Maintenance Release

15 Jul 18:25
v3.2.0
cc5cc7c
Compare
Choose a tag to compare

v3.2.0

  • #307: allow for trailing ; in RRULE
  • #311: support configuring the user agent
  • Allow PHPUnit 9 to be installed but still provide backwards compatibility with v5

🎉 Thanks to @tacman 🎉


Previous Release Changelogs

v3.1.1

  • #296: allow setting the HTTP protocol version
  • #297: correct variable name ($last_modified)
  • #299: prevent deprecation notice in PHP 8.1+ (auto_detect_line_endings)
  • #300: refer to correct version in README
  • #301: support the MONTHLY rrule stanza by itself

v3.1.0

  • #291: modify key value from string
  • #294: handle case of RRULE:COUNT=1

v3.0.0

  • Bumped minimum PHP requirement

Maintenance Release

08 Mar 14:49
v3.1.1
8fd2099
Compare
Choose a tag to compare

v3.1.1

  • #296: allow setting the HTTP protocol version
  • #297: correct variable name ($last_modified)
  • #299: prevent deprecation notice in PHP 8.1+ (auto_detect_line_endings)
  • #300: refer to correct version in README
  • #301: support the MONTHLY rrule stanza by itself

🎉 Thanks to @clintallan, @QuerCoder, @josh-philpott-gp, @mklemme1 & @s0600204 🎉


Previous Release Changelogs

v3.1.0

  • #291: modify key value from string
  • #294: handle case of RRULE:COUNT=1

v3.0.0

  • Bumped minimum PHP requirement

Maintenance Release

31 Jan 12:31
v3.1.0
2893a68
Compare
Choose a tag to compare

v3.1.0

  • #291: modify key value from string
  • #294: handle case of RRULE:COUNT=1

🎉 Thanks to @noec764 & @s0600204 🎉


Previous Release Changelogs

v3.0.0

  • Bumped minimum PHP requirement

Version Three Release

17 Jun 15:13
v3.0.0
c74f588
Compare
Choose a tag to compare

v3.0.0

  • Bumped minimum PHP requirement

Maintenance Release

02 Nov 10:37
69c8047
Compare
Choose a tag to compare

v2.2.2

  • #271: enhance YEARLY RRULE support
  • #272: provide support for BYMONTHDAY

🎉 Thanks to @s0600204 🎉


Previous Release Changelogs

v2.2.1

  • #269: remove dependency on Carbon
    ℹ️ composer update required

v2.1.20

  • #267: accept any line endings in initString()
  • Added the option to fund this project ❤️

v2.1.19

  • #259: skip empty lines
  • #263: fix bug with COUNT in conjunction with EXDATE

v2.1.18

  • #260 (#261): fix init() lines bug with a false returns

v2.1.17

  • #251 (#256): use ISO Year within WEEKLY recurrence handling
  • #253 (#254): support the Accept-Language request HTTP header

v2.1.16

  • #240 (#246, #247): support the DTSTART of an event also being an EXDATE

v2.1.15

  • #238 (#239): improve the approach to mapping one weekstart to another in WEEKLY

v2.1.14

  • #233, #234 (#232, #236): major refactoring of the processRecurrences() method (thanks to @s0600204)
  • #229: adds a new set of tests based on the RFC 5545 recurrence examples
  • #223: maintain PHP 5.3.9 support

v2.1.13

  • #197, #208 (#228): provide more accurate time zone support
  • #227: clean-up parsing of time zone strings

v2.1.12

v2.1.11

  • #205: support defining a custom HTTP User Agent

v2.1.10

  • #180 (#209, #210): correct the recurrence calculation applied against whole day events with a user defined time zone
    • Includes the welcomed addition of unit testing by @hubermat
  • #207 (#213): drop non-recurring events if out-of-range
  • #196 (#211): unit test added against non-issue
  • Support nesbot/carbon ^2.0 for those using PHP 7+

v2.1.9

  • #202: fix mb_strlen($str, $encoding = 'auto') warning in PHP 7.3

v2.1.8

  • #195: support HTTP basic authentication
  • Improve multibyte safe replacement method

v2.1.7

  • #184 (#190), #182, #149: support reducing the number of events to be parsed
  • Add corrected time zones

v2.1.6

  • #186 (#187): map Windows time zone IDs to their IANA equivalent
  • Fallback to using the start date/time as the end date/time when no end date/time is explicitly defined
  • Trigger an error if a user provided default span is not an integer
  • Fix for initialising using an array of iCal lines

ℹ️ A composer update is required to update Carbon

v2.1.5

  • #179: correct placement of variable
  • Version control the composer lock file
  • Ensure PHP 5.3.* compatibility when installing Composer dependencies

ℹ️ A composer update is required to update Carbon

v2.1.4

  • Support Unicode CLDR time zones
  • Apply changes to altered recurrence instances after processing recurrence rules to account for the first event in a rule having an alteration
  • Decrement the event count by the number of events that are removed when altered recurrence instances are handled
  • Prevent altering the indexing of the events array to ensure other processing is not affected

ℹ️ A composer update is required to update Carbon

v2.1.3

  • #171: https links
  • #173: fix undefined index
  • #174: fix method name
  • #177: use UTC timestamps when comparing dates

v2.1.2

  • #164: define mbstring as a required extension
  • Add configurable option to disable character replacement
  • Avoid fatal error with invalid iCal date

v2.1.1

  • #162: fix fatal error and remove unnecessary require statement

v2.1.0

  • #154
    • Process an altered recurrence event even when it is the initial parent event that has been altered
    • Correct if condition and use of array_search()
  • #155: provide better support for VALARM
  • #159: fix parse failure on dates before 1970 with an inline time zone
  • #161
    • Introduce Carbon to allow robust time zone comparison
    • Force the default time zone on UTC exdates
  • Cache valid time zones to improve parser performance
  • Remove unnecessary class inheritance

ℹ️ A composer update is required to pull in Carbon

v2.0.7

  • #116 (#144): continue parsing and default to the default time zone if an invalid TZID is found
  • #147: correct the parsing of exdates that contain attributes such as VALUE=DATE
  • #145: account for exdates that are not reached but affect the recurrence count
  • #148: correctly apply time zone data
  • Fix an "invalid code point value" PHP warning in PHP 7.2
  • Update contributing guidelines

v2.0.6

  • #124: create function to prepare the data prior to adding to the Event object
  • #125: prevent time zone from being reapplied to DTSTART_TZ and DTEND_TZ for recurrence events
  • #126: allow $cal object to be accessed so attributes such as METHOD can be queried
  • #127: prevent re-applying a time zone on a timestamp already defined with one and instead rely on DTSTART_TZ and DTEND_TZ
  • #129: when converting an event date to a UNIX timestamp only apply the event time zone if explicitly requested
  • #133: allow default time zone to be set during instantiation
  • #134: correctly parse FREEBUSY calendar info
  • #136: consider BYSETPOS when parsing a monthly recurrence rule
  • #137: change from gmdate() to date() to prevent issues during daylight savings
  • #138: throw a catchable error exception when a file or URL that does not exist is passed to the parser
  • Allow a custom date format to be supplied to iCalDateWithTimeZone()
  • Allow time zone to be set even if no filename is passed to the constructor
  • Alter recurrence matching logic to support events with time zone data
  • Apply a snake_case conversion to all Event keys
  • Correctly force a time zone (if present) when calling iCalDateWithTimeZone()
  • Count FREEBUSY occurrences rather than the VFREEBUSY parent component
  • Enhance Event object to provide access to the ICal object and its methods
  • Ensure public initialisation methods return an ICal object
  • Provide separate methods to allow the initialisation of the parser using a file or URL
  • Provide support for dates beyond 29 Jan 2038 by converting to a DateTime object
  • Support Mac/Linux line endings
  • Support multiple files on instantiation
  • Trigger an appropriate error if the parser is initialised more than once with iCal content

v2.0.5

  • #113: expand WKST logic to support days other than Sunday
  • #114: correctly implement iCal unfolding prior to parsing
  • #115: support ability to parse multiple EXDATE lines
  • #116
    • Correct the logic when applying the event timezone
    • Correctly validate timezone
  • #118: use multibyte safe string replacement function when cleaning data
  • #121: support iCal files with Mac OS X line endings (\r)
  • #123: allow the parser to silently ignore events with an invalid start date

v2.0.4

  • #109
    • Do not re-apply the timezone if TZID is specified within DTSTART / DTEND
    • Fallback to applying the calendar timezone when using iCalDateWithTimeZone() unless Zulu time has been specified
  • #110
    • Attempt to clean data before running it through the parser
    • Improve the method of splitting keys from values in an iCal string
  • #111
    • Implement unfolding prior to parsing as per the iCal spec
    • Remove unprintable Unicode characters as well as ASCII
  • #112: support ability to skip processRecurrences()
  • Allow missing timezone abbreviations such as MET
  • Allow the timezone to be forced when populating dtstart_tz / dtend_tz
  • Ensure only permitted configurable variables can be overridden in the constructor
  • In...
Read more