5 See the changelog report for further details:
\r
7 http://m2.modularity.net.au/projects/ical4j/changelog.html
\r
13 - Added support for compatibility configuration via properties file
\r
15 - Numerous bug fixes
\r
20 - Added support for VVENUE
\r
27 - Third beta release.
\r
29 - Added UidGenerator to help with creation of unique UID properties
\r
31 - Added timezone aliases for deprecetated timezone ids
\r
33 - Added support for calculating the recurrence set for components, to unify
\r
34 PeriodRule and VEvent.getConsumedTime() functionality
\r
36 - Updated timezone definitions (Olson 2007f)
\r
43 - Second beta. General bug fixes. No changes to API. Retains binary
\r
44 compatibility with previous release.
\r
48 - First iCal4j beta. Expect little API changes until the final release, as
\r
49 binary compatibility should be maintained from this release onwards.
\r
54 - Updated commons logging to 1.1
\r
56 - Refactored logging to use local Log instances to avoid classloader issues
\r
58 - Updated parser to include word chars up to 255 (was 127)
\r
60 - Updated PeriodRule to check if date falls within period range (exclusive of
\r
61 period start and end)
\r
63 - Added commons codec dependency to support QUOTED-PRINTABLE encoding
\r
65 - Added compatibility hint for Lotus Notes
\r
67 - Additional component validation from RFC2445 implemented. Additional
\r
68 Compatibility Hint for relaxed validation, which skips this extra validation.
\r
70 - Provide a default DTSTAMP property in VEvent, VToDo, VJournal and VFreeBusy
\r
72 - Updated timzone definitions (Olson 2006g)
\r
79 - Added filter package to allow for filtering of collections
\r
80 based on filtering rules
\r
82 - Added convenience methods to calendar, components and properties
\r
84 - Fixed unfolding bug
\r
86 - Added support for relaxed parsing
\r
88 - Improved use of date formats in DateTime
\r
90 - Added replace() method to ParameterList
\r
92 - Added convenience method to calculate recurrences from a period
\r
94 - Removed quote character from escape patterns
\r
96 - Applied patches: #1434747
\r
98 - Added CalendarComponent superclass for components added directly to a
\r
99 calendar (removed redundant Component.isCalendarComponent() method)
\r
101 - Improved javadoc documentation
\r
103 - Improved caching of timezone observance onsets
\r
105 - Updated timezone definitions (Olson tzdata2006b)
\r
107 - Bug fixes: #1460795, #1446120, #1434734, #1434291
\r
112 - Improved support for experimental components
\r
114 - Added shared cache of default timezones for TimeZoneRegistryImpl
\r
116 - Applied fixes for the following bugs: #1353378, #1338857
\r
118 - Added override build option for including version name in JAR filename
\r
119 (see build.properties.sample)
\r
121 - Added convenience methods for retrieving UID properties from components
\r
123 - Updated timezone definitions to Olson 2005q
\r
125 - Date/Time instances now use the default Java timezone where no timezone
\r
126 information is specified (i.e. floating time).
\r
128 - Re-instated fix for retrieving consumed time whereby events partially intersect
\r
129 date range (affects VEvent/VFreeBusy)
\r
134 - Added support for experimental components (XComponent)
\r
136 - Now includes default timezone definitions (based on Olson timezone database)
\r
138 - Applied fixes for the following bugs: #1323762, #1338857
\r
140 - Applied the following patches: #1326774
\r
142 - Added rudimentary caching of timezone observance onsets to improve performance
\r
144 - Updated timezone registry for improved multi-threaded support
\r
146 - Added Dur.negate() convenience method
\r
151 - Applied fixes for bugs #1297830, #1300305, #1300728, #1305610, #1305634,
\r
154 - removed final modifiers in CalendarBuilder to allow for subclassing
\r
156 - added initial capacity constructors to lists for optimisations
\r
158 - fixed bug where DateProperty.setDate() was not correctly updating
\r
159 timezones of new date values
\r
161 - corrected bug in calculating negative durations
\r
163 - added precision rounding to date/date-time instances to fix comparisons
\r
164 and equality checking
\r
166 - added convenience methods for creating date/calendar instances
\r
168 - fixed recurrence rules to use correct timezones
\r
170 - Fixed potential NullPointerException in TimeZone
\r
172 - Fixed invalid date values in Date properties
\r
174 - Removed redundant methods in DateProperties and general clean up
\r
176 - TzId now correctly implements Escapable interface
\r
181 - Fixed DateProperties to correctly call super.validate() in validation
\r
183 - Fix applied to Recur.getMonthDayVariants() to correctly set the month of
\r
184 candidate dates. Also fixed to ignore dates prior to seed date.
\r
186 - Added encoding/decoding of URIs
\r
188 - Fixed parser to allow arbitrary ordering of VTIMEZONE observances/properties.
\r
190 - Now allows for additional whitespace between properties.
\r
192 - Introduced a custom timezone implementation for use with iCalendar objects
\r
194 - Introduced a timezone registry with support for alternative implementations
\r
199 - Reimplemented ParameterFactory and PropertyFactory with improved design
\r
201 - Added a duration type (Dur) for represeting durations in properties Duration
\r
202 and Trigger, and type Period. (DurationFormat deprecated).
\r
204 - ParameterList.add() now automatically removes from the list all other parameters
\r
207 - Added serialVersionUID to all properties, parameters and types
\r
209 - Added utc offset type (UtcOffset) for representing utc offsets (UtcOffsetFormat
\r
212 - Added date/date-time types (Date/DateTime) for representing date values
\r
213 (DateFormat/DateTimeFormat deprecated)
\r
215 - Removed DateList.setType() (use new DateList(DateList, Value) instead)
\r
217 - added equals()/hashcode() to Calendar, Component
\r
219 - refactored ComponentList/PropertyList to extend ArrayList
\r
221 - overridden List.add() for all lists extending ArrayList
\r
223 - created Escapable interface to replace setEscapable/isEscapable methods
\r
225 - ParameterFactory now returns constant instances where applicable
\r
227 - changes to VTimeZone.getVTimeZone() method signature
\r
229 - added Calendar.getVTimeZone()
\r
231 - added Constants utility class for working with constants.
\r
233 - CalendarBuilder replaces properties with constant instances where applicable
\r
235 - Checkstyle-based code clean up
\r
237 - Applied patches: #1234424, #1244945
\r
239 - Added Numbers.parseInt(), StringUtils.valueOf() utility methods.
\r
241 - Completed rewrite of Recur to use "candidate" dates to generate a list
\r
242 of applicable dates.
\r
244 - Date-based properties refactored to use superclasses.
\r
246 - VFreeBusy modified to only accept date-time ranges (may be revised later).
\r
251 - Merged DateRange functionality into Period
\r
253 - Merged DateRangeNormalizer functionality into PeriodList
\r
255 - Removed Calendar.getEventDateRanges() (use VFreeBusy request instead)
\r
257 - Removed VEvent.getDateRanges() (use VEvent.getConsumedTime() instead)
\r
259 - Removed VEvent.getRecurringStartDates() (use Recur.getDates() instead)
\r
261 - Applied patches where possible: #1197119, #1191253, #1185766 - thanks tobli
\r
263 - Default charset for CalendarBuilder and CalendarOutputter now UTF-8 (as per
\r
264 RFC2445, section 4.1.4)
\r
266 - Applied patch from bug #1203990 to Recur.getAbsWeekDays()
\r
271 - Redefined parameter and property constants to class instances rather
\r
272 than strings. This is done for efficiency where class instances are immutable
\r
273 once created. Note: this may cause incompatibilities with existing code!
\r
275 - fixed bug in parsing periods
\r
277 - fixed bug in TimeZoneUtils for non-DST timezones
\r
279 - added support for removal of extraneous newlines between components in the
\r
280 default parser implementation (KOrganizer generates such files)
\r
282 - fixed bug in parsing free time where durations are specified
\r
284 - Various constants reimplemented as typed instances (as opposed to strings)
\r
286 NOTE: This may break existing code based on earlier releases! Please check
\r
287 your usage of the following classes:
\r
289 * net.fortuna.ical4j.model.WeekDay
\r
290 * net.fortuna.ical4j.model.parameter.CuType
\r
291 * net.fortuna.ical4j.model.parameter.Encoding
\r
292 * net.fortuna.ical4j.model.parameter.FbType
\r
293 * net.fortuna.ical4j.model.parameter.PartStat
\r
294 * net.fortuna.ical4j.model.parameter.Range
\r
295 * net.fortuna.ical4j.model.parameter.Related
\r
296 * net.fortuna.ical4j.model.parameter.RelType
\r
297 * net.fortuna.ical4j.model.parameter.Role
\r
298 * net.fortuna.ical4j.model.parameter.Rsvp
\r
299 * net.fortuna.ical4j.model.parameter.Value
\r
300 * net.fortuna.ical4j.model.property.Action
\r
301 * net.fortuna.ical4j.model.property.CalScale
\r
302 * net.fortuna.ical4j.model.property.Clazz
\r
303 * net.fortuna.ical4j.model.property.Method
\r
304 * net.fortuna.ical4j.model.property.Priority
\r
305 * net.fortuna.ical4j.model.property.Status
\r
306 * net.fortuna.ical4j.model.property.Transp
\r
309 - Applied patch #1170060 by calibre. Provides improvements to retrieval of
\r
310 date ranges represented by recurring VEvents.
\r
312 - documentation updated to conform to XHTML 1.0
\r
314 - added Base64 encoding/decoding to Attach property
\r
319 - Better support and usability for recurrence rules. (see
\r
320 extensive changes to Recur class)
\r
322 - Convenience constructors for components VAlarm, VEvent, VFreeBusy, VJournal,
\r
323 and VToDo should make it easier to construct standard components.
\r
325 - Further validation fine-tuning to ensure some properties don't occur where
\r
328 - Fixed support for TRANSP property, which was previously being ignored by the
\r
334 - Model classes are now Serializable
\r
336 - Bug fixes related to VALARMs in VTODOs (thanks twinkle!)
\r
338 - Added explicit serialVersionUID for Serializable implementors.
\r
340 - Added use of Log.isDebugEnabled() for performance reasons.
\r
342 - Added WeekDay class to better represent day patterns in recurrence rules.
\r
347 - Separated the calendar parser from the builder to allow different
\r
348 parser implementations to be used with iCal4j.
\r
350 - All properties are now mutable with default constructors.
\r
355 - Added special character escaping and parsing. NOTE: I've provided the ability
\r
356 to escape parameter values although I am unsure it is necessary (or allowed) by
\r
359 - Fixed bug whereby CalendarBuilder wasn't reading quoted text correctly in all
\r
365 - Added convenience constructors to model classes (Calendar, Component, Property)
\r
367 - Initial design of support for RFC 2446 (transform) - NOTE: Not yet functional!
\r
369 - Fixed bug where builder would hang if calendar streams didn't
\r
370 contain an extra whitespace char at EOF
\r
375 - Fixed bug found in some property constructors where was not checking
\r
376 VALUE parameter correctly to identify DATE type for date-time values
\r
378 - Added validating option to CalendarOutputter to indicate whether to
\r
379 validate the Calendar before outputting
\r
381 - Added recurse parameter to calendar and component validate methods
\r
382 to indicate whether to validate children
\r
384 - Added license header to all source files (hence the increase in size
\r
385 of the distribution!)
\r
390 - Added UTC flag to date-time properties indicating how date-time values are formatted
\r
391 NOTE: This is not provided for all properties as some must be in UTC format.
\r
393 - Added convenience methods for creating VTimeZone instances.
\r
398 - Property and Parameter made abstract classes
\r
400 - Added getValue() implementation to all Property and Parameter sub-classes
\r
402 - Fixed FoldingWriter
\r
404 - Other fixes regarding string representations
\r
409 - Added commons logging support
\r
411 - Fixed problem with parsing quoted parameters
\r
413 - Finished implementation of Period, Recur types
\r
415 - Fix date/date-time parsing to check for VALUE parameter
\r
417 - Added format method to DurationFormat and UtcOffsetFormat
\r