mirror of
https://github.com/etesync/android
synced 2024-12-24 07:28:09 +00:00
432 lines
12 KiB
Plaintext
432 lines
12 KiB
Plaintext
|
==================
|
||
|
iCal4j - Changes
|
||
|
==================
|
||
|
|
||
|
See the changelog report for further details:
|
||
|
|
||
|
http://m2.modularity.net.au/projects/ical4j/changelog.html
|
||
|
|
||
|
==
|
||
|
|
||
|
1.0-beta5
|
||
|
|
||
|
- Added support for compatibility configuration via properties file
|
||
|
|
||
|
- Numerous bug fixes
|
||
|
|
||
|
|
||
|
1.0-beta4
|
||
|
|
||
|
- Added support for VVENUE
|
||
|
|
||
|
- Bug fixes
|
||
|
|
||
|
|
||
|
1.0-beta3
|
||
|
|
||
|
- Third beta release.
|
||
|
|
||
|
- Added UidGenerator to help with creation of unique UID properties
|
||
|
|
||
|
- Added timezone aliases for deprecetated timezone ids
|
||
|
|
||
|
- Added support for calculating the recurrence set for components, to unify
|
||
|
PeriodRule and VEvent.getConsumedTime() functionality
|
||
|
|
||
|
- Updated timezone definitions (Olson 2007f)
|
||
|
|
||
|
- Bug fixes.
|
||
|
|
||
|
|
||
|
1.0-beta2
|
||
|
|
||
|
- Second beta. General bug fixes. No changes to API. Retains binary
|
||
|
compatibility with previous release.
|
||
|
|
||
|
1.0-beta1
|
||
|
|
||
|
- First iCal4j beta. Expect little API changes until the final release, as
|
||
|
binary compatibility should be maintained from this release onwards.
|
||
|
|
||
|
|
||
|
0.9.20
|
||
|
|
||
|
- Updated commons logging to 1.1
|
||
|
|
||
|
- Refactored logging to use local Log instances to avoid classloader issues
|
||
|
|
||
|
- Updated parser to include word chars up to 255 (was 127)
|
||
|
|
||
|
- Updated PeriodRule to check if date falls within period range (exclusive of
|
||
|
period start and end)
|
||
|
|
||
|
- Added commons codec dependency to support QUOTED-PRINTABLE encoding
|
||
|
|
||
|
- Added compatibility hint for Lotus Notes
|
||
|
|
||
|
- Additional component validation from RFC2445 implemented. Additional
|
||
|
Compatibility Hint for relaxed validation, which skips this extra validation.
|
||
|
|
||
|
- Provide a default DTSTAMP property in VEvent, VToDo, VJournal and VFreeBusy
|
||
|
|
||
|
- Updated timzone definitions (Olson 2006g)
|
||
|
|
||
|
- More bug fixes.
|
||
|
|
||
|
|
||
|
0.9.19
|
||
|
|
||
|
- Added filter package to allow for filtering of collections
|
||
|
based on filtering rules
|
||
|
|
||
|
- Added convenience methods to calendar, components and properties
|
||
|
|
||
|
- Fixed unfolding bug
|
||
|
|
||
|
- Added support for relaxed parsing
|
||
|
|
||
|
- Improved use of date formats in DateTime
|
||
|
|
||
|
- Added replace() method to ParameterList
|
||
|
|
||
|
- Added convenience method to calculate recurrences from a period
|
||
|
|
||
|
- Removed quote character from escape patterns
|
||
|
|
||
|
- Applied patches: #1434747
|
||
|
|
||
|
- Added CalendarComponent superclass for components added directly to a
|
||
|
calendar (removed redundant Component.isCalendarComponent() method)
|
||
|
|
||
|
- Improved javadoc documentation
|
||
|
|
||
|
- Improved caching of timezone observance onsets
|
||
|
|
||
|
- Updated timezone definitions (Olson tzdata2006b)
|
||
|
|
||
|
- Bug fixes: #1460795, #1446120, #1434734, #1434291
|
||
|
|
||
|
|
||
|
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
|