Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft: Update all timezone guesses to use TZ 2022g canonical timezones #83

Open
wants to merge 93 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
dde2b5c
Fix bug in by year day
KAYLukas Nov 28, 2018
e980e28
Change composer name
valentinbonneaud Sep 10, 2019
bbb9eb6
Merge pull request #1 from ProtonMail/feat/update-composer
valentinbonneaud Sep 10, 2019
0c57be3
Merge pull request #2 from ProtonMail/fix/by-year-day
valentinbonneaud Sep 10, 2019
2b27d82
Add daily occurences to nextMonth and NextYear (#3)
valentinbonneaud Sep 10, 2019
ab366e1
Enhance fastforward speed if no `count` value has been given (#4)
valentinbonneaud Sep 10, 2019
af51976
Update README (#5)
valentinbonneaud Sep 10, 2019
be709bc
Add FastForward Before (#6)
valentinbonneaud Jan 24, 2020
d78a3ac
Add fastForwardToEnd (#7)
valentinbonneaud Jan 24, 2020
1889acd
Remove timing test in case of count (#8)
valentinbonneaud Jan 27, 2020
d0d4498
Update changelog (#9)
valentinbonneaud Jan 27, 2020
7933fc2
Fix phpstan (#10)
ThHareau Jan 29, 2020
647533a
FREQ is mandatory in the RRule (#11)
valentinbonneaud Jan 30, 2020
2fe3a9a
Add test on BYMONTHDAY (#12)
valentinbonneaud Jan 30, 2020
0a003c7
Fix counter when fast forward before (#13)
valentinbonneaud Feb 11, 2020
1c89b54
Add extra timezones support (#14)
valentinbonneaud May 20, 2020
ca647a2
Correct typo in changelog
valentinbonneaud May 20, 2020
b16c3e7
Expose RRULE properties from RRuleIterator (#15)
bcaller Jul 22, 2020
10a03a8
Merge upstream (#16)
bcaller Jul 28, 2020
f290360
Merge upstream changes up to 4.3.3 (#18)
valentinbonneaud Nov 18, 2020
e125596
Throw exception when getting invalid timezone (#17)
liurxliu Nov 23, 2020
6507b3d
Update changelog for release 4.4.0 (#19)
valentinbonneaud Nov 23, 2020
bee705a
Validate count and until property (#20)
liurxliu Jan 18, 2021
5e572e2
Prepare changelog for 4.4.1 (#21)
valentinbonneaud Jan 18, 2021
57b05a4
Add microsoft timezone map (#23)
liurxliu Jul 15, 2021
0380546
Prepare 4.4.2 release (#24)
valentinbonneaud Jul 15, 2021
f9055e0
[Calendar] Fix duplicate value (#25)
liurxliu Oct 4, 2021
b87d007
[Calendar] Add php unsupport timezone
Sep 27, 2021
fb68d5a
Update changelog for 4.5.1
valentinbonneaud Oct 4, 2021
79a8073
Add FR Europe localized timezone
valentinbonneaud Oct 25, 2021
97e52d0
Merge pull request #28 from ProtonMail/fix/exchange-tzid-local
liurxliu Oct 29, 2021
1b109b0
Fix timezones starting with slash
giuseppe-arcuti Nov 1, 2021
0750ed7
Fix EDT timezone
giuseppe-arcuti Nov 1, 2021
fe6cf8e
Use Manaus tz
valentinbonneaud Nov 4, 2021
3e3131c
Release of 4.6.1
valentinbonneaud Nov 4, 2021
ea0bcee
Add github actions
valentinbonneaud Nov 4, 2021
a1a3a76
Add coverage
valentinbonneaud Nov 4, 2021
c26e2d4
Fix tests badge
valentinbonneaud Nov 4, 2021
1424b38
Merge upstream commits (#34)
giuseppe-arcuti Dec 15, 2021
0251b1f
Upgrade action codecov
valentinbonneaud Dec 15, 2021
4d357a6
Add php8.0 in tests
valentinbonneaud Dec 15, 2021
814f4b8
Merge upstream commits (#36)
valentinbonneaud Dec 15, 2021
a5a5847
Prepare release 4.7.0 (#38)
valentinbonneaud Dec 15, 2021
7fdf3bb
Support lowercase timezones (#39)
giuseppe-arcuti Jan 10, 2022
8e3e2ad
Prepare release 4.7.1 (#40)
giuseppe-arcuti Jan 11, 2022
059aabc
Add missing microsoft timezones and test with confluence file (#41)
giuseppe-arcuti Jan 21, 2022
eaba674
Prepare release 4.7.2 (#43)
giuseppe-arcuti Jan 21, 2022
5479bba
[Calendar] Fix unfolding issue (#42)
liurxliu Feb 10, 2022
9ab83bb
4.8.0 release (#44)
valentinbonneaud Feb 10, 2022
2013799
Update readme to mention fork (#45)
valentinbonneaud Feb 10, 2022
9a298f9
[Calendar] Support UTC-05:00 timezone (#46)
liurxliu Feb 14, 2022
587dd4c
4.9.0 release
Feb 15, 2022
bf3b4c2
Merge pull request #47 from ProtonMail/feat/4.9.0
liurxliu Feb 15, 2022
786c731
Block invalid combinations of FREQ with BY rules (#48)
giuseppe-arcuti Mar 8, 2022
13cbb28
4.10.0 release (#49)
giuseppe-arcuti Mar 8, 2022
f2d3f95
Add LowercaseTimezoneIdentifier (#50)
liurxliu Apr 22, 2022
7d6cba6
4.11.0 release
Apr 22, 2022
5e4d88d
Merge pull request #51 from ProtonMail/release/4.11.0
liurxliu Apr 22, 2022
0ed2875
[Calendar] Add FindFromOutlookCities timezone finder (#52)
liurxliu May 4, 2022
fcf1ee2
4.12.0 release
May 5, 2022
c3ac3c8
Merge pull request #53 from ProtonMail/release/4.12.0
liurxliu May 5, 2022
623bd9a
[Calendar] Handle version timezone (#58)
liurxliu May 26, 2022
a165030
Feat/merge upstream 2022 05 (#56)
chris-szu May 26, 2022
b1770c9
prepare release 4.13.0
May 27, 2022
16d4f04
Merge pull request #59 from ProtonMail/release/4.13.0
chris-szu May 27, 2022
1f66ae1
[Calendar] Add FindFromOffsetName (#54)
liurxliu May 30, 2022
9f37c06
prepare release 4.14.0
May 31, 2022
344f7a9
Merge pull request #60 from ProtonMail/release/4.14.0
liurxliu May 31, 2022
ee3e095
[Calendar] Handle customized timezone (#57)
liurxliu Jun 22, 2022
c1783c0
release 4.15.0
Jun 23, 2022
7edff03
Merge pull request #62 from ProtonMail/release/4.15.0
liurxliu Jun 23, 2022
665b0ad
Fix customized timezone guesser (#63)
giuseppe-arcuti Jul 6, 2022
5cde481
release 4.16.0 (#64)
giuseppe-arcuti Jul 6, 2022
0b93c0b
[Calendar] Replace Godthab timezone (#65)
liurxliu Jul 28, 2022
0c4c6a9
release 4.17.0
Jul 29, 2022
f617dad
Merge pull request #66 from ProtonMail/release/4.17.0
liurxliu Jul 29, 2022
ec72aea
Add mapping for CDT timezone
Aug 30, 2022
f4a015f
prepare release 4.18.0
Sep 1, 2022
67a745b
Merge pull request #70 from ProtonMail/release/4.18.0
chris-szu Sep 1, 2022
9aad44d
Deprecate Enderbury timezone (#72)
valentinbonneaud Dec 21, 2022
013a7db
Release 4.19.0 (#73)
giuseppe-arcuti Dec 21, 2022
8a6ec13
handle null tzid
Dec 23, 2022
8be46c0
Merge pull request #74 from ProtonMail/fix/calbe-2028
chris-szu Dec 23, 2022
7359e88
Release 4.20.0
Dec 23, 2022
7ff09ae
Merge pull request #75 from ProtonMail/release/4.20.0
chris-szu Dec 23, 2022
da41cb5
Add timezone mapping for PST
Dec 27, 2022
2a7d579
Merge pull request #76 from ProtonMail/feat/add-timezone-mapping-for-pst
chris-szu Dec 28, 2022
6328936
Release 4.21.0
Dec 28, 2022
13cbb27
Merge pull request #77 from ProtonMail/release/4.21.0
chris-szu Dec 28, 2022
c948d71
Add DeprecatedTimezoneIdentifier (#80)
valentinbonneaud Mar 1, 2023
8525bea
Release 4.22.0 (#81)
valentinbonneaud Mar 1, 2023
48411a2
Update all timezone guess to use TZ 2022g canonical timezones
valentinbonneaud Mar 28, 2023
c2906de
Fix Microsoft mapping
valentinbonneaud Mar 28, 2023
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
7 changes: 7 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/tests export-ignore
/.gitattributes export-ignore
/.gitignore export-ignore
/.php_cs.dist export-ignore
/.travis.yml export-ignore
/CHANGELOG.md export-ignore
/phpstan.neon export-ignore
59 changes: 59 additions & 0 deletions .github/workflows/actions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Tests

on: [push]

jobs:
phpunit:
strategy:
matrix:
operating-system: [ubuntu-latest]
php-versions: ['7.4', '8.0', '8.1']

runs-on: ${{ matrix.operating-system }}

steps:
- name: Checkout
uses: actions/checkout@v2

- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring
coverage: pcov

- 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@v2
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.lock') }}
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-analysis == '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-text --coverage-clover=coverage.xml

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v2
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml
flags: tests
name: codecov-umbrella
fail_ci_if_error: true
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
4 changes: 2 additions & 2 deletions .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;
return $config;
39 changes: 0 additions & 39 deletions .travis.yml

This file was deleted.

136 changes: 132 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,134 @@
ChangeLog
=========

4.22.0 (2023-03-01)
-------------------
* #80 Allow newly deprecated timezones

4.21.0 (2022-12-28)
-------------------
* #76 Add mapping for PST timezone

4.20.0 (2022-12-23)
-------------------
* #74 Handle null tzid

4.19.0 (2022-12-21)
-------------------
* #72 Deprecate Enderbury timezone

4.18.0 (2022-09-01)
-------------------
* #69 Add mapping for CDT timezone

4.17.0 (2022-07-29)
-------------------
* #65 [Calendar] Replace Godthab timezone

4.16.0 (2022-07-06)
-------------------
* #63 Fix customized timezone guesser

4.15.0 (2022-06-23)
-------------------
* #57 Handle customized timezone

4.14.0 (2022-05-31)
-------------------
* #54 Add FindFromOffsetName

4.13.0 (2022-05-27)
-------------------
* #56 Merge upstream changes from sabre-io/vobject@a595790 into protonlabs/vobject
* #58 Handle version timezone

4.12.0 (2022-05-05)
-------------------
* #52 Add FindFromOutlookCities timezone finder

4.11.0 (2022-04-22)
-------------------
* #50 Add lowercase timezone finder

4.10.0 (2022-03-08)
-------------------
* #48 Block invalid combinations of FREQ with BY rules

4.9.0 (2022-02-15)
------------------
* #46 Add support UTC-05:00 timezone

4.8.0 (2022-02-10)
------------------
* #42 Add option to fix unfolding issues in ICS

4.7.2 (2022-01-21)
------------------
* #41 Add missing microsoft timezones and test with confluence file

4.7.1 (2022-01-10)
------------------
* #39 Add support for lowercase timezones

4.7.0 (2021-12-15)
------------------
* #34 Merge upstream changes from sabre-io/vobject:4.4.0 into protonlabs/vobject
* #36 Merge upstream changes from sabre-io/vobject:4.4.1 into protonlabs/vobject

4.6.1 (2021-11-04)
------------------
* #29 Fix timezone name prefixed with /
* #30 Missing EDT TZID conversion

4.5.1 (2021-10-11)
------------------
* #25 Fix duplicate value
* #26 Add php unsupport timezone

4.4.2 (2021-07-15)
------------------
* #23 Add microsoft timezone map

4.4.1 (2021-01-18)
------------------
* #19 Validate count and until property

4.4.0 (2020-11-23)
------------------

* #18 Merge upstream changes from sabre-io/vobject:4.3.3 into protonlabs/vobject
* #17 Throw exception when getting invalid timezone

4.3.4 (2020-07-27)
------------------

* #16 Merge upstream changes from sabre-io/vobject:4.3.1 into protonlabs/vobject

4.3.3 (2020-07-22)
------------------

* #15 Expose RRULE properties

4.3.2 (2020-05-20)
------------------

* #14 Add timezones data mapping.

4.3.1 (2020-01-27)
------------------

* #6 Add FastForward Before
* #7 Add FastForward to end
* #11 FREQ is mandatory in the RRule
* #12 Validate BYMONTHDAY

4.2.1 (2019-09-10)
------------------

* #2 Fix bug in by year day
* #3 Add daily occurrences to nextMonth and NextYear
* #4 Enhance fast forward speed if no count value has been given

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

Expand Down Expand Up @@ -84,7 +212,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 @@ -406,7 +534,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 @@ -643,7 +771,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 @@ -801,7 +929,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
27 changes: 8 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,27 @@
sabre/vobject
protonlabs/vobject
=============
![Build Status](https://github.com/ProtonMail/vobject/actions/workflows/actions.yml/badge.svg)
[![codecov](https://codecov.io/gh/ProtonMail/vobject/branch/master/graph/badge.svg?token=ARcwkxCKZn)](https://codecov.io/gh/ProtonMail/vobject)

Forked from [sabre/vobject](https://github.com/sabre-io/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
------------

Make sure you have [Composer][1] installed, and then run:

composer require sabre/vobject "^4.0"
composer require protonlabs/vobject "^4.0"

This package requires PHP 5.5. If you need the PHP 5.3/5.4 version of this package instead, use:


composer require sabre/vobject "^3.4"
composer require protonlabs/vobject "^3.4"


Usage
Expand All @@ -27,21 +31,6 @@ Usage
* [Working with iCalendar](http://sabre.io/vobject/icalendar/)



Build status
------------

| branch | status |
| ------ | ------ |
| master | [![Build Status](https://travis-ci.org/sabre-io/vobject.svg?branch=master)](https://travis-ci.org/sabre-io/vobject) |
| 3.5 | [![Build Status](https://travis-ci.org/sabre-io/vobject.svg?branch=3.5)](https://travis-ci.org/sabre-io/vobject) |
| 3.4 | [![Build Status](https://travis-ci.org/sabre-io/vobject.svg?branch=3.4)](https://travis-ci.org/sabre-io/vobject) |
| 3.1 | [![Build Status](https://travis-ci.org/sabre-io/vobject.svg?branch=3.1)](https://travis-ci.org/sabre-io/vobject) |
| 2.1 | [![Build Status](https://travis-ci.org/sabre-io/vobject.svg?branch=2.1)](https://travis-ci.org/sabre-io/vobject) |
| 2.0 | [![Build Status](https://travis-ci.org/sabre-io/vobject.svg?branch=2.0)](https://travis-ci.org/sabre-io/vobject) |



Support
-------

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
2 changes: 1 addition & 1 deletion bin/bench_manipulatevcard.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
echo 'system.';
echo "\n";
echo 'Usage: '.$argv[0]." inputfile.vcf\n";
die();
exit();
}

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