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 »

SourceForge.net Download Statistics

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.