Releases: u01jmg3/ics-parser
Releases · u01jmg3/ics-parser
Maintenance Release
v3.4.1
- #338: let
filterDaysBefore
andfilterDaysAfter
options acceptDateTime
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 bepublic
- #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
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
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
v3.0.0
- Bumped minimum PHP requirement
Maintenance Release
v3.4.0
- #328: docblocks
- #329 (#330): change
Event
class additional properties to bepublic
- #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
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
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
v3.0.0
- Bumped minimum PHP requirement
Patch Release
v3.3.1
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
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
v3.0.0
- Bumped minimum PHP requirement
Maintenance Release
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
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
v3.0.0
- Bumped minimum PHP requirement
Patch Release
v3.2.1
🎉 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
v3.0.0
- Bumped minimum PHP requirement
Maintenance Release
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
v3.0.0
- Bumped minimum PHP requirement
Maintenance Release
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 🎉
Maintenance Release
Version Three Release
v3.0.0
- Bumped minimum PHP requirement
Maintenance Release
v2.2.2
🎉 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
v2.1.18
v2.1.17
- #251 (#256): use ISO Year within WEEKLY recurrence handling
- #253 (#254): support the
Accept-Language
request HTTP header
v2.1.16
v2.1.15
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
- #212: support parsing every month's first weekday and every month's last day
- #224: only compare the first word of a weekday
- #216 (#217): fix filter days before and after issue
- #218 (#219): limit until
rrule
if it goes beyond the default span - #222: cleanup the code handling timezones when converting an iCal date to a unix date
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 ofarray_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
andDTEND_TZ
for recurrence events - #126: allow
$cal
object to be accessed so attributes such asMETHOD
can be queried - #127: prevent re-applying a time zone on a timestamp already defined with one and instead rely on
DTSTART_TZ
andDTEND_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()
todate()
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 theVFREEBUSY
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 withinDTSTART
/DTEND
- Fallback to applying the calendar timezone when using
iCalDateWithTimeZone()
unless Zulu time has been specified
- Do not re-apply the timezone if
- #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...