-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
328 lines (180 loc) · 9.53 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
==================
iCal4j - Changes
==================
0.9.18
- Improved support for experimental components
- Added shared cache of default timezones for TimeZoneRegistryImpl
- Applied fixes for the following bugs: #1353378, #1338857
- Added override build option for including version name in JAR filename
(see build.properties.sample)
- Added convenience methods for retrieving UID properties from components
- Updated timezone definitions to Olson 2005q
- Date/Time instances now use the default Java timezone where no timezone
information is specified (i.e. floating time).
- Re-instated fix for retrieving consumed time whereby events partially intersect
date range (affects VEvent/VFreeBusy)
0.9.17
- Added support for experimental components (XComponent)
- Now includes default timezone definitions (based on Olson timezone database)
- Applied fixes for the following bugs: #1323762, #1338857
- Applied the following patches: #1326774
- Added rudimentary caching of timezone observance onsets to improve performance
- Updated timezone registry for improved multi-threaded support
- Added Dur.negate() convenience method
0.9.16
- Applied fixes for bugs #1297830, #1300305, #1300728, #1305610, #1305634,
#1305655, #1305715
- removed final modifiers in CalendarBuilder to allow for subclassing
- added initial capacity constructors to lists for optimisations
- fixed bug where DateProperty.setDate() was not correctly updating
timezones of new date values
- corrected bug in calculating negative durations
- added precision rounding to date/date-time instances to fix comparisons
and equality checking
- added convenience methods for creating date/calendar instances
- fixed recurrence rules to use correct timezones
- Fixed potential NullPointerException in TimeZone
- Fixed invalid date values in Date properties
- Removed redundant methods in DateProperties and general clean up
- TzId now correctly implements Escapable interface
0.9.15
- Fixed DateProperties to correctly call super.validate() in validation
- Fix applied to Recur.getMonthDayVariants() to correctly set the month of
candidate dates. Also fixed to ignore dates prior to seed date.
- Added encoding/decoding of URIs
- Fixed parser to allow arbitrary ordering of VTIMEZONE observances/properties.
- Now allows for additional whitespace between properties.
- Introduced a custom timezone implementation for use with iCalendar objects
- Introduced a timezone registry with support for alternative implementations
0.9.14:
- Reimplemented ParameterFactory and PropertyFactory with improved design
- Added a duration type (Dur) for represeting durations in properties Duration
and Trigger, and type Period. (DurationFormat deprecated).
- ParameterList.add() now automatically removes from the list all other parameters
with the same name
- Added serialVersionUID to all properties, parameters and types
- Added utc offset type (UtcOffset) for representing utc offsets (UtcOffsetFormat
deprecated)
- Added date/date-time types (Date/DateTime) for representing date values
(DateFormat/DateTimeFormat deprecated)
- Removed DateList.setType() (use new DateList(DateList, Value) instead)
- added equals()/hashcode() to Calendar, Component
- refactored ComponentList/PropertyList to extend ArrayList
- overridden List.add() for all lists extending ArrayList
- created Escapable interface to replace setEscapable/isEscapable methods
- ParameterFactory now returns constant instances where applicable
- changes to VTimeZone.getVTimeZone() method signature
- added Calendar.getVTimeZone()
- added Constants utility class for working with constants.
- CalendarBuilder replaces properties with constant instances where applicable
- Checkstyle-based code clean up
- Applied patches: #1234424, #1244945
- Added Numbers.parseInt(), StringUtils.valueOf() utility methods.
- Completed rewrite of Recur to use "candidate" dates to generate a list
of applicable dates.
- Date-based properties refactored to use superclasses.
- VFreeBusy modified to only accept date-time ranges (may be revised later).
0.9.13:
- Merged DateRange functionality into Period
- Merged DateRangeNormalizer functionality into PeriodList
- Removed Calendar.getEventDateRanges() (use VFreeBusy request instead)
- Removed VEvent.getDateRanges() (use VEvent.getConsumedTime() instead)
- Removed VEvent.getRecurringStartDates() (use Recur.getDates() instead)
- Applied patches where possible: #1197119, #1191253, #1185766 - thanks tobli
- Default charset for CalendarBuilder and CalendarOutputter now UTF-8 (as per
RFC2445, section 4.1.4)
- Applied patch from bug #1203990 to Recur.getAbsWeekDays()
0.9.12:
- Redefined parameter and property constants to class instances rather
than strings. This is done for efficiency where class instances are immutable
once created. Note: this may cause incompatibilities with existing code!
- fixed bug in parsing periods
- fixed bug in TimeZoneUtils for non-DST timezones
- added support for removal of extraneous newlines between components in the
default parser implementation (KOrganizer generates such files)
- fixed bug in parsing free time where durations are specified
- Various constants reimplemented as typed instances (as opposed to strings)
NOTE: This may break existing code based on earlier releases! Please check
your usage of the following classes:
* net.fortuna.ical4j.model.WeekDay
* net.fortuna.ical4j.model.parameter.CuType
* net.fortuna.ical4j.model.parameter.Encoding
* net.fortuna.ical4j.model.parameter.FbType
* net.fortuna.ical4j.model.parameter.PartStat
* net.fortuna.ical4j.model.parameter.Range
* net.fortuna.ical4j.model.parameter.Related
* net.fortuna.ical4j.model.parameter.RelType
* net.fortuna.ical4j.model.parameter.Role
* net.fortuna.ical4j.model.parameter.Rsvp
* net.fortuna.ical4j.model.parameter.Value
* net.fortuna.ical4j.model.property.Action
* net.fortuna.ical4j.model.property.CalScale
* net.fortuna.ical4j.model.property.Clazz
* net.fortuna.ical4j.model.property.Method
* net.fortuna.ical4j.model.property.Priority
* net.fortuna.ical4j.model.property.Status
* net.fortuna.ical4j.model.property.Transp
- Applied patch #1170060 by calibre. Provides improvements to retrieval of
date ranges represented by recurring VEvents.
- documentation updated to conform to XHTML 1.0
- added Base64 encoding/decoding to Attach property
0.9.11:
- Better support and usability for recurrence rules. (see
extensive changes to Recur class)
- Convenience constructors for components VAlarm, VEvent, VFreeBusy, VJournal,
and VToDo should make it easier to construct standard components.
- Further validation fine-tuning to ensure some properties don't occur where
not applicable.
- Fixed support for TRANSP property, which was previously being ignored by the
CalendarBuilder.
0.9.10:
- Model classes are now Serializable
- Bug fixes related to VALARMs in VTODOs (thanks twinkle!)
- Added explicit serialVersionUID for Serializable implementors.
- Added use of Log.isDebugEnabled() for performance reasons.
- Added WeekDay class to better represent day patterns in recurrence rules.
0.9.9:
- Separated the calendar parser from the builder to allow different
parser implementations to be used with iCal4j.
- All properties are now mutable with default constructors.
0.9.8:
- Added special character escaping and parsing. NOTE: I've provided the ability
to escape parameter values although I am unsure it is necessary (or allowed) by
RFC2445.
- Fixed bug whereby CalendarBuilder wasn't reading quoted text correctly in all
cases.
0.9.7:
- Added convenience constructors to model classes (Calendar, Component, Property)
- Initial design of support for RFC 2446 (transform) - NOTE: Not yet functional!
- Fixed bug where builder would hang if calendar streams didn't
contain an extra whitespace char at EOF
0.9.6:
- Fixed bug found in some property constructors where was not checking
VALUE parameter correctly to identify DATE type for date-time values
- Added validating option to CalendarOutputter to indicate whether to
validate the Calendar before outputting
- Added recurse parameter to calendar and component validate methods
to indicate whether to validate children
- Added license header to all source files (hence the increase in size
of the distribution!)
0.9.5:
- Added UTC flag to date-time properties indicating how date-time values are formatted
NOTE: This is not provided for all properties as some must be in UTC format.
- Added convenience methods for creating VTimeZone instances.
0.9.4:
- Property and Parameter made abstract classes
- Added getValue() implementation to all Property and Parameter sub-classes
- Fixed FoldingWriter
- Other fixes regarding string representations
0.9.3:
- Added commons logging support
- Fixed problem with parsing quoted parameters
- Finished implementation of Period, Recur types
- Fix date/date-time parsing to check for VALUE parameter
- Added format method to DurationFormat and UtcOffsetFormat
0.9.2:
- Interim Release
0.9.1:
- Interim Release
0.9
- Initial Release