tilia-vobject 4.0.0.pre.alpha2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +19 -0
- data/.rubocop.yml +32 -0
- data/.simplecov +4 -0
- data/.travis.yml +3 -0
- data/CHANGELOG.sabre.md +626 -0
- data/CONTRIBUTING.md +25 -0
- data/Gemfile +17 -0
- data/Gemfile.lock +68 -0
- data/LICENSE +27 -0
- data/LICENSE.sabre +27 -0
- data/README.md +63 -0
- data/Rakefile +17 -0
- data/bin/vobject +7 -0
- data/lib/tilia/v_object/birthday_calendar_generator.rb +142 -0
- data/lib/tilia/v_object/cli.rb +582 -0
- data/lib/tilia/v_object/component/available.rb +107 -0
- data/lib/tilia/v_object/component/v_alarm.rb +114 -0
- data/lib/tilia/v_object/component/v_availability.rb +128 -0
- data/lib/tilia/v_object/component/v_calendar.rb +468 -0
- data/lib/tilia/v_object/component/v_card.rb +457 -0
- data/lib/tilia/v_object/component/v_event.rb +127 -0
- data/lib/tilia/v_object/component/v_free_busy.rb +81 -0
- data/lib/tilia/v_object/component/v_journal.rb +75 -0
- data/lib/tilia/v_object/component/v_time_zone.rb +51 -0
- data/lib/tilia/v_object/component/v_todo.rb +147 -0
- data/lib/tilia/v_object/component.rb +591 -0
- data/lib/tilia/v_object/date_time_parser.rb +486 -0
- data/lib/tilia/v_object/document.rb +218 -0
- data/lib/tilia/v_object/element_list.rb +18 -0
- data/lib/tilia/v_object/eof_exception.rb +8 -0
- data/lib/tilia/v_object/free_busy_data.rb +149 -0
- data/lib/tilia/v_object/free_busy_generator.rb +465 -0
- data/lib/tilia/v_object/i_tip/broker.rb +909 -0
- data/lib/tilia/v_object/i_tip/i_tip_exception.rb +9 -0
- data/lib/tilia/v_object/i_tip/message.rb +109 -0
- data/lib/tilia/v_object/i_tip/same_organizer_for_all_components_exception.rb +13 -0
- data/lib/tilia/v_object/i_tip.rb +10 -0
- data/lib/tilia/v_object/node.rb +192 -0
- data/lib/tilia/v_object/parameter.rb +327 -0
- data/lib/tilia/v_object/parse_exception.rb +7 -0
- data/lib/tilia/v_object/parser/json.rb +149 -0
- data/lib/tilia/v_object/parser/mime_dir.rb +543 -0
- data/lib/tilia/v_object/parser/parser.rb +61 -0
- data/lib/tilia/v_object/parser/xml/element/key_value.rb +60 -0
- data/lib/tilia/v_object/parser/xml/element.rb +11 -0
- data/lib/tilia/v_object/parser/xml.rb +322 -0
- data/lib/tilia/v_object/parser.rb +10 -0
- data/lib/tilia/v_object/property/binary.rb +96 -0
- data/lib/tilia/v_object/property/boolean.rb +57 -0
- data/lib/tilia/v_object/property/flat_text.rb +52 -0
- data/lib/tilia/v_object/property/float_value.rb +107 -0
- data/lib/tilia/v_object/property/i_calendar/cal_address.rb +49 -0
- data/lib/tilia/v_object/property/i_calendar/date.rb +15 -0
- data/lib/tilia/v_object/property/i_calendar/date_time.rb +330 -0
- data/lib/tilia/v_object/property/i_calendar/duration.rb +65 -0
- data/lib/tilia/v_object/property/i_calendar/period.rb +124 -0
- data/lib/tilia/v_object/property/i_calendar/recur.rb +173 -0
- data/lib/tilia/v_object/property/i_calendar.rb +14 -0
- data/lib/tilia/v_object/property/integer_value.rb +60 -0
- data/lib/tilia/v_object/property/text.rb +352 -0
- data/lib/tilia/v_object/property/time.rb +85 -0
- data/lib/tilia/v_object/property/unknown.rb +30 -0
- data/lib/tilia/v_object/property/uri.rb +78 -0
- data/lib/tilia/v_object/property/utc_offset.rb +56 -0
- data/lib/tilia/v_object/property/v_card/date.rb +31 -0
- data/lib/tilia/v_object/property/v_card/date_and_or_time.rb +343 -0
- data/lib/tilia/v_object/property/v_card/date_time.rb +22 -0
- data/lib/tilia/v_object/property/v_card/language_tag.rb +41 -0
- data/lib/tilia/v_object/property/v_card/time_stamp.rb +74 -0
- data/lib/tilia/v_object/property/v_card.rb +13 -0
- data/lib/tilia/v_object/property.rb +532 -0
- data/lib/tilia/v_object/reader.rb +73 -0
- data/lib/tilia/v_object/recur/event_iterator.rb +417 -0
- data/lib/tilia/v_object/recur/no_instances_exception.rb +11 -0
- data/lib/tilia/v_object/recur/r_date_iterator.rb +138 -0
- data/lib/tilia/v_object/recur/r_rule_iterator.rb +717 -0
- data/lib/tilia/v_object/recur.rb +10 -0
- data/lib/tilia/v_object/settings.rb +32 -0
- data/lib/tilia/v_object/splitter/i_calendar.rb +95 -0
- data/lib/tilia/v_object/splitter/splitter_interface.rb +31 -0
- data/lib/tilia/v_object/splitter/v_card.rb +56 -0
- data/lib/tilia/v_object/splitter.rb +9 -0
- data/lib/tilia/v_object/string_util.rb +58 -0
- data/lib/tilia/v_object/time_zone_data/exchange_zones.rb +96 -0
- data/lib/tilia/v_object/time_zone_data/lotus_zones.rb +104 -0
- data/lib/tilia/v_object/time_zone_data/php_zones.rb +49 -0
- data/lib/tilia/v_object/time_zone_data/windows_zones.rb +121 -0
- data/lib/tilia/v_object/time_zone_data.rb +10 -0
- data/lib/tilia/v_object/time_zone_util.rb +213 -0
- data/lib/tilia/v_object/uuid_util.rb +51 -0
- data/lib/tilia/v_object/v_card_converter.rb +354 -0
- data/lib/tilia/v_object/version.rb +9 -0
- data/lib/tilia/v_object/writer.rb +56 -0
- data/lib/tilia/v_object.rb +45 -0
- data/lib/tilia/vobject.rb +1 -0
- data/resources/schema/xcal.rng +1192 -0
- data/resources/schema/xcard.rng +388 -0
- data/test/test_helper.rb +56 -0
- data/test/v_object/attach_issue_test.rb +19 -0
- data/test/v_object/birthday_calendar_generator_test.rb +463 -0
- data/test/v_object/cli_mock.rb +19 -0
- data/test/v_object/cli_test.rb +460 -0
- data/test/v_object/component/available_test.rb +59 -0
- data/test/v_object/component/v_alarm_test.rb +160 -0
- data/test/v_object/component/v_availability_test.rb +388 -0
- data/test/v_object/component/v_calendar_test.rb +646 -0
- data/test/v_object/component/v_card_test.rb +258 -0
- data/test/v_object/component/v_event_test.rb +85 -0
- data/test/v_object/component/v_free_busy_test.rb +59 -0
- data/test/v_object/component/v_journal_test.rb +85 -0
- data/test/v_object/component/v_time_zone_test.rb +47 -0
- data/test/v_object/component/v_todo_test.rb +172 -0
- data/test/v_object/component_test.rb +419 -0
- data/test/v_object/date_time_parser_test.rb +526 -0
- data/test/v_object/document_test.rb +71 -0
- data/test/v_object/element_list_test.rb +27 -0
- data/test/v_object/em_client_test.rb +53 -0
- data/test/v_object/empty_parameter_test.rb +65 -0
- data/test/v_object/empty_value_issue_test.rb +25 -0
- data/test/v_object/fake_component.rb +21 -0
- data/test/v_object/free_busy_data_test.rb +285 -0
- data/test/v_object/free_busy_generator_test.rb +637 -0
- data/test/v_object/google_colon_escaping_test.rb +27 -0
- data/test/v_object/i_calendar/attach_parse_test.rb +24 -0
- data/test/v_object/i_tip/broker_attendee_reply_test.rb +1042 -0
- data/test/v_object/i_tip/broker_delete_event_test.rb +175 -0
- data/test/v_object/i_tip/broker_new_event_test.rb +440 -0
- data/test/v_object/i_tip/broker_process_message_test.rb +153 -0
- data/test/v_object/i_tip/broker_process_reply_test.rb +402 -0
- data/test/v_object/i_tip/broker_tester.rb +71 -0
- data/test/v_object/i_tip/broker_update_event_test.rb +763 -0
- data/test/v_object/i_tip/evolution_test.rb +2644 -0
- data/test/v_object/i_tip/message_test.rb +25 -0
- data/test/v_object/issue153.vcf +352 -0
- data/test/v_object/issue153_test.rb +12 -0
- data/test/v_object/issue26_test.rb +25 -0
- data/test/v_object/issue36_work_around_test.rb +37 -0
- data/test/v_object/issue40_test.rb +26 -0
- data/test/v_object/issue64.vcf +351 -0
- data/test/v_object/issue64_test.rb +17 -0
- data/test/v_object/issue96_test.rb +22 -0
- data/test/v_object/issue_undefined_index_test.rb +24 -0
- data/test/v_object/j_cal_test.rb +150 -0
- data/test/v_object/j_card_test.rb +192 -0
- data/test/v_object/line_folding_issue_test.rb +19 -0
- data/test/v_object/mock_document.rb +6 -0
- data/test/v_object/parameter_test.rb +109 -0
- data/test/v_object/parser/json_test.rb +370 -0
- data/test/v_object/parser/mime_dir_test.rb +14 -0
- data/test/v_object/parser/quoted_printable_test.rb +78 -0
- data/test/v_object/parser/xml_test.rb +2563 -0
- data/test/v_object/property/binary_test.rb +12 -0
- data/test/v_object/property/boolean_test.rb +18 -0
- data/test/v_object/property/compound_test.rb +43 -0
- data/test/v_object/property/float_test.rb +20 -0
- data/test/v_object/property/i_calendar/cal_address_test.rb +26 -0
- data/test/v_object/property/i_calendar/date_time_test.rb +303 -0
- data/test/v_object/property/i_calendar/duration_test.rb +14 -0
- data/test/v_object/property/i_calendar/recur_test.rb +39 -0
- data/test/v_object/property/text_test.rb +81 -0
- data/test/v_object/property/v_card/date_and_or_time_test.rb +205 -0
- data/test/v_object/property/v_card/language_tag_test.rb +35 -0
- data/test/v_object/property_test.rb +338 -0
- data/test/v_object/reader_test.rb +403 -0
- data/test/v_object/recur/event_iterator/by_month_in_daily_test.rb +52 -0
- data/test/v_object/recur/event_iterator/by_set_pos_hang_test.rb +55 -0
- data/test/v_object/recur/event_iterator/expand_floating_times_test.rb +109 -0
- data/test/v_object/recur/event_iterator/fifth_tuesday_problem_test.rb +45 -0
- data/test/v_object/recur/event_iterator/incorrect_expand_test.rb +53 -0
- data/test/v_object/recur/event_iterator/infinite_loop_problem_test.rb +75 -0
- data/test/v_object/recur/event_iterator/issue48_test.rb +43 -0
- data/test/v_object/recur/event_iterator/issue50_test.rb +123 -0
- data/test/v_object/recur/event_iterator/main_test.rb +1222 -0
- data/test/v_object/recur/event_iterator/missing_overridden_test.rb +55 -0
- data/test/v_object/recur/event_iterator/no_instances_test.rb +32 -0
- data/test/v_object/recur/event_iterator/override_first_event_test.rb +106 -0
- data/test/v_object/recur/r_date_iterator_test.rb +44 -0
- data/test/v_object/recur/r_rule_iterator_test.rb +608 -0
- data/test/v_object/recurrence_iterator/UntilRespectsTimezoneTest.ics +39 -0
- data/test/v_object/slash_r_test.rb +15 -0
- data/test/v_object/splitter/i_calendar_test.rb +299 -0
- data/test/v_object/splitter/v_card_test.rb +173 -0
- data/test/v_object/string_util_test.rb +37 -0
- data/test/v_object/test_case.rb +42 -0
- data/test/v_object/time_zone_util_test.rb +271 -0
- data/test/v_object/uuid_util_test.rb +18 -0
- data/test/v_object/v_card21_test.rb +43 -0
- data/test/v_object/v_card_converter_test.rb +419 -0
- data/test/v_object/version_test.rb +15 -0
- data/test/v_object/writer_test.rb +33 -0
- data/tilia-vobject.gemspec +17 -0
- metadata +308 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 93752908dd3fe5f2eb4e779f3b502f2a9188748a
|
|
4
|
+
data.tar.gz: 4920f43108b370cd96c113fe3afe9884c740835b
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 69c4ba324840c8ccee64989a1f77b67c3ebae5fea404bbc5eeb0ece7895b190ef95e5d758854af86d94d57a2fc7f50508e312b28156d62a3bd2d3567afac4ac2
|
|
7
|
+
data.tar.gz: a3f12529cf63684643432cc8a36f292c8e7b947ece7692e3173db95acb65a2149d40720ee7de01a0f6f75978eb8bc79adbf6a7a542362d03832bbbebba2ae5b7
|
data/.gitignore
ADDED
data/.rubocop.yml
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Disable metrics - we stick to the sabre coding
|
|
2
|
+
Metrics/AbcSize:
|
|
3
|
+
Enabled: false
|
|
4
|
+
|
|
5
|
+
Metrics/BlockNesting:
|
|
6
|
+
Enabled: false
|
|
7
|
+
|
|
8
|
+
Metrics/ClassLength:
|
|
9
|
+
Enabled: false
|
|
10
|
+
|
|
11
|
+
Metrics/ModuleLength:
|
|
12
|
+
Enabled: false
|
|
13
|
+
|
|
14
|
+
Metrics/CyclomaticComplexity:
|
|
15
|
+
Enabled: false
|
|
16
|
+
|
|
17
|
+
Metrics/LineLength:
|
|
18
|
+
Enabled: false
|
|
19
|
+
|
|
20
|
+
Metrics/MethodLength:
|
|
21
|
+
Enabled: false
|
|
22
|
+
|
|
23
|
+
Metrics/ParameterLists:
|
|
24
|
+
Enabled: false
|
|
25
|
+
|
|
26
|
+
Metrics/PerceivedComplexity:
|
|
27
|
+
Enabled: false
|
|
28
|
+
|
|
29
|
+
# ['word', 'array'] looks better when aligned with other arrays that can't use
|
|
30
|
+
# %w() syntax
|
|
31
|
+
Style/WordArray:
|
|
32
|
+
Enabled: false
|
data/.simplecov
ADDED
data/.travis.yml
ADDED
data/CHANGELOG.sabre.md
ADDED
|
@@ -0,0 +1,626 @@
|
|
|
1
|
+
ChangeLog
|
|
2
|
+
=========
|
|
3
|
+
|
|
4
|
+
4.0.0-alpha2 (2015-09-04)
|
|
5
|
+
-------------------------
|
|
6
|
+
|
|
7
|
+
* Updated windows timezone file to support new mexican timezone.
|
|
8
|
+
* #239: Added a `BirthdayCalendarGenerator`. (@DominikTo)
|
|
9
|
+
* #250: `isInTimeRange()` now considers the timezone for floating dates and
|
|
10
|
+
times. (@armin-hackmann)
|
|
11
|
+
* Added a duplicate vcard merging tool for the command line.
|
|
12
|
+
* #253: `isInTimeRange()` now correctly handles events that throw the
|
|
13
|
+
`NoInstancesException` exception. (@migrax, @DominikTo)
|
|
14
|
+
* #254: The parser threw an `E_NOTICE` for certain invalid objects. It now
|
|
15
|
+
correctly throws a `ParseException`.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
4.0.0-alpha1 (2015-07-17)
|
|
19
|
+
-------------------------
|
|
20
|
+
|
|
21
|
+
* sabre/vobject now requires PHP 5.5.
|
|
22
|
+
* #244: PHP7 support.
|
|
23
|
+
* Lots of speedups and reduced memory usage!
|
|
24
|
+
* #160: Support for xCal a.k.a. RFC6321! (@Hywan)
|
|
25
|
+
* #192: Support for xCard a.k.a. RFC6351! (@Hywan)
|
|
26
|
+
* #139: We now accept `DateTimeInterface` wherever it accepted `DateTime`
|
|
27
|
+
before in arguments. This means that either `DateTime` or
|
|
28
|
+
`DateTimeImmutable` may be used everywhere.
|
|
29
|
+
* #242: Full support for the `VAVAILABILITY` component, and calculating
|
|
30
|
+
`VFREEBUSY` based on `VAVAILABILITY` data.
|
|
31
|
+
* #186: Fixing conversion of `UTC-OFFSET` properties when going back and
|
|
32
|
+
forward between jCal and iCalendar.
|
|
33
|
+
* Properties, Components and Parameters now implement PHP's `JsonSerializable`
|
|
34
|
+
interface.
|
|
35
|
+
* #139: We now _always_ return `DateTimeImmutable` from any method. This could
|
|
36
|
+
potentially have big implications if you manipulate Date objects anywhere.
|
|
37
|
+
* #161: Simplified `ElementList` by extending `ArrayIterator`.
|
|
38
|
+
* Removed `RecurrenceIterator` (use Recur\EventIterator instead).
|
|
39
|
+
* Now using php-cs-fixer to automatically enforce and correct CS.
|
|
40
|
+
* #233: The `+00:00` timezone is now recognized as UTC. (@c960657)
|
|
41
|
+
* #237: Added a `destroy()` method to all documents. This method breaks any
|
|
42
|
+
circular references, allowing PHP to free up memory.
|
|
43
|
+
* #197: Made accessing properties and objects by their name a lot faster. This
|
|
44
|
+
especially helps objects that have a lot of sub-components or properties,
|
|
45
|
+
such as large iCalendar objects.
|
|
46
|
+
* #197: The `$children` property on components has been changed from `public`
|
|
47
|
+
to `protected`. Use the `children()` method instead to get a flat list of
|
|
48
|
+
objects.
|
|
49
|
+
* #244: The `Float` and `Integer` classes have been renamed to `FloatValue`
|
|
50
|
+
and `IntegerValue` to allow PHP 7 compatibility.
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
3.4.7 (2015-09-04)
|
|
54
|
+
------------------
|
|
55
|
+
|
|
56
|
+
* #253: Handle `isInTimeRange` for recurring events that have 0 valid
|
|
57
|
+
instances. (@DominikTo, @migrax).
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
3.4.6 (2015-08-06)
|
|
61
|
+
------------------
|
|
62
|
+
|
|
63
|
+
* #250: Recurring all-day events are incorrectly included in time range
|
|
64
|
+
requests when not using UTC in the time range. (@armin-hackmann)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
3.4.5 (2015-06-02)
|
|
68
|
+
------------------
|
|
69
|
+
|
|
70
|
+
* #229: Converting vcards from 3.0 to 4.0 that contained a `LANG` property
|
|
71
|
+
would throw an error.
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
3.4.4 (2015-05-27)
|
|
75
|
+
------------------
|
|
76
|
+
|
|
77
|
+
* #228: Fixed a 'party crasher' bug in the iTip broker. This would break
|
|
78
|
+
scheduling in some cases.
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
3.4.3 (2015-05-19)
|
|
82
|
+
------------------
|
|
83
|
+
|
|
84
|
+
* #219: Corrected validation of `EXDATE` properties with more than one value.
|
|
85
|
+
* #212: `BYSETPOS` with values below `-1` was broken and could cause infinite
|
|
86
|
+
loops.
|
|
87
|
+
* #211: Fix `BYDAY=-5TH` in recurrence iterator. (@lindquist)
|
|
88
|
+
* #216: `ENCODING` parameter is now validated for all document types.
|
|
89
|
+
* #217: Initializing vCard `DATE` objects with a PHP DateTime object will now
|
|
90
|
+
work correctly. (@thomascube)
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
3.4.2 (2015-02-25)
|
|
94
|
+
------------------
|
|
95
|
+
|
|
96
|
+
* #210: iTip: Replying to an event without a master event was broken.
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
3.4.1 (2015-02-24)
|
|
100
|
+
------------------
|
|
101
|
+
|
|
102
|
+
* A minor change to ensure that unittests work correctly in the sabre/dav
|
|
103
|
+
test-suite.
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
3.4.0 (2015-02-23)
|
|
107
|
+
------------------
|
|
108
|
+
|
|
109
|
+
* #196: Made parsing recurrence rules a lot faster on big calendars.
|
|
110
|
+
* Updated windows timezone mappings to latest unicode version.
|
|
111
|
+
* #202: Support for parsing and validating `VAVAILABILITY` components. (@Hywan)
|
|
112
|
+
* #195: PHP 5.3 compatibility in 'generatevcards' script. (@rickdenhaan)
|
|
113
|
+
* #205: Improving handling of multiple `EXDATE` when processing iTip changes.
|
|
114
|
+
(@armin-hackmann)
|
|
115
|
+
* #187: Fixed validator rules for `LAST-MODIFIED` properties.
|
|
116
|
+
* #188: Retain floating times when generating instances using
|
|
117
|
+
`Recur\EventIterator`.
|
|
118
|
+
* #203: Skip tests for timezones that are not supported on older PHP versions,
|
|
119
|
+
instead of a hard fail.
|
|
120
|
+
* #204: Dealing a bit better with vCard date-time values that contained
|
|
121
|
+
milliseconds. (which is normally invalid). (@armin-hackmann)
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
3.3.5 (2015-01-09)
|
|
125
|
+
------------------
|
|
126
|
+
|
|
127
|
+
* #168: Expanding calendars now removes objects with recurrence rules that
|
|
128
|
+
don't have a valid recurrence instance.
|
|
129
|
+
* #177: SCHEDULE-STATUS should not contain a reason phrase, only a status
|
|
130
|
+
code.
|
|
131
|
+
* #175: Parser can now read and skip the UTF-8 BOM.
|
|
132
|
+
* #179: Added `isFloating` to `DATE-TIME` properties.
|
|
133
|
+
* #179: Fixed jCal serialization of floating `DATE-TIME` properties.
|
|
134
|
+
* #173: vCard converter failed for `X-ABDATE` properties that had no
|
|
135
|
+
`X-ABLABEL`.
|
|
136
|
+
* #180: Added `PROFILE_CALDAV` and `PROFILE_CARDDAV` to enable validation rules
|
|
137
|
+
specific for CalDAV/CardDAV servers.
|
|
138
|
+
* #176: A missing `UID` is no longer an error, but a warning for the vCard
|
|
139
|
+
validator, unless `PROFILE_CARDDAV` is specified.
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
3.3.4 (2014-11-19)
|
|
143
|
+
------------------
|
|
144
|
+
|
|
145
|
+
* #154: Converting `ANNIVERSARY` to `X-ANNIVERSARY` and `X-ABDATE` and
|
|
146
|
+
vice-versa when converting to/from vCard 4.
|
|
147
|
+
* #154: It's now possible to easily select all vCard properties belonging to
|
|
148
|
+
a single group with `$vcard->{'ITEM1.'}` syntax. (@armin-hackmann)
|
|
149
|
+
* #156: Simpler way to check if a string is UTF-8. (@Hywan)
|
|
150
|
+
* Unittest improvements.
|
|
151
|
+
* #159: The recurrence iterator, freebusy generator and iCalendar DATE and
|
|
152
|
+
DATE-TIME properties can now all accept a reference timezone when working
|
|
153
|
+
floating times or all-day events.
|
|
154
|
+
* #159: Master events will no longer get a `RECURRENCE-ID` when expanding.
|
|
155
|
+
* #159: `RECURRENCE-ID` for all-day events will now be correct when expanding.
|
|
156
|
+
* #163: Added a `getTimeZone()` method to `VTIMEZONE` components.
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
3.3.3 (2014-10-09)
|
|
160
|
+
------------------
|
|
161
|
+
|
|
162
|
+
* #142: `CANCEL` and `REPLY` messages now include the `DTSTART` from the
|
|
163
|
+
original event.
|
|
164
|
+
* #143: `SCHEDULE-AGENT` on the `ORGANIZER` property is respected.
|
|
165
|
+
* #144: `PARTSTAT=NEEDS-ACTION` is now set for new invites, if no `PARTSTAT` is
|
|
166
|
+
set to support the inbox feature of iOS.
|
|
167
|
+
* #147: Bugs related to scheduling all-day events.
|
|
168
|
+
* #148: Ignore events that have attendees but no organizer.
|
|
169
|
+
* #149: Avoiding logging errors during timezone detection. This is a workaround
|
|
170
|
+
for a PHP bug.
|
|
171
|
+
* Support for "Line Islands Standard Time" windows timezone.
|
|
172
|
+
* #154: Correctly work around vCard parameters that have a value but no name.
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
3.3.2 (2014-09-19)
|
|
176
|
+
------------------
|
|
177
|
+
|
|
178
|
+
* Changed: iTip broker now sets RSVP status to false when replies are received.
|
|
179
|
+
* #118: iTip Message now has a `getScheduleStatus()` method.
|
|
180
|
+
* #119: Support for detecting 'significant changes'.
|
|
181
|
+
* #120: Support for `SCHEDULE-FORCE-SEND`.
|
|
182
|
+
* #121: iCal demands parameters containing the + sign to be quoted.
|
|
183
|
+
* #122: Don't generate REPLY messages for events that have been cancelled.
|
|
184
|
+
* #123: Added `SUMMARY` to iTip messages.
|
|
185
|
+
* #130: Incorrect validation rules for `RELATED` (should be `RELATED-TO`).
|
|
186
|
+
* #128: `ATTACH` in iCalendar is `URI` by default, not `BINARY`.
|
|
187
|
+
* #131: RRULE that doesn't provide a single valid instance now throws an
|
|
188
|
+
exception.
|
|
189
|
+
* #136: Validator rejects *all* control characters. We were missing a few.
|
|
190
|
+
* #133: Splitter objects will throw exceptions when receiving incompatible
|
|
191
|
+
objects.
|
|
192
|
+
* #127: Attendees who delete recurring event instances events they had already
|
|
193
|
+
declined earlier will no longer generate another reply.
|
|
194
|
+
* #125: Send CANCEL messages when ORGANIZER property gets deleted.
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
3.3.1 (2014-08-18)
|
|
198
|
+
------------------
|
|
199
|
+
|
|
200
|
+
* Changed: It's now possible to pass DateTime objects when using the magic
|
|
201
|
+
setters on properties. (`$event->DTSTART = new DateTime('now')`).
|
|
202
|
+
* #111: iTip Broker does not process attendee adding events to EXDATE.
|
|
203
|
+
* #112: EventIterator now sets TZID on RECURRENCE-ID.
|
|
204
|
+
* #113: Timezone support during creation of iTip REPLY messages.
|
|
205
|
+
* #114: VTIMEZONE is retained when generating new REQUEST objects.
|
|
206
|
+
* #114: Support for 'MAILTO:' style email addresses (in uppercase) in the iTip
|
|
207
|
+
broker. This improves evolution support.
|
|
208
|
+
* #115: Using REQUEST-STATUS from REPLY messages and now propegating that into
|
|
209
|
+
SCHEDULE-STATUS.
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
3.3.0 (2014-08-07)
|
|
213
|
+
------------------
|
|
214
|
+
|
|
215
|
+
* We now use PSR-4 for the directory structure. This means that everything
|
|
216
|
+
that was used to be in the `lib/Sabre/VObject` directory is now moved to
|
|
217
|
+
`lib/`. If you use composer to load this library, you shouldn't have to do
|
|
218
|
+
anything about that though.
|
|
219
|
+
* VEVENT now get populated with a DTSTAMP and UID property by default.
|
|
220
|
+
* BC Break: Removed the 'includes.php' file. Use composer instead.
|
|
221
|
+
* #103: Added support for processing [iTip][iTip] messages. This allows a user
|
|
222
|
+
to parse incoming iTip messages and apply the result on existing calendars,
|
|
223
|
+
or automatically generate invites/replies/cancellations based on changes that
|
|
224
|
+
a user made on objects.
|
|
225
|
+
* #75, #58, #18: Fixes related to overriding the first event in recurrences.
|
|
226
|
+
* Added: VCalendar::getBaseComponent to find the 'master' component in a
|
|
227
|
+
calendar.
|
|
228
|
+
* #51: Support for iterating RDATE properties.
|
|
229
|
+
* Fixed: Issue #101: RecurrenceIterator::nextMonthly() shows events that are
|
|
230
|
+
excluded events with wrong time
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
3.2.4 (2014-07-14)
|
|
234
|
+
------------------
|
|
235
|
+
|
|
236
|
+
* Added: Issue #98. The VCardConverter now takes `X-APPLE-OMIT-YEAR` into
|
|
237
|
+
consideration when converting between vCard 3 and 4.
|
|
238
|
+
* Fixed: Issue #96. Some support for Yahoo's broken vcards.
|
|
239
|
+
* Fixed: PHP 5.3 support was broken in the cli tool.
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
3.2.3 (2014-06-12)
|
|
243
|
+
------------------
|
|
244
|
+
|
|
245
|
+
* Validator now checks if DUE and DTSTART are of the same type in VTODO, and
|
|
246
|
+
ensures that DUE is always after DTSTART.
|
|
247
|
+
* Removed documentation from source repository, to http://sabre.io/vobject/
|
|
248
|
+
* Expanded the vobject cli tool validation output to make it easier to find
|
|
249
|
+
issues.
|
|
250
|
+
* Fixed: vobject repair. It was not working for iCalendar objects.
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
3.2.2 (2014-05-07)
|
|
254
|
+
------------------
|
|
255
|
+
|
|
256
|
+
* Minor tweak in unittests to make it run on PHP 5.5.12. Json-prettifying
|
|
257
|
+
slightly changed which caused the test to fail.
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
3.2.1 (2014-05-03)
|
|
261
|
+
------------------
|
|
262
|
+
|
|
263
|
+
* Minor tweak to make the unittests run with the latest hhvm on travis.
|
|
264
|
+
* Updated timezone definitions.
|
|
265
|
+
* Updated copyright links to point to http://sabre.io/
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
3.2.0 (2014-04-02)
|
|
269
|
+
------------------
|
|
270
|
+
|
|
271
|
+
* Now hhvm compatible!
|
|
272
|
+
* The validator can now detect a _lot_ more problems. Many rules for both
|
|
273
|
+
iCalendar and vCard were added.
|
|
274
|
+
* Added: bin/generate_vcards, a utility to generate random vcards for testing
|
|
275
|
+
purposes. Patches are welcome to add more data.
|
|
276
|
+
* Updated: Windows timezone mapping to latest version from unicode.org
|
|
277
|
+
* Changed: The timezone maps are now loaded in from external files, in
|
|
278
|
+
lib/Sabre/VObject/timezonedata.
|
|
279
|
+
* Added: Fixing badly encoded URL's from google contacts vcards.
|
|
280
|
+
* Fixed: Issue #68. Couldn't decode properties ending in a colon.
|
|
281
|
+
* Fixed: Issue #72. RecurrenceIterator should respect timezone in the UNTIL
|
|
282
|
+
clause.
|
|
283
|
+
* Fixed: Issue #67. BYMONTH limit on DAILY recurrences.
|
|
284
|
+
* Fixed: Issue #26. Return a more descriptive error when coming across broken
|
|
285
|
+
BYDAY rules.
|
|
286
|
+
* Fixed: Issue #28. Incorrect timezone detection for some timezones.
|
|
287
|
+
* Fixed: Issue #70. Casting a parameter with a null value to string would fail.
|
|
288
|
+
* Added: Support for rfc6715 and rfc6474.
|
|
289
|
+
* Added: Support for DateTime objects in the VCard DATE-AND-OR-TIME property.
|
|
290
|
+
* Added: UUIDUtil, for easily creating unique identifiers.
|
|
291
|
+
* Fixed: Issue #83. Creating new VALUE=DATE objects using php's DateTime.
|
|
292
|
+
* Fixed: Issue #86. Don't go into an infinite loop when php errors are
|
|
293
|
+
disabled and an invalid file is read.
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
3.1.4 (2014-03-30)
|
|
297
|
+
------------------
|
|
298
|
+
|
|
299
|
+
* Fixed: Issue #87: Several compatibility fixes related to timezone handling
|
|
300
|
+
changes in PHP 5.5.10.
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
3.1.3 (2013-10-02)
|
|
304
|
+
------------------
|
|
305
|
+
|
|
306
|
+
* Fixed: Support from properties from draft-daboo-valarm-extensions-04. Issue
|
|
307
|
+
#56.
|
|
308
|
+
* Fixed: Issue #54. Parsing a stream of multiple vcards separated by more than
|
|
309
|
+
one newline. Thanks @Vedmak for the patch.
|
|
310
|
+
* Fixed: Serializing vcard 2.1 parameters with no name caused a literal '1' to
|
|
311
|
+
be inserted.
|
|
312
|
+
* Added: VCardConverter removed properties that are no longer supported in vCard
|
|
313
|
+
4.0.
|
|
314
|
+
* Added: vCards with a minimum number of values (such as N), but don't have that
|
|
315
|
+
many, are now automatically padded with empty components.
|
|
316
|
+
* Added: The vCard validator now also checks for a minimum number of components,
|
|
317
|
+
and has the ability to repair these.
|
|
318
|
+
* Added: Some support for vCard 2.1 in the VCard converter, to upgrade to vCard
|
|
319
|
+
3.0 or 4.0.
|
|
320
|
+
* Fixed: Issue 60 Use Document::$componentMap when instantiating the top-level
|
|
321
|
+
VCalendar and VCard components.
|
|
322
|
+
* Fixed: Issue 62: Parsing iCalendar parameters with no value.
|
|
323
|
+
* Added: --forgiving option to vobject utility.
|
|
324
|
+
* Fixed: Compound properties such as ADR were not correctly split up in vCard
|
|
325
|
+
2.1 quoted printable-encoded properties.
|
|
326
|
+
* Fixed: Issue 64: Encoding of binary properties of converted vCards. Thanks
|
|
327
|
+
@DominikTo for the patch.
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
3.1.2 (2013-08-13)
|
|
331
|
+
------------------
|
|
332
|
+
|
|
333
|
+
* Fixed: Setting correct property group on VCard conversion
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
3.1.1 (2013-08-02)
|
|
337
|
+
------------------
|
|
338
|
+
|
|
339
|
+
* Fixed: Issue #53. A regression in RecurrenceIterator.
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
3.1.0 (2013-07-27)
|
|
343
|
+
------------------
|
|
344
|
+
|
|
345
|
+
* Added: bad-ass new cli debugging utility (in bin/vobject).
|
|
346
|
+
* Added: jCal and jCard parser.
|
|
347
|
+
* Fixed: URI properties should not escape ; and ,.
|
|
348
|
+
* Fixed: VCard 4 documents now correctly use URI as a default value-type for
|
|
349
|
+
PHOTO and others. BINARY no longer exists in vCard 4.
|
|
350
|
+
* Added: Utility to convert between 2.1, 3.0 and 4.0 vCards.
|
|
351
|
+
* Added: You can now add() multiple parameters to a property in one call.
|
|
352
|
+
* Added: Parameter::has() for easily checking if a parameter value exists.
|
|
353
|
+
* Added: VCard::preferred() to find a preferred email, phone number, etc for a
|
|
354
|
+
contact.
|
|
355
|
+
* Changed: All $duration properties are now public.
|
|
356
|
+
* Added: A few validators for iCalendar documents.
|
|
357
|
+
* Fixed: Issue #50. RecurrenceIterator gives incorrect result when exception
|
|
358
|
+
events are out of order in the iCalendar file.
|
|
359
|
+
* Fixed: Issue #48. Overridden events in the recurrence iterator that were past
|
|
360
|
+
the UNTIL date were ignored.
|
|
361
|
+
* Added: getDuration for DURATION values such as TRIGGER. Thanks to
|
|
362
|
+
@SimonSimCity.
|
|
363
|
+
* Fixed: Issue #52. vCard 2.1 parameters with no name may lose values if there's
|
|
364
|
+
more than 1. Thanks to @Vedmak.
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
3.0.0 (2013-06-21)
|
|
368
|
+
------------------
|
|
369
|
+
|
|
370
|
+
* Fixed: includes.php file was still broken. Our tool to generate it had some
|
|
371
|
+
bugs.
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
3.0.0-beta4 (2013-06-21)
|
|
375
|
+
------------------------
|
|
376
|
+
|
|
377
|
+
* Fixed: includes.php was no longer up to date.
|
|
378
|
+
|
|
379
|
+
|
|
380
|
+
3.0.0-beta3 (2013-06-17)
|
|
381
|
+
------------------------
|
|
382
|
+
|
|
383
|
+
* Added: OPTION_FORGIVING now also allows slashes in property names.
|
|
384
|
+
* Fixed: DateTimeParser no longer fails on dates with years < 1000 & > 4999
|
|
385
|
+
* Fixed: Issue 36: Workaround for the recurrenceiterator and caldav events with
|
|
386
|
+
a missing base event.
|
|
387
|
+
* Fixed: jCard encoding of TIME properties.
|
|
388
|
+
* Fixed: jCal encoding of REQUEST-STATUS, GEO and PERIOD values.
|
|
389
|
+
|
|
390
|
+
|
|
391
|
+
3.0.0-beta2 (2013-06-10)
|
|
392
|
+
------------------------
|
|
393
|
+
|
|
394
|
+
* Fixed: Corrected includes.php file.
|
|
395
|
+
* Fixed: vCard date-time parser supported extended-format dates as well.
|
|
396
|
+
* Changed: Properties have been moved to an ICalendar or VCard directory.
|
|
397
|
+
* Fixed: Couldn't parse vCard 3 extended format dates and times.
|
|
398
|
+
* Fixed: Couldn't export jCard DATE values correctly.
|
|
399
|
+
* Fixed: Recursive loop in ICalendar\DateTime property.
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
3.0.0-beta1 (2013-06-07)
|
|
403
|
+
------------------------
|
|
404
|
+
|
|
405
|
+
* Added: jsonSerialize() for creating jCal and jCard documents.
|
|
406
|
+
* Added: helper method to parse vCard dates and times.
|
|
407
|
+
* Added: Specialized classes for FLOAT, LANGUAGE-TAG, TIME, TIMESTAMP,
|
|
408
|
+
DATE-AND-OR-TIME, CAL-ADDRESS, UNKNOWN and UTC-OFFSET properties.
|
|
409
|
+
* Removed: CommaSeparatedText property. Now included into Text.
|
|
410
|
+
* Fixed: Multiple parameters with the same name are now correctly encoded.
|
|
411
|
+
* Fixed: Parameter values containing a comma are now enclosed in double-quotes.
|
|
412
|
+
* Fixed: Iterating parameter values should now fully work as expected.
|
|
413
|
+
* Fixed: Support for vCard 2.1 nameless parameters.
|
|
414
|
+
* Changed: $valueMap, $componentMap and $propertyMap now all use fully-qualified
|
|
415
|
+
class names, so they are actually overridable.
|
|
416
|
+
* Fixed: Updating DATE-TIME to DATE values now behaves like expected.
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
3.0.0-alpha4 (2013-05-31)
|
|
420
|
+
-------------------------
|
|
421
|
+
|
|
422
|
+
* Added: It's now possible to send parser options to the splitter classes.
|
|
423
|
+
* Added: A few tweaks to improve component and property creation.
|
|
424
|
+
|
|
425
|
+
|
|
426
|
+
3.0.0-alpha3 (2013-05-13)
|
|
427
|
+
-------------------------
|
|
428
|
+
|
|
429
|
+
* Changed: propertyMap, valueMap and componentMap are now static properties.
|
|
430
|
+
* Changed: Component::remove() will throw an exception when trying to a node
|
|
431
|
+
that's not a child of said component.
|
|
432
|
+
* Added: Splitter objects are now faster, line numbers are accurately reported
|
|
433
|
+
and use less memory.
|
|
434
|
+
* Added: MimeDir parser can now continue parsing with the same stream buffer.
|
|
435
|
+
* Fixed: vobjectvalidate.php is operational again.
|
|
436
|
+
* Fixed: \r is properly stripped in text values.
|
|
437
|
+
* Fixed: QUOTED-PRINTABLE is now correctly encoded as well as encoded, for
|
|
438
|
+
vCards 2.1.
|
|
439
|
+
* Fixed: Parser assumes vCard 2.1, if no version was supplied.
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
3.0.0-alpha2 (2013-05-22)
|
|
443
|
+
-------------------------
|
|
444
|
+
|
|
445
|
+
* Fixed: vCard URL properties were referencing a non-existant class.
|
|
446
|
+
|
|
447
|
+
|
|
448
|
+
3.0.0-alpha1 (2013-05-21)
|
|
449
|
+
-------------------------
|
|
450
|
+
|
|
451
|
+
* Fixed: Now correctly dealing with escaping of properties. This solves the
|
|
452
|
+
problem with double-backslashes where they don't belong.
|
|
453
|
+
* Added: Easy support for properties with more than one value, using setParts
|
|
454
|
+
and getParts.
|
|
455
|
+
* Added: Support for broken 2.1 vCards produced by microsoft.
|
|
456
|
+
* Added: Automatically decoding quoted-printable values.
|
|
457
|
+
* Added: Automatically decoding base64 values.
|
|
458
|
+
* Added: Decoding RFC6868 parameter values (uses ^ as an escape character).
|
|
459
|
+
* Added: Fancy new MimeDir parser that can also parse streams.
|
|
460
|
+
* Added: Automatically mapping many, many properties to a property-class with
|
|
461
|
+
specialized API's.
|
|
462
|
+
* Added: remove() method for easily removing properties and sub-components
|
|
463
|
+
components.
|
|
464
|
+
* Changed: Components, Properties and Parameters can no longer be created with
|
|
465
|
+
Component::create, Property::create and Parameter::create. They must instead
|
|
466
|
+
be created through the root component. (A VCalendar or VCard object).
|
|
467
|
+
* Changed: API for DateTime properties has slightly changed.
|
|
468
|
+
* Changed: the ->value property is now protected everywhere. Use getParts() and
|
|
469
|
+
getValue() instead.
|
|
470
|
+
* BC Break: No support for mac newlines (\r). Never came across these anyway.
|
|
471
|
+
* Added: add() method to the Property class.
|
|
472
|
+
* Added: It's now possible to easy set multi-value properties as arrays.
|
|
473
|
+
* Added: When setting date-time properties you can just pass PHP's DateTime
|
|
474
|
+
object.
|
|
475
|
+
* Added: New components automatically get a bunch of default properties, such as
|
|
476
|
+
VERSION and CALSCALE.
|
|
477
|
+
* Added: You can add new sub-components much quicker with the magic setters, and
|
|
478
|
+
add() method.
|
|
479
|
+
|
|
480
|
+
|
|
481
|
+
2.1.7 (2015-01-21)
|
|
482
|
+
------------------
|
|
483
|
+
|
|
484
|
+
* Fixed: Issue #94, a workaround for bad escaping of ; and , in compound
|
|
485
|
+
properties. It's not a full solution, but it's an improvement for those
|
|
486
|
+
stuck in the 2.1 versions.
|
|
487
|
+
|
|
488
|
+
|
|
489
|
+
2.1.6 (2014-12-10)
|
|
490
|
+
------------------
|
|
491
|
+
|
|
492
|
+
* Fixed: Minor change to make sure that unittests succeed on every PHP version.
|
|
493
|
+
|
|
494
|
+
|
|
495
|
+
2.1.5 (2014-06-03)
|
|
496
|
+
------------------
|
|
497
|
+
|
|
498
|
+
* Fixed: #94: Better parameter escaping.
|
|
499
|
+
* Changed: Documentation cleanups.
|
|
500
|
+
|
|
501
|
+
|
|
502
|
+
2.1.4 (2014-03-30)
|
|
503
|
+
------------------
|
|
504
|
+
|
|
505
|
+
* Fixed: Issue #87: Several compatibility fixes related to timezone handling
|
|
506
|
+
changes in PHP 5.5.10.
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
2.1.3 (2013-10-02)
|
|
510
|
+
------------------
|
|
511
|
+
|
|
512
|
+
* Fixed: Issue #55. \r must be stripped from property values.
|
|
513
|
+
* Fixed: Issue #65. Putting quotes around parameter values that contain a colon.
|
|
514
|
+
|
|
515
|
+
|
|
516
|
+
2.1.2 (2013-08-02)
|
|
517
|
+
------------------
|
|
518
|
+
|
|
519
|
+
* Fixed: Issue #53. A regression in RecurrenceIterator.
|
|
520
|
+
|
|
521
|
+
|
|
522
|
+
2.1.1 (2013-07-27)
|
|
523
|
+
------------------
|
|
524
|
+
|
|
525
|
+
* Fixed: Issue #50. RecurrenceIterator gives incorrect result when exception
|
|
526
|
+
events are out of order in the iCalendar file.
|
|
527
|
+
* Fixed: Issue #48. Overridden events in the recurrence iterator that were past
|
|
528
|
+
the UNTIL date were ignored.
|
|
529
|
+
|
|
530
|
+
|
|
531
|
+
2.1.0 (2013-06-17)
|
|
532
|
+
------------------
|
|
533
|
+
|
|
534
|
+
* This version is fully backwards compatible with 2.0.\*. However, it contains a
|
|
535
|
+
few new API's that mimic the VObject 3 API. This allows it to be used a
|
|
536
|
+
'bridge' version. Specifically, this new version exists so SabreDAV 1.7 and
|
|
537
|
+
1.8 can run with both the 2 and 3 versions of this library.
|
|
538
|
+
* Added: Property\DateTime::hasTime().
|
|
539
|
+
* Added: Property\MultiDateTime::hasTime().
|
|
540
|
+
* Added: Property::getValue().
|
|
541
|
+
* Added: Document class.
|
|
542
|
+
* Added: Document::createComponent and Document::createProperty.
|
|
543
|
+
* Added: Parameter::getValue().
|
|
544
|
+
|
|
545
|
+
|
|
546
|
+
2.0.7 (2013-03-05)
|
|
547
|
+
------------------
|
|
548
|
+
|
|
549
|
+
* Fixed: Microsoft re-uses their magic numbers for different timezones,
|
|
550
|
+
specifically id 2 for both Sarajevo and Lisbon). A workaround was added to
|
|
551
|
+
deal with this.
|
|
552
|
+
|
|
553
|
+
|
|
554
|
+
2.0.6 (2013-02-17)
|
|
555
|
+
------------------
|
|
556
|
+
|
|
557
|
+
* Fixed: The reader now properly parses parameters without a value.
|
|
558
|
+
|
|
559
|
+
|
|
560
|
+
2.0.5 (2012-11-05)
|
|
561
|
+
------------------
|
|
562
|
+
|
|
563
|
+
* Fixed: The FreeBusyGenerator is now properly using the factory methods for
|
|
564
|
+
creation of components and properties.
|
|
565
|
+
|
|
566
|
+
|
|
567
|
+
2.0.4 (2012-11-02)
|
|
568
|
+
------------------
|
|
569
|
+
|
|
570
|
+
* Added: Known Lotus Notes / Domino timezone id's.
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
2.0.3 (2012-10-29)
|
|
574
|
+
------------------
|
|
575
|
+
|
|
576
|
+
* Added: Support for 'GMT+????' format in TZID's.
|
|
577
|
+
* Added: Support for formats like SystemV/EST5EDT in TZID's.
|
|
578
|
+
* Fixed: RecurrenceIterator now repairs recurrence rules where UNTIL < DTSTART.
|
|
579
|
+
* Added: Support for BYHOUR in FREQ=DAILY (@hollodk).
|
|
580
|
+
* Added: Support for BYHOUR and BYDAY in FREQ=WEEKLY.
|
|
581
|
+
|
|
582
|
+
|
|
583
|
+
2.0.2 (2012-10-06)
|
|
584
|
+
------------------
|
|
585
|
+
|
|
586
|
+
* Added: includes.php file, to load the entire library in one go.
|
|
587
|
+
* Fixed: A problem with determining alarm triggers for TODO's.
|
|
588
|
+
|
|
589
|
+
|
|
590
|
+
2.0.1 (2012-09-22)
|
|
591
|
+
------------------
|
|
592
|
+
|
|
593
|
+
* Removed: Element class. It wasn't used.
|
|
594
|
+
* Added: Basic validation and repair methods for broken input data.
|
|
595
|
+
* Fixed: RecurrenceIterator could infinitely loop when an INTERVAL of 0 was
|
|
596
|
+
specified.
|
|
597
|
+
* Added: A cli script that can validate and automatically repair vcards and
|
|
598
|
+
iCalendar objects.
|
|
599
|
+
* Added: A new 'Compound' property, that can automatically split up parts for
|
|
600
|
+
properties such as N, ADR, ORG and CATEGORIES.
|
|
601
|
+
* Added: Splitter classes, that can split up large objects (such as exports)
|
|
602
|
+
into individual objects (thanks @DominikTo and @armin-hackmann).
|
|
603
|
+
* Added: VFREEBUSY component, which allows easily checking wether timeslots are
|
|
604
|
+
available.
|
|
605
|
+
* Added: The Reader class now has a 'FORGIVING' option, which allows it to parse
|
|
606
|
+
properties with incorrect characters in the name (at this time, it just allows
|
|
607
|
+
underscores).
|
|
608
|
+
* Added: Also added the 'IGNORE_INVALID_LINES' option, to completely disregard
|
|
609
|
+
any invalid lines.
|
|
610
|
+
* Fixed: A bug in Windows timezone-id mappings for times created in Greenlands
|
|
611
|
+
timezone (sorry Greenlanders! I do care!).
|
|
612
|
+
* Fixed: DTEND was not generated correctly for VFREEBUSY reports.
|
|
613
|
+
* Fixed: Parser is at least 25% faster with real-world data.
|
|
614
|
+
|
|
615
|
+
|
|
616
|
+
2.0.0 (2012-08-08)
|
|
617
|
+
------------------
|
|
618
|
+
|
|
619
|
+
* VObject is now a separate project from SabreDAV. See the SabreDAV changelog
|
|
620
|
+
for version information before 2.0.
|
|
621
|
+
* New: VObject library now uses PHP 5.3 namespaces.
|
|
622
|
+
* New: It's possible to specify lists of parameters when constructing
|
|
623
|
+
properties.
|
|
624
|
+
* New: made it easier to construct the FreeBusyGenerator.
|
|
625
|
+
|
|
626
|
+
[iTip]: http://tools.ietf.org/html/rfc5546
|