Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
340 commits
Select commit Hold shift + click to select a range
e8b5ea4
Make use of until parameter in nextMonthly function
jaircuevajunior Feb 10, 2021
6c263ce
CS FIX
jaircuevajunior Feb 10, 2021
1f2e2e5
CS FIX
jaircuevajunior Feb 10, 2021
6d3f4ee
Fix breaking tests
jaircuevajunior Feb 10, 2021
1bed299
create testMonthlyByDayUntil
jaircuevajunior Feb 11, 2021
1bbae65
create testMonthlyByDayUntilWithImpossibleNextOccurrence
jaircuevajunior Feb 11, 2021
38bc2d2
Merge pull request #532 from jaircuevajunior/fix-montly-not-respectin…
phil-davis Feb 12, 2021
9708bd9
Fix setting properties with group assignment
mstilkerich Nov 14, 2020
930b748
Unit test for adding properties with group for a VCard
mstilkerich Nov 17, 2020
31c9187
Adapt style
mstilkerich Nov 17, 2020
7de7811
Merge pull request #523 from mstilkerich/fix_set_properties_with_groups
phil-davis Feb 12, 2021
6439b62
Release 4.3.5
phil-davis Feb 12, 2021
d8a0a9a
Merge pull request #533 from phil-davis/prepare-release-4.3.5
phil-davis Feb 12, 2021
502bc80
tests: migrate from Travis to gh-actions
kiranparajuli589 Oct 8, 2021
6a32c6c
Removed travis config
kiranparajuli589 Oct 8, 2021
1bf6d36
Merge pull request #545 from kiranparajuli589/feat/gh-actions
phil-davis Oct 8, 2021
a7798a3
Minor edit to README
phil-davis Oct 8, 2021
94e63e7
Run phpunit with coverage in CI
phil-davis Oct 8, 2021
eb3d10e
Merge pull request #546 from phil-davis/test-ci-20211008
phil-davis Oct 8, 2021
bb3bfeb
Fix deprecated usages and return types on PHP 8.1
cedric-anne Oct 6, 2021
f40f3bf
Merge pull request #544 from cedric-anne/fix/php8.1
phil-davis Oct 29, 2021
a9dc7a9
sync ci.yml to match other repos
phil-davis Nov 3, 2021
0bd8c87
Merge pull request #549 from phil-davis/sync-ci-yml
phil-davis Nov 3, 2021
8de260f
Changes that should have happened for 4.3.6
phil-davis Nov 4, 2021
89b3c18
Merge pull request #550 from phil-davis/version-4.3.6
phil-davis Nov 4, 2021
a3b1d59
changelog and VERSION bump for 4.3.7
phil-davis Nov 4, 2021
c3fa8c8
Merge pull request #551 from phil-davis/prepare-4.3.7
phil-davis Nov 4, 2021
bfe37ff
EventIterator returns wrong endTime (#534)
floerke Aug 4, 2021
6ef9328
Merge pull request #538 from floerke/issue-534
phil-davis Nov 14, 2021
5f81c0f
Reordering of the attendees should not be a signitifcant change (sabr…
floerke Sep 10, 2021
5c7ab23
Merge pull request #541 from floerke/issue-540
phil-davis Nov 14, 2021
8ee715a
Reordering of vevent should not be a significant change (#542)
floerke Sep 10, 2021
e5361c1
Merge pull request #543 from floerke/issue-542
phil-davis Nov 14, 2021
7cb4ddd
Prepare release 4.3.8
phil-davis Nov 14, 2021
a7460c5
Merge pull request #552 from phil-davis/prepare-4.3.8
phil-davis Nov 14, 2021
87c8def
Allow easier extension of the timezone guessing
heiglandreas Oct 29, 2021
ff902c6
testEmptyTimeZone
phil-davis Nov 15, 2021
9157772
Merge pull request #548 from heiglandreas/allowMoreTimezoneGuesser
phil-davis Nov 15, 2021
962b5ee
Changelog for 4.4.0
phil-davis Nov 15, 2021
0a2e27c
Merge pull request #554 from phil-davis/prepare-4.4.0
phil-davis Nov 16, 2021
68fe7d3
Fix Iterator method signatures
come-nc Dec 7, 2021
07a329e
Avoid passing null as separator for implode
come-nc Dec 7, 2021
015d5a9
Merge pull request #557 from come-nc/fix/php-8.1-fixes
phil-davis Dec 7, 2021
9c94b07
Prepare release 4.4.1
phil-davis Dec 7, 2021
06feff3
Merge pull request #558 from phil-davis/prepare-4.4.1
phil-davis Dec 7, 2021
1c66700
Fix infinite loop caused by yearly with bySetPos
Feb 14, 2022
c2a5ecd
lowercase mailto:-addresses in getNormalizedValue()
pk1234 Feb 20, 2022
8580257
Add NICKNAME fallback for VCards without FNs
Evengard Apr 2, 2022
2a62422
Fix up typo
Evengard Apr 2, 2022
f732c65
Adding test for NICKNAME fallback
Evengard Apr 2, 2022
e594139
Use === instead of ==
pk1234 May 6, 2022
7c50120
Component/select: Before uppercasing $child->group, make sure it isn'…
algernon May 12, 2022
a595790
Merge pull request #573 from algernon/component-select-no-group-fix
DeepDiver1975 May 12, 2022
3f4b735
Fix encoding detection on PHP 8.1
come-nc Jun 14, 2022
5e89cf9
Merge pull request #565 from pk1234/Normalize-address-(dav-#1250)
phil-davis Jun 24, 2022
ac49d03
Merge pull request #568 from Evengard/patch-1
phil-davis Jun 24, 2022
db542a5
Merge pull request #575 from come-nc/patch-1
phil-davis Jun 24, 2022
38b3a26
Release 4.4.2
phil-davis Jun 24, 2022
96517a3
Fix test data for NICKNAME fallback test case
phil-davis Jun 24, 2022
025833e
Fix code-style
phil-davis Jun 24, 2022
b8a44ea
Merge pull request #576 from phil-davis/prepare-4.4.2
phil-davis Jun 24, 2022
85340b7
Ignore multiple same parameter-values
heiglandreas Jul 12, 2022
404e548
Fix a comment
heiglandreas Jul 14, 2022
0fdd1d1
Merge pull request #577 from heiglandreas/fixMultipleProperties
phil-davis Jul 15, 2022
f80b396
Prepare release 4.4.3
phil-davis Jul 15, 2022
2a043b9
Merge pull request #578 from phil-davis/prepare-4.4.3
phil-davis Jul 15, 2022
cfb5ce6
Update .gitattributes
cedric-anne Jul 27, 2022
833743d
Merge pull request #579 from cedric-anne/patch-1
phil-davis Jul 27, 2022
e2d2770
PHP 8.1 deprecated support for null values in its APIs
mstilkerich Jan 14, 2022
5bdd392
Adapt style to preference of project owner
mstilkerich Jan 14, 2022
a11276d
Enable reporting of all PHP error levels in tests
mstilkerich Jan 14, 2022
e70f3ed
Fix passing null values to PHP APIs where encountered by tests
mstilkerich Jan 14, 2022
64a0d6f
Run cs fixer
mstilkerich Jan 14, 2022
e4669ae
Remove file commit by accident
mstilkerich Jan 14, 2022
13f3df9
Cli::serializeComponent does not return anything
mstilkerich Jan 16, 2022
fe6189e
Fix filter for properties without group
mstilkerich Aug 17, 2022
1aee566
And also handle a group named 0 correctly
mstilkerich Aug 17, 2022
63efe38
Style appears to prefer yoda conditions
mstilkerich Aug 17, 2022
0f625de
Merge pull request #561 from mstilkerich/fix_php81_abquery_groupfilter
phil-davis Aug 17, 2022
69e49df
Fully ignore invalid lines
heiglandreas Apr 29, 2022
7dbeb90
Merge pull request #571 from heiglandreas/ignoreInvalidIcalendarLines…
phil-davis Aug 17, 2022
a07ccff
Merge pull request #564 from ProtonMail/fix/yearly-bysetpos
phil-davis Aug 17, 2022
1c68bda
Test for issue-566
KristofferFM Mar 15, 2022
bda30eb
Solution for issue-566
KristofferFM Mar 15, 2022
5035657
Running php-cs-fixer on my to latest commits
KristofferFM Mar 18, 2022
baed3e6
Replace 253402300799 with dateUpperLimit
phil-davis Aug 17, 2022
8fedd6f
Add Issue566Test into the regular set of RRuleIteratorTest
phil-davis Aug 17, 2022
68cbd1c
Merge pull request #567 from KristofferFM/issue-566
phil-davis Aug 17, 2022
c828d73
Add support for MEMBER in a VCard
sash04ek Jul 22, 2019
3d5eda5
Merge pull request #466 from sash04ek/patch-1
phil-davis Aug 17, 2022
cd76988
Handle Vobjects without closing tag
sash04ek Dec 16, 2021
ccaec1c
Adjust test for VCALENDAR with missing END
phil-davis Aug 17, 2022
86d8c52
Merge pull request #559 from sash04ek/patch-2
phil-davis Aug 17, 2022
216e595
Fix bug in by year day
KAYLukas Nov 28, 2018
21631cb
Adjust name of test case
phil-davis Aug 17, 2022
408b591
Add test cases for large negative BYYEARDAY values that cross 29 Feb
phil-davis Aug 17, 2022
48d4716
Merge pull request #582 from phil-davis/by-year-day-436
phil-davis Aug 17, 2022
56f41cc
Prepare 4.5.0
phil-davis Aug 17, 2022
d1fdc0c
Merge pull request #583 from phil-davis/prepare-4.5.0
phil-davis Aug 17, 2022
3a65c5f
Remove utf8_encode
phil-davis Oct 9, 2022
98dfc67
Add PHP 8.2 to CI
phil-davis Oct 9, 2022
167a599
Prepare 4.5.1
phil-davis Oct 9, 2022
1f83674
Merge pull request #599 from phil-davis/remove-utf8_encode-for-4.5
phil-davis Oct 9, 2022
5f58f29
Support sabre/xml v4
gharlan Jan 19, 2023
5c59868
Skip GMT+n timezone test cases on PHP 8.1.14 and 8.2.1
phil-davis Jan 20, 2023
10cce63
Add void return type of xmlSerialize
phil-davis Jan 22, 2023
5d45370
Add array return type of xmlDeserialize
phil-davis Jan 22, 2023
dad153c
Prepare 4.5.2
phil-davis Jan 20, 2023
bad63c0
Prepare 4.5.3
phil-davis Jan 22, 2023
fe6d918
Merge pull request #607 from phil-davis/support-sabre-xml-v4-4.5-series
phil-davis Jan 22, 2023
adfc004
docs: fix type definition for oldCalendar
kesselb Aug 8, 2023
75675b5
Merge pull request #623 from kesselb/doc-parse-event
phil-davis Nov 9, 2023
1afdbb5
Add unit test for parsing a zero duration
phil-davis Nov 9, 2023
1337f89
fixed issue: Undefined index: plusminus #467
sash04ek Jun 20, 2023
93de41e
Create Issue467Test.php
sash04ek Jul 19, 2023
98a9f79
Merge pull request #630 from phil-davis/backport-4.5-zero-duration
phil-davis Nov 9, 2023
18244cc
Prepare 4.5.4
phil-davis Nov 9, 2023
a6d53a3
Merge pull request #631 from phil-davis/prepare-4.5.4
phil-davis Nov 9, 2023
1945e10
Bump actions/checkout from 2 to 4
phil-davis Nov 9, 2023
a9e771f
Bump actions/cache from 2 to 4
dependabot[bot] Feb 1, 2024
76ccc67
Bump codecov/codecov-action from 2 to 4
dependabot[bot] Feb 2, 2024
afec738
add `lineIndex` and `lineString` properties to Node
JohnRDOrazio Apr 23, 2024
85811a6
creat Unit Test
JohnRDOrazio Apr 25, 2024
05bea9d
remove unnecessary error descriptions
JohnRDOrazio May 8, 2024
fa2a575
ITip\Broker: handle timezones in replies to exception events
gharlan May 8, 2024
391d304
remove comment
gharlan May 8, 2024
869460a
Add comments about use of getTimestamp
phil-davis May 9, 2024
879ab68
chore: stop exporting php-cs-fixer config
phil-davis May 10, 2024
3f04772
yearly rrule compliance by the iterator when start date does not foll…
kroky May 14, 2024
612a4ff
test: add more test scenarios for testYearlyStartDateNotOnRRuleList
phil-davis May 17, 2024
a5b933a
throw ParseException when null input is provided
phil-davis May 27, 2024
b747081
Back out type declarations that are not supported for PHP 7.2
phil-davis May 30, 2024
412870a
Adjust VCalendarTest to work with old phpunit
phil-davis May 30, 2024
0efa81b
Ignore phpstan error about assertObjectHasProperty
phil-davis May 30, 2024
a997470
Add PHP 8.3 to CI
phil-davis May 30, 2024
2783cc8
Merge pull request #659 from phil-davis/backport-20240530
phil-davis May 31, 2024
ee94da3
Reproduce bug where dst leap is passed on to subsequent occurences
cyrilvanschreven-proton Apr 22, 2024
104c1e1
Handle summer time start for daily recurrences
phil-davis May 9, 2024
939daab
Handle summer time start for weekly recurrences
phil-davis May 9, 2024
f7423aa
Handle summer time start for monthly recurrences
phil-davis May 9, 2024
fb5766c
Handle summer time start for yearly recurrences
phil-davis May 9, 2024
e1e6e55
Refactor summer time start logic into advanceTheDate function
phil-davis May 9, 2024
a8b8e88
Handle summer time start for hourly recurrences
phil-davis May 9, 2024
5481175
Refactor advanceTheDate
phil-davis May 9, 2024
92de108
fix: refactor advanceTheDate
phil-davis May 17, 2024
71f1411
Handle case when BYMONTHDAY falls on summer time start
phil-davis May 17, 2024
057bbce
Handle case when day at or near end of month falls on summer time start
phil-davis May 17, 2024
a7150a9
refactor hourly time jump logic into adjustForTimeJumpsOfHourlyEvent …
phil-davis May 27, 2024
3ebd1fd
refactor original start time calculation into startTime method
phil-davis May 27, 2024
01ec1ba
refactor adjustForTimeJumpsOfHourlyEvent to be protected
phil-davis May 27, 2024
9c4e5a8
Handle summer time start for weekly BYDAY recurrences
phil-davis May 30, 2024
7d3b632
Add test case for Weekly BYDAY with BYHOUR on summer-time
phil-davis May 30, 2024
f4c64dd
Add test cases and fix YEARLY with BYMONTH on summer-time transition
phil-davis May 30, 2024
5c17d30
Add test cases and fix YEARLY with BYMONTH BYDAY on summer-time trans…
phil-davis May 30, 2024
b7f45de
Remove PHP features not supported for 7.1
phil-davis Jun 6, 2024
2aeb4fc
Merge pull request #660 from phil-davis/dst-leap-648-4.5
phil-davis Jul 2, 2024
ccbf597
prepare release 4.5.5
phil-davis Jul 2, 2024
7148cf5
Merge pull request #661 from phil-davis/prepare-4.5.5
phil-davis Jul 2, 2024
0795cd7
Fix `Implicitly marking parameter $param as nullable is deprecated`
cedric-anne Sep 4, 2024
d13cf26
refactor: Replace dirname(__FILE__) with __DIR__
ChristophWurst Sep 17, 2024
78727aa
Merge pull request #693 from phil-davis/refactor/dirname-to-dir-4.5
phil-davis Oct 14, 2024
fda12d4
Merge pull request #673 from cedric-anne/feature/php-8.4
phil-davis Oct 14, 2024
c613f29
chore: add PHP 8.4 to CI
phil-davis Jul 26, 2024
41dc45e
chore: allow phpstan v1
phil-davis Jul 26, 2024
5c52248
fix: check if event status was changed to cancelled and generate appr…
SebastianKrupinski Aug 28, 2024
d2ea90a
use old way to access VERSION in test
phil-davis Oct 14, 2024
7201ecf
remove extra comma in test code that breaks PHP 7.1 and 7.2
phil-davis Oct 14, 2024
e8d649e
Merge pull request #695 from phil-davis/fix-status-cancelled-4.5
phil-davis Oct 14, 2024
7044047
Merge pull request #662 from phil-davis/add-php-8.4-to-ci-for-4.5
phil-davis Oct 14, 2024
c8a0466
Throw InvalidDataException when RRule is invalid
mathroc Oct 11, 2024
03db44e
fixup: fix test
mathroc Oct 11, 2024
8b3e5d2
use InvalidDataException
phil-davis Oct 14, 2024
72ec4ce
Merge pull request #696 from phil-davis/rrule-invalid-4.5
phil-davis Oct 14, 2024
82e8f3e
Prepare 4.5.6
phil-davis Oct 14, 2024
900266b
Merge pull request #697 from phil-davis/prepare-4.5.6
phil-davis Oct 14, 2024
7113bfb
Allow unknown value data types for VALUE
heiglandreas Sep 10, 2024
2f24ce1
Add tests for skipping unknown parameters
heiglandreas Oct 14, 2024
4761ca2
Rework handling of values that are not recognized
heiglandreas Oct 14, 2024
3c6bd88
Merge pull request #699 from phil-davis/allow-unknown-value-data-type…
phil-davis Oct 22, 2024
e78eb93
chore(deps): allow phpstan major version 2
phil-davis Dec 2, 2024
b096495
Merge pull request #706 from phil-davis/phpstan-2.0-4.5
phil-davis Dec 2, 2024
b15d12e
add phpdoc return types for arrayaccess methods
smhg Dec 5, 2024
7fced34
add extra spacing in docblocks
smhg Dec 9, 2024
ea9dbce
Merge pull request #707 from smhg/4.5
phil-davis Dec 9, 2024
ef0c87b
chore(deps): bump codecov/codecov-action from 4 to 5
phil-davis Apr 17, 2025
4535d43
chore: adjust phpstan ignoreErrors
phil-davis Apr 17, 2025
743f096
Merge pull request #712 from phil-davis/codecov-action-5-4.5
phil-davis Apr 17, 2025
d306d23
Add timezone Europe/Berlin
chr-is May 20, 2023
51a81ae
Merge pull request #713 from phil-davis/backport-618
phil-davis Apr 17, 2025
ea210f0
chore: prepare 4.5.7
phil-davis Apr 17, 2025
ff22611
Merge pull request #714 from phil-davis/prepare-4.5.7
phil-davis Apr 17, 2025
c1f94fa
chore (ci): add CI for PHP 8.5 on 4.5 branch
phil-davis Dec 1, 2025
254e6cd
tests: fix test to pass on PHP 8.5
phil-davis Dec 1, 2025
d869496
chore (ci): bump actions/checkout from 4 to 5
phil-davis Dec 1, 2025
1e9b816
Merge pull request #736 from phil-davis/php-85-4.5
phil-davis Dec 1, 2025
56ee28a
Improve check for empty property names
kristoffermollerhoj Sep 4, 2025
2808636
Merge pull request #738 from phil-davis/backport-726-to-4.5
phil-davis Dec 2, 2025
cb00630
chore(deps): bump actions/checkout from 5 to 6
dependabot[bot] Dec 2, 2025
777f97c
Merge pull request #739 from phil-davis/actions-checkout-6-4.5
phil-davis Dec 2, 2025
406d04a
Issue-722: Fixing problem with broker adding exdate property with flo…
kristoffermollerhoj Aug 27, 2025
a1d85c0
tests: adjust version in BrokerUpdateEventTest
phil-davis Dec 2, 2025
0ddd4bc
tests: remove trailing commas to support PHP 7.1 7.2
phil-davis Dec 2, 2025
d1f8aba
Merge pull request #740 from phil-davis/backport-723-4.5
phil-davis Dec 2, 2025
6617864
Fixed problem with variable scope
kristoffermollerhoj Aug 25, 2025
c195421
Merge pull request #742 from phil-davis/backport-721-4.5
phil-davis Dec 2, 2025
35f5b55
fix: use RDATE in time range check and use all instances
SebastianKrupinski Nov 20, 2025
bdaa712
Merge pull request #746 from phil-davis/backport-735-4.5
phil-davis Jan 12, 2026
365a526
chore(deps): bump actions/cache from 4 to 5 (#744)
dependabot[bot] Jan 2, 2026
c08fd9b
Merge pull request #747 from phil-davis/backport-744-4.5
phil-davis Jan 12, 2026
4647f61
fix: send participation reply on fresh event
SebastianKrupinski Dec 30, 2025
5bdd38e
tests: remove whitespace from VCALENDAR end
phil-davis Jan 12, 2026
c990e14
tests: remove comma for PHP 7.1 7.2 compatibility
phil-davis Jan 12, 2026
2bc58e2
Merge pull request #748 from phil-davis/backport-743-4.5
phil-davis Jan 12, 2026
83a5d11
Fixed cornercase for recurrent event for organizer and no attendee
kristoffermollerhoj Sep 10, 2025
3b8618a
Merge pull request #749 from phil-davis/backport-728-4.5
phil-davis Jan 12, 2026
cdb9d4e
Improve error check in Mimedir parser
kristoffermollerhoj Sep 8, 2025
73ccac2
Merge pull request #750 from phil-davis/backport-727-4.5
phil-davis Jan 12, 2026
d8566fd
Prepare 4.5.8
phil-davis Jan 12, 2026
d554eb2
Merge pull request #751 from phil-davis/prepare-4.5.8
phil-davis Jan 12, 2026
1752891
chore(deps): bump codecov/codecov-action from 5 to 6
dependabot[bot] Apr 2, 2026
a3397fe
Merge pull request #758 from phil-davis/codecov-action-4.5
phil-davis May 31, 2026
03d6a59
fix(itip): handle null old calendar/event
ChristophWurst Mar 19, 2026
81bdf63
fix: syntax in BrokerAttendeeReplyTest for PHP 7.2
phil-davis May 31, 2026
685e887
Merge pull request #759 from phil-davis/itip-broker-4.5
phil-davis May 31, 2026
6fd4929
chore: prepare release 4.5.9
phil-davis May 31, 2026
04fc933
Merge pull request #760 from phil-davis/preprare-4.5.9
phil-davis May 31, 2026
25cb41d
feat(VCard): add getByTypes method (#717)
JimKnoxx Jun 24, 2025
1678e0b
Merge pull request #761 from phil-davis/getByTypes-4.6
phil-davis May 31, 2026
fab78f1
fix(timezonedata): Replace deprecated IANA timezone names
ralflang Apr 13, 2026
ce47f57
fix: document that FindFromTimezoneMap:find does not throw
phil-davis May 31, 2026
fffd5ac
Merge pull request #762 from phil-davis/deprecated-timezone-names-4.6
phil-davis May 31, 2026
9aad7e8
chore: prepare release 4.6.0
phil-davis May 31, 2026
9432544
Merge pull request #763 from phil-davis/prepare-4.6.0
phil-davis May 31, 2026
69a7cc3
feat: preserve UTC 'Z' indicator in Period JSON serialization
guimard Oct 14, 2025
603f016
358 Bugfix Broker::processMessageReply
Dec 21, 2016
96055df
Broker properly handles iTip containing only an updated occurrence. F…
Jan 24, 2017
6de21aa
linagora/lgs/openpaas/linagora.esn.calendar#830 set correctly alarm f…
SurionA Sep 8, 2017
61e3f3f
MCC-CAL#51: Handle reccurence instance only iTip CANCEL
renaudboyer Mar 16, 2018
23929ac
MCC-CAL#51: Fix TZ of the EXDATE
renaudboyer Mar 27, 2018
c77e5de
linagora/lgs/lgs-projects/Industrialisation_V1#166: Compare date time…
renaudboyer Mar 28, 2018
a67f6e4
linagora/lgs/lgs-projects/Industrialisation_V1#49 Send ITip with modi…
renaudboyer Mar 29, 2018
4c9191e
linagora/lgs/openpaas/linagora.esn.calendar#1207: Fix PERIOD element …
renaudboyer Apr 25, 2018
a78343d
linagora/lgs/openpaas/linagora.esn.calendar#1476 Add a field for the …
Oct 17, 2018
22aa3bf
\#2 fix error when deleting an event which has attendee and alarm
Dec 26, 2019
bf91762
Fix failing tests by adding DTSTAMP field to expected outputs
guimard Oct 14, 2025
319cbde
Add test for YEARLY BYMONTH BYMONTHDAY with different DTSTART month
guimard Dec 4, 2025
399fc14
Fix YEARLY RRULE with BYMONTH when DTSTART month differs
guimard Dec 4, 2025
953e90f
Remove PHP 7.1 from CI workflow
guimard Oct 14, 2025
f929420
Adapt new tests for a67f6e43
chibenwa Jun 1, 2026
f10b6d5
Merge pull request #1 from linagora/tobemerged-4.6.0
bastien-roucaries Jun 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/.github/ export-ignore
/tests/ export-ignore
/.gitattributes export-ignore
/.gitignore export-ignore
/.php_cs.dist export-ignore
/.php-cs-fixer.dist.php export-ignore
/CHANGELOG.md export-ignore
/phpstan.neon export-ignore
65 changes: 65 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: continuous-integration
on:
push:
branches:
- master
- release/*
pull_request:
jobs:
unit-testing:
name: PHPUnit (PHP ${{ matrix.php-versions }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-versions: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4']
coverage: ['pcov']
code-style: ['no']
code-analysis: ['no']
include:
- php-versions: '8.5'
coverage: 'none'
code-style: 'no'
code-analysis: 'yes'
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2 #https://github.com/shivammathur/setup-php
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, dom, fileinfo, mysql, redis, opcache
coverage: ${{ matrix.coverage }}
tools: composer

- name: Get composer cache directory
id: composer-cache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"

- name: Cache composer dependencies
uses: actions/cache@v5
with:
path: ${{ steps.composer-cache.outputs.dir }}
# Use composer.json for key, if composer.lock is not committed.
# key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
restore-keys: ${{ runner.os }}-composer-

- name: Install composer dependencies
run: composer install --no-progress --prefer-dist --optimize-autoloader

- name: Code Analysis (PHP CS-Fixer)
if: matrix.code-style == 'yes'
run: php vendor/bin/php-cs-fixer fix --dry-run --diff

- name: Code Analysis (PHPStan)
if: matrix.code-analysis == 'yes'
run: composer phpstan

- name: Test with phpunit
run: vendor/bin/phpunit --configuration tests/phpunit.xml --coverage-clover clover.xml

- name: Code Coverage
uses: codecov/codecov-action@v6
if: matrix.coverage != 'none'
15 changes: 1 addition & 14 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,7 @@ vendor/
composer.lock
tests/cov/
tests/temp

#vim
.*.swp

#binaries
bin/phpunit
bin/phpcs
bin/php-cs-fixer
bin/sabre-cs-fixer
bin/hoa
tests/.phpunit.result.cache

# Development stuff
testdata/
.php_cs.cache

# OS X
.DS_Store
2 changes: 1 addition & 1 deletion .php_cs.dist
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $config->getFinder()
->in(__DIR__);
$config->setRules([
'@PSR1' => true,
'@Symfony' =>true
'@Symfony' => true
]);

return $config;
39 changes: 0 additions & 39 deletions .travis.yml

This file was deleted.

191 changes: 186 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,190 @@
ChangeLog
=========

4.2.0-alpha1 (2018-09-26)
4.6.0 (2026-05-31)
------------------
* #718 feat(VCard): add getByTypes method (@JimKnoxx)
* #756 fix: Update deprecated timezone names (@ralflang)

4.5.9 (2026-05-31)
------------------
* #759 fix(itip): handle null old calendar/event (@ChristophWurst)

4.5.8 (2026-01-12)
------------------

* #721: Fix variable scope (@KristofferFM)
* #723: Broker shouldn't add EXDATE property with floating timezone (@KristofferFM)
* #726: Improved check on property name (@KristofferFM)
* #727: Improve error checks in Mimedir parser (@KristofferFM)
* #728: Removing attendee from scheduled recurring event should generate an EXDATE property (@KristofferFM)
* #735: use RDATE in time range check and use all instances (@SebastianKrupinski)
* #743: send participation reply on fresh event (@SebastianKrupinski)

4.5.7 (2025-04-17)
------------------

* #618: Add new exchangetimezone 'Amsterdam, Berlin, Bern, Rom, Stockholm, Wien' (@chr-is)
* #674: Allow unknown value data types for VALUE (@heiglandreas)
* #707: add phpdoc return types for arrayaccess methods (@smhg)

4.5.6 (2024-10-14)
------------------

* #662: add PHP 8.4 to CI (@phil-davis)
* #669: fix: check if event status was changed to cancelled and generate appropriate message (@SebastianKrupinski)
* #673: Fix Implicitly marking parameter $param as nullable is deprecated (@cedric-anne)
* #675: refactor: Replace dirname(__FILE__) with __DIR__ (@ChristophWurst)
* #692: Throw InvalidDataException when RRule is invalid (@mathroc)

4.5.5 (2024-07-02)
------------------

* #632: Add PHP 8.3 to CI (@phil-davis)
* #649: add lineIndex and lineString properties to a Property Node (@JohnRDOrazio)
* #652: ITip\Broker: handle timezones in replies to exception events (@gharlan)
* #654: chore: stop exporting php-cs-fixer config (@phil-davis)
* #656: Yearly rrule compliance by the iterator (@kroky)
* #658: throw ParseException when null input is provided (@phil-davis)
* #653: Handle summer time jumps in event recurrences (@phil-davis)

4.5.4 (2023-11-09)
------------------

* #619: fixed issue: Undefined index: plusminus (@sash04ek)
* #622: Create Issue467Test.php for 619 (@sash04ek)
* #623: docs: fix type definition for oldCalendar (@kesselb)

4.5.3 (2023-01-22)
------------------

* #607: Apply 'Support sabre/xml v4' and needed code changes to 4.5 branch (@phil-davis)

4.5.2 (2023-01-20)
------------------

* #603: Support sabre/xml v4 (@gharlan)

4.5.1 (2022-10-09)
------------------

* #597: Remove utf8_encode to easily support PHP 8.2 (@phil-davis)

4.5.0 (2022-08-17)
------------------

* #579: Update .gitattributes (@cedric-anne)
* #561: PHP 8.1 deprecated support for null values in its APIs (@mstilkerich)
* #571: Fully ignore invalid lines (@heiglandreas)
* #564: Fix infinite loop caused by yearly with bySetPos (@liurxliu)
* #567: Endless loop problem in RRuleIterator::nextDaily (@KristofferFM)
* #466: Add support for MEMBER in a VCard (@sash04ek)
* #559: Handle Vobjects without closing tag (@sash04ek)
* #582: Fix bug in by year day (@KAYLukas)

4.4.3 (2022-07-15)
------------------

* #577: Ignore multiple same parameter-values (@heiglandreas)

4.4.2 (2022-06-24)
------------------

* #565: lowercase mailto:-addresses in getNormalizedValue() (@pk1234)
* #568: Add NICKNAME fallback for VCards without FNs (@Evengard)
* #573: Component/select: Before uppercasing $child->group, make sure it isn't null (@algernon)
* #575: Fix encoding detection on PHP 8.1 (@come-nc)

4.4.1 (2021-12-07)
------------------

#557: Fix Iterator method signatures and avoid passing null as separator for implode (PHP 8.1 support) (@come-nc)

4.4.0 (2021-11-15)
------------------

#548: Allow easier extension of the timezone guessing (@heiglandreas)

4.3.8 (2021-11-14)
------------------

* #538: fix EventIterator returns wrong end endTime (@floerke)
* #541: Reordering of the attendees is not a significant change (@floerke)
* #543: Reordering of vevent is not a significant change (@floerke)

4.3.7 (2021-11-04)
------------------

* #551: version bump that was missed in 4.3.6 (@phil-davis)

4.3.6 (2021-11-04)
------------------

* #544: Fix deprecated usages and return types on PHP 8.1 (@cedric-anne)

4.3.5 (2021-02-12)
------------------

* #523: Fix setting properties with group assignment (@mstilkerich)
* #532: Make use of until parameter in nextMonthly function (@jaircuevajunior)

4.3.4 (2021-02-04)
------------------

* #529: Reassign modified date in yearly rrule (@laoneo)
* #525: Add .gitattributes to reduce package size (@fezfez)

4.3.3 (2020-11-09)
------------------

* #519: Remove US/Pacific-New obsolete timezone (@phil-davis)

4.3.2 (2020-10-03)
------------------

* #513: Added Support for PHP 8.0 (@phil-davis)

4.3.1 (2020-07-13)
------------------

* #510: Fix an incomplete phpdoc type annotation (@mstilkerich)
* #505: Refactor unit test code for phpunit9 (@phil-davis)
* #500: Standardize CI (@phil-davis)
* #496: CI tooling changes (@JeroenVanOort)

4.3.0 (2020-01-31)
------------------

* Added support for PHP 7.4, dropped support for PHP 7.0 (@phil-davis)
* #487: Added phpstan coverage, updated testsuite for phpunit8 (@phil-davis, @JeroenVanOort)
* #495: refactored maps to use ::class notation (@JeroenVanOort)

4.2.2 (2020-01-14)
------------------

* #465: Add TZ in iTip REPLY iTip messages
* #486: Add PHONE-NUMBER value type (used for TEL in vCard 3.0)

4.2.1 (2019-12-18)
------------------

* #469, #451: fix compat with php 7.4
* #443: prevent running in indefinite loop
* #449: Preventing creating a component for a root document
* #450: Fix parse with option Forgiving with trailing equal
* #459: fixed typo in VCalendar which resulting in usage of the wrong TimeZone
* #462: Broker::parseEventForOrganizer copies DTSTAMP from $eventInfo that causes broken scheduling

4.2.0 (2019-02-19)
------------------

* #432: DTSTAMP must be specified in UTC
* #435: ORGANIZER e-mail address are case-insensitive
* #441: Repairing BASE64 encoded vCard version 3

4.2.0-alpha1 (2018-09-26)
-------------------------

* #412: Broker: add timezone to CANCEL messages
* #424: Support php7.3

Expand Down Expand Up @@ -77,7 +258,7 @@ ChangeLog
* #306: iTip REPLYs to the first instance of a recurring event was not handled
correctly.
* Slightly better error message during validation of `N` and `ADR` properties.
* #312: Correctly extracing timezone in the iTip broker, even when we don't
* #312: Correctly extracting timezone in the iTip broker, even when we don't
have a master event. (@vkomrakov-sugar).
* When validating a component's property that must appear once and which could
automatically be repaired, make sure we report the change as 'repaired'.
Expand Down Expand Up @@ -399,7 +580,7 @@ ChangeLog
* #114: VTIMEZONE is retained when generating new REQUEST objects.
* #114: Support for 'MAILTO:' style email addresses (in uppercase) in the iTip
broker. This improves evolution support.
* #115: Using REQUEST-STATUS from REPLY messages and now propegating that into
* #115: Using REQUEST-STATUS from REPLY messages and now propagating that into
SCHEDULE-STATUS.


Expand Down Expand Up @@ -636,7 +817,7 @@ ChangeLog
3.0.0-alpha2 (2013-05-22)
-------------------------

* Fixed: vCard URL properties were referencing a non-existant class.
* Fixed: vCard URL properties were referencing a non-existent class.


3.0.0-alpha1 (2013-05-21)
Expand Down Expand Up @@ -794,7 +975,7 @@ ChangeLog
properties such as N, ADR, ORG and CATEGORIES.
* Added: Splitter classes, that can split up large objects (such as exports)
into individual objects (thanks @DominikTo and @armin-hackmann).
* Added: VFREEBUSY component, which allows easily checking wether timeslots are
* Added: VFREEBUSY component, which allows easily checking whether timeslots are
available.
* Added: The Reader class now has a 'FORGIVING' option, which allows it to parse
properties with incorrect characters in the name (at this time, it just allows
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ sabre/vobject
The VObject library allows you to easily parse and manipulate [iCalendar](https://tools.ietf.org/html/rfc5545)
and [vCard](https://tools.ietf.org/html/rfc6350) objects using PHP.

The goal of the VObject library is to create a very complete library, with an easy to use API.
The goal of the VObject library is to create a very complete library, with an easy-to-use API.


Installation
Expand Down
2 changes: 1 addition & 1 deletion bin/bench_freebusygenerator.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
echo "The process will be repeated 100 times to get accurate stats\n";
echo "\n";
echo 'Usage: '.$argv[0]." inputfile.ics\n";
die();
exit();
}

list(, $inputFile) = $argv;
Expand Down
Loading
Loading