iCal4j
Home | | | Introduction | | | Wiki | | | Documentation | | | News | | | Support | | | Download | | | License

## Overview »

iCal4j is a Java library used to read and write iCalendar data streams as defined in RFC2445. The iCalendar standard provides a common data format used to store information about calendar-specific data such as events, appointments, to-do lists, etc. All of the popular calendaring tools, such as Lotus Notes, Outlook and Apple's iCal also support the iCalendar standard.

Providing both a parser and an object model, iCal4j allows you to either modify existing iCalendar data or create new data models. Validation is also provided to ensure the data maintains a state consistent with the specification.

## Popularity »

## Version Information »

0.9 | Initial release Primary focus: parsing iCalendar data stream and building object model Limited model manipulation
0.9.1 | Interim release Validation of object model Manipulation of object model
0.9.2 | Interim release Added typed constructors to Property classes Refactoring
0.9.3 | Interim release Finished implementation of types (Recur, Period) Bug fixes (see CHANGELOG for details)
0.9.4 | Interim release Implemented proper string representations for all entities Fixed folding and other changes (see CHANGELOG for details)
0.9.5 | Interim release Configurable output format for some date-time-based properties (UTC or local time) Added support for pre-defined VTimeZones
0.9.6 | Interim release Fixed bug with parsing certain date-time properties Added support for automatic validation
0.9.7 | Milestone (alpha) release Added convenience constructors to object model Initial design for suppporting RFC2446
0.9.8 | Second milestone (alpha) release Added support for special character escaping
0.9.9 | Third milestone (alpha) release All properties now mutable Decoupled parser/builder to allow for alternate parser implementations
0.9.10 | Fourth milestone (alpha) release Model classes now implement Serializable Bug fixes related to nested VALARMs in VTODOs
0.9.11 | Fifth alpha release Better support/usability for recurrence rules Convenience constructors added to most components Improved support for non-conformant folding of long lines See the CHANGELOG for further details
0.9.12 | Sixth alpha release Improved parsing of iCalendar files generated by KOrganizer Reimplemented some constants as typed instances Applied patch #1170060 Added Base64 encoding to ATTACH property See the CHANGELOG for further details
0.9.13 | Seventh alpha release "Normalised" DateRange/Period, DateRangeNormalizer/PeriodList and associated recurrance methods Default charset is now UTF-8 Applied patches #1197119, #1191253, #1185766, #1203990 See the CHANGELOG for further details
0.9.14 | Interim release Introduced Date, DateTime and Dur types More support for timezones Applied patches: #1234424, #1244945 Many more changes - see the CHANGELOG for further details
0.9.15 | Alpha release Introduced custom TimeZone implementation and TimeZone Registry support Added encoding/decoding of URIs More bug fixes - see the CHANGELOG for further details
0.9.16 | Interim release Includes a number of critical bug fixes (see CHANGELOG for further details)
0.9.17 | Interim release Now includes default timezone definitions (based on Olson timezone database) Support for experimental components Other bug fixes (see CHANGELOG for details)
0.9.18 | Alpha release Improved performance with regard to timezone lookups Date/Time instances now use the default Java timezone where no timezone information is specified (i.e. floating time). Updated timezone definitions Other bug fixes (see CHANGELOG for details)
0.9.19 | Alpha release Added filtering capabilities (net.fortuna.ical4j.filter) Added support for indexed components and properties (see IndexedComponentList and IndexedPropertyList Improved compatibility with Mozilla Calendar's invalid "X" property (see relaxed parsing) Additional convenience methods for Components and Properties Even more performance improvements with timezones and dates Updated timezone definitions Other bug fixes (see CHANGELOG for details)
0.9.20 | Alpha release Upgraded commons logging dependency to 1.1 Added commons codec support for encoding attachments Updated timezone definitions Other bug fixes (see CHANGELOG for details)
1.0 beta | Beta Release Clean up and consistency check of code
1.0 | Stable Release Complete implementation of RFC2445
1.1 | Stable Release Complete implementation of RFC2446
1.2 | Stable Release Complete implementation of RFC2447

## Dependencies »

Please see the Project Documentation for a list of dependencies.