Skip to content

Merge upstream sabre-io/vobject master 2026-05-31 (4.6.0) - #116

Merged
willaix merged 135 commits into
masterfrom
merge-upstream-2026-09-30
Sep 30, 2026
Merged

willaix merged 135 commits into
masterfrom
merge-upstream-2026-09-30

Conversation

@willaix

@willaix willaix commented Sep 30, 2026

Copy link
Copy Markdown

What

Syncs our fork with upstream sabre-io/vobject master up to a95f4e1d (2026-05-31). This is the last upstream commit before PHP 7 support was dropped (sabre-io#767 upstream), and its content matches upstream 4.6.0. Upstream 5.0.0 comes in a separate PR.

The branch has two commits:

  1. 2685914e Record upstream master 2024-06-06 as merged. This commit changes no files. Our previous sync (Merge upstream 2024 06 27 #106) was squash-merged, so upstream's history never became part of ours, and every new sync had to redo old conflicts.
    This commit records that sync as a real merge.
  2. 82dd5a7f Merge upstream master 2026-05-31. This is the actual sync.

Notable upstream changes

Conflict resolution

Where our fork deliberately behaves differently, the Proton behaviour is kept:

Testing

  • vendor/bin/phpunit --configuration tests/phpunit.xml: 3279 tests pass, 1 skipped (same skip as on master)
  • composer phpstan: no errors
  • php-cs-fixer: CI runs it on PHP 7.4. Locally on PHP 8.4 it suggests one trailing comma in a parameter list, which would break PHP 7.4, so it's not applied.

Merging and release

  • ⚠️ Merge with "Create a merge commit". Do not squash. Squashing would lose the upstream history again and bring back the old conflicts on the next sync.
  • No breaking changes: still php: ^7.4 || ^8.0.
  • A follow-up PR release/4.35.0 will bump the version and add the changelog entry.
  • After that comes the upstream 5.0.0 sync (PHP 8.2+, typed signatures), which will be our 5.0.0.

chr-is and others added 30 commits May 20, 2023 18:07
'Amsterdam, Berlin, Bern, Rom, Stockholm, Wien' => 'Europe/Berlin',
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](actions/cache@v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…ns/actions/cache-4

Bump actions/cache from 3 to 4
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3 to 4.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](codecov/codecov-action@v3...v4)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…ns/codecov/codecov-action-4

Bump codecov/codecov-action from 3 to 4
chore: bump php-cs-fixer requirement to 3.54
Co-authored-by: Luc DUZAN <lduzan@linagora.com>
ITip\Broker: handle timezones in replies to exception events
…fixer

chore: stop exporting php-cs-fixer config
Yearly rrule compliance by the iterator
phil-davis and others added 26 commits December 2, 2025 21:30
…ate-improvements

fix: use RDATE in time range check and use all instances
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
…y-on-event-creation

fix: send participation reply on fresh event
…oej-schedule-attendee-removal

Removing attendee from scheduled recurring event should generate an EXDATE property
…oej-mimedir-improve-error-check

Improve error checks in Mimedir parser
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5 to 6.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](codecov/codecov-action@v5...v6)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
php-cs-fixer wants to make quite a few changes.
…ns/codecov/codecov-action-6

chore(deps): bump codecov/codecov-action from 5 to 6
Signed-off-by: Christoph Wurst <1374172+ChristophWurst@users.noreply.github.com>
…endar-null

fix(itip): handle null old calendar/event
Systems without the tzdata-legacy package, i.e. (Ubuntu 24.04+) reject deprecated names.

Examples: Europe/Kiev, Asia/Calcutta, America/Godthab
This causes FindFromTimezoneMap::find() to throw.
Update all 13 occurrences across windowszones, lotuszones and exchangezones maps to their canonical replacements and wrap DateTimeZone instantiation in try/catch for resilience against future renames.

Comes with unit test
…-names

fix: Update deprecated timezone names
…g-4.6.0

chore: changelogs for 4.5.9 and 4.6.0
The upstream sync in #106 was squash-merged, so upstream history was
never part of our ancestry. The content of 1b388aa is already in master
since #106; this merge only restores the ancestry so future upstream
merges use a correct merge base.
Brings in upstream master up to the last commit before PHP 7 support was
dropped (sabre-io#767), content equivalent to upstream 4.6.0.

Conflict resolution keeps Proton behaviour where it deliberately differs:
- Document::createProperty still drops a malformed or illegal VALUE
  parameter instead of keeping it as upstream sabre-io#674 does.
- Greenland keeps mapping to Atlantic/Stanley (#65); FLE Standard Time
  keeps mapping to Europe/Kiev, matching the Europe/Kyiv redirect in
  FindFromTimezoneIdentifier. Upstream's other IANA renames (sabre-io#756) are
  taken.
- Upstream tests PropertyTest::testUnknownValuesWillBeIgnored and
  FindFromTimezoneMapTest are adapted to those Proton mappings.
- testUnrepairableRRule: upstream sabre-io#692 is the same change as our #109,
  upstream's version of the test is taken.
- Version stays 4.34.0; the bump is left to the release PR.
@willaix
willaix merged commit 016699d into master Sep 30, 2026
7 checks passed
This was referenced Sep 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.