eluceo/ical
The eluceo/iCal package offers an abstraction layer for creating iCalendars. You can easily create iCal files by using PHP objects instead of typing your *.ics file by hand. The output will follow RFC 5545 as best as possible.
2.17.0
19M downloads/mo
#1125 most downloaded on Packagist
markuspoerschke/iCal
What this package is like to depend on
Last release 1 months ago
12 Jul 2026
Ships fairly regularly
a new release about every 5 months
Most releases are documented
notes for 38 of 54 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
54 releases · first in 2014
3 releases in the last 12 months
see the full history below
Release timeline
54 releases · Mar 2014 to Jul 2026Releases
latest 54-
2.17.012 Jul 2026 -
2.16.007 Jan 2026 -
2.15.015 Aug 2025 -
2.14.011 Jul 2024Release notes
Open source →Fixed
- Fix \n being escaped to \n, leading to no newlines in actual text #617
Release notes
Open source →Fixed
- Fix \n being escaped to \n, leading to no newlines in actual text #617
-
2.13.019 Dec 2023 -
2.12.126 Jun 2023 -
2.12.010 Apr 2023Release notes
Open source →- Update
.gitattributesfile to exclude unnecessary files when fetching package through Composer. #510
Release notes
Open source →Changed
- Update
.gitattributesfile to exclude unnecessary files when fetching package through Composer. #510
- Update
-
2.11.017 Jan 2023Release notes
Open source →Changed
- Declare
CalendarFactory::getPropertiesprotected i/o private to open it for extension #386
- Declare
-
2.10.017 Jan 2023 -
2.9.023 Dec 2022Release notes
Open source →Changed
- Add missing return types and missing template annotations #472
- Added
@implements IteratorAggregate<Event>to\Eluceo\iCal\Domain\Collection\Events - Added
@implements IteratorAggregate<ContentLine>to\Eluceo\iCal\Presentation\Component - Added
@return Traversable<ContentLine>to\Eluceo\iCal\Presentation\Component::getIterator
- Added
- Fix EmailAddress value object: do not url encode email addresses #479
- Add missing return types and missing template annotations #472
-
2.8.022 Dec 2022Release notes
Open source → -
2.7.021 Jun 2022 -
2.6.017 Jun 2022Release notes
Open source → -
2.5.126 Apr 2022Release notes
Open source →Fixed
- Deprecation message occuring on an OOTB Symfony 5.4 on PHP 7.4 #382
-
2.5.013 Feb 2022 -
2.4.013 Dec 2021Release notes
Open source →Added
Fixed
- PHPStan complains about wrongly typed hinted constructor argument of
Calendarclass. #281
- PHPStan complains about wrongly typed hinted constructor argument of
-
2.3.024 Aug 2021 -
2.2.003 May 2021 -
2.1.022 Apr 2021Release notes
Open source →Fixed
- TZOFFSETTO and TZOFFSETFROM should never be -0000 #246
- Calling TimeZone::createFromPhpDateTimeZone with default values fails with assertion #250
Deprecated
- Method
Eluceo\iCal\Domain\Entity\TimeZone::createFromPhpDateTimeZonewill not have default values for$beginDateTimeand$endDateTimein the next major version. #250
-
2.0.029 Mar 2021Release notes
Open source →This version is complete rewrite. Please check the upgrade guide on how to upgrade from version
0.*to2.0.0.Added
- Support for PHP 8.0.
Changed
- Separate domain and presentation logic
Removed
- Support for PHP
<=7.3
-
0.20.007 Jan 2026 -
0.19.019 Nov 2024 -
0.18.019 Dec 2023Nothing published for this version
-
0.17.018 Jun 2022Nothing published for this version
-
0.16.104 Oct 2020Nothing published for this version
-
0.16.029 Dec 2019 -
0.15.106 Aug 2019Release notes
Open source →Fixed
- TimeZone will be correctly applied if instance of
\DateTimeImmutableis used #131
- TimeZone will be correctly applied if instance of
-
0.15.013 Jan 2019Release notes
Open source → -
0.14.013 Mar 2018 -
0.13.026 Oct 2017 -
0.12.107 Jun 2017 -
0.12.010 May 2017Release notes
Open source →Fixed
- Do not escape value of the GEO property #79
Added
- Add support for
\DateTimerInterface. This allows to use\DateTimeImmutable. #86 - Add support for arbitrary time zone strings. #87,#89
- Add new Geo property class #79
Changed
- Drop support for old PHP versions: 5.3, 5.4, 5.6
- Remove default value for
X-PUBLISHED-TTL. This value controls the update interval if the ics file is synced. The former default value was set to one week. If you want the behavior from version< 0.12you have to set the value:$vCalendar->setPublishedTTL('P1W'). #81
Removed
-
0.11.630 Apr 2018Nothing published for this version
-
0.11.513 Mar 2018 -
0.11.426 Oct 2017Release notes
Open source →Changed
- Improve performance for long lines. By using mbstring the folding of lines is much faster and consumes less CPU and memory. #104
-
0.11.325 Apr 2017 -
0.11.220 Apr 2017 -
0.11.104 Apr 2017Release notes
Open source →Fixed
- All days events (no time) ends on the next day. #83
- Timezone will not applied on all days events #83
Added
- Add
Event::getDtStartmethod #83
-
0.11.016 Sep 2016Release notes
Open source →Added
- Allow multiple recurrence rules in an event #77
- RecurrenceRule now also allows hourly, minutely and secondly frequencies #78
Deprecated
- Adding a single recurrence rule to an event using
Event::setRecurrenceRule()is deprecated and will be removed in 1.0. UseEvent::addRecurrenceRule()instead. #77
-
0.10.109 Jun 2016 -
0.10.026 Apr 2016Release notes
Open source →Changed
- Use 'escapeValue' to escape the new line character. #60
- Order components by type when building ical file. #65
Added
-
0.9.013 Nov 2015Release notes
Open source →Added
- CHANGELOG.md based on ’Keep a CHANGELOG’
- Support event properties EXDATE and RECURRENCE-ID #50
Changed
-
0.8.012 Jul 2015Nothing published for this version
-
0.7.021 Feb 2015Nothing published for this version
-
0.6.108 Dec 2014Nothing published for this version
-
0.6.007 Dec 2014Nothing published for this version
-
0.5.005 Dec 2014Nothing published for this version
-
0.4.028 Nov 2014Nothing published for this version
-
0.3.011 Sep 2014Nothing published for this version
-
0.2.003 Sep 2014Nothing published for this version
-
0.1.311 Aug 2014Nothing published for this version
-
0.1.206 Jul 2014Nothing published for this version
-
0.1.115 May 2014Nothing published for this version
-
0.1.002 Mar 2014Nothing published for this version