tilia-vobject 4.0.0.pre.alpha2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|