Version 0.9.17 of iCal4j is now available.
Most notable in this release is the inclusion of a default set of timezone definitions based on the Olson timezone database. This means you no longer need to provide your own VTIMEZONE definitions when creating new calendars and/or properties that require timezone support. In order to provide maximum compatibility timezone identifiers (TZIDs) are of the same form as those used by java.util.TimeZone (e.g. "Australia/Melbourne"), however you should be aware that there is no guarantee that the rules applied will be identical in both java.util.TimeZones and ical4j.TimeZones.
iCal4j 0.9.16 is now available.
This release includes a number of critical bug fixes, including some finishing touches on the new timezone support.
Release 0.9.15 of iCal4j is now available.
This release introduces a custom timezone implementation for iCalendar objects. Combined with timezone registry support this greatly improves and simplifies how iCal4j works with timezones.
Hopefully the timezone support provided in this release is the last piece in the puzzle for a complete implementation of RFC2445. Assuming this to be the case the focus will now be on further bug fixes and working towards freezing the API for a beta release.
The latest interim release of iCal4j is now available.
This release sees many changes to the API and I would recommend that you exercise caution with this release. I have specifically not called this an alpha release as I feel it requires more testing. I am releasing this now in line with the Open Source philosophy of "release early, release often".
Changes in this release include new types represnting dates/date-times and durations. Real timezone support is also included, but may require a little more work. ... read more
The seventh alpha release of iCal4j is now available.
This release sees the merging of the recently added DateRange/DateRangeNormalizer merged with Period/PeriodList for a more consistent and cleaner API. Calendar.getEventDateRanges(), VEvent.getDateRanges() and VEvent.getRecurringStartDates() have also been removed in favour of alternative methods (see CHANGELOG for details).
The default charset for iCal4j is now UTF-8 in accordance with RFC2445. Alternative charsets may still be used by providing your own reader/writer to CalendarBuilder/CalendarOutputter.... read more
Version 0.9.12 of iCal4j is now available.
Notable features of this release include:
- better parsing of files with extraneous new lines (i.e. KOrganizer files)
- Applied patch #1170060 (thanks Dustin)
- Added Base64 encoding to ATTACH property
- Reimplemented some constants as typed instances
Note that this last feature is most likely to have an effect on existing code, so I strongly urge you to check the CHANGELOG regarding which classes are affected. I realise its not ideal when API changes break existing code, but I think this will be a good change in the long run (i.e. more compact code and less room for errors).
When I first started developing iCal4j I was using a local CVS repository prior to release on SourceForge.net. Since making use of the public CVS repository provided by SourceForge I have been trying to maintain the local CVS and the SourceForge CVS through the use of patches (cvsdiff).
I've now decided to finally merge the two repositories together and just rely on the SourceForge repository. What this means is that the SourceForge CVS will now be even more up to date, and will allow me to prepare for a 1.1 branch for implementing RFC2446.... read more
Version 0.9.11 of iCal4j is now available.
Of interest in this release are the new component constructors that should make it easier to create standard components (i.e. VEvent, VToDo, etc.).
Also included in this release is improved support for recurrence rules. Note that recurrence support is probably only 90% complete, however it should work for simple recurrence rules.
Unfolding of non-standard iCalendar files has also been improved, whereby parsing of both Mozilla Calendar/Sunbird and KOrganizer files appears to work correctly now (see the README for details).
I have just created a new bundle for upload to maven repositories, so it should appear on ibiblio shortly.
This should make it easier for maven-based projects to locate the iCal4j dependency automatically (I think that's how it works..)
The latest "alpha" release of iCal4j is now available to download. In this release you will find support for serialisation of calendar models, VALARMs nested in VTODOs, introduction of a WeekDay class for recurrence rules, and general bug fixes.
Note that if you have been using serialisation support from CVS prior to this release you may experience incompatibilites as I have now introduced fixed serialVerionUIDs to Serializable implementors.
Version 0.9.9 of iCal4j has now been released.
Highlights of this release are the decoupling of the parser/builder to allow for alternate parser implementations to be used, and properties are now mutable.
With the addition of default constructors to most properties I have tried to apply default values where possible. This may need a little fine-tuning.
Well after great anticipation (!) I've finally uploaded iCal4j to the sourceforge public CVS. I've tagged the initial commit as version 0.9.8, although there may be some slight differences to the offical 0.9.8.
Let me know if something doesn't work and/or is missing and I'll rectify as soon as possible.
Version 0.9.8 of iCal4j is now available.
This release is the second milestone (alpha) release, and provides support for escaping special characters in free-form text content.
Version 0.9.7 of iCal4j has now been released. This release includes some minor bug fixes and additional constructors to make it easier to construct a calendar model.
This release has been earmarked as a milestone alpha release as I don't expect the basic design to change much from here to version 1.0. As usual I welcome any feedback on how to improve iCal4j and I will endeavour to include any suggested changes in the next release (at this stage hopefully a beta release).
Hot on the heels of 0.9.5, version 0.9.6 of iCal4j is now available. In this release you'll find some bug fixes and more "encouragement" to use calendar validation.
I expect the milestone (alpha) release to be not far off now (maybe one or two more versions) in which case I would expect the codebase to be near feature-complete for 1.0. So if you believe there's something lacking in the current feature set please let me know and I'll see what I can do.
iCal4j 0.9.5 has now been released.
This release aims to make it easier to work with VTimeZones, which previously required manual definition. Convenience methods have now been added to VTimeZone for obtaining a VTimeZone corresponding to a specified Java TimeZone. Pre-defined VTimeZones are also supported (see "Working with VTimeZones" in the Introduction page).
Support for changing the default output format for certain date-time properties has also been implemented.
Version 0.9.4 of iCal4j has now been released.
Ok, finally this is starting to resemble a fully functional library!
- updated string representations (as opposed to just storing what was parsed)
- fixed iCalendar Folding (so you can actually output valid iCalendar files that should be readable in other iCalendar-compliant software)
In fact a good way to test the compatibility of iCal4j is to run the CalendarOutputterTest JUnit test using your own iCalendar files. If you do this in eclipse (3.0RC) you can also compare the differences between the originally parsed file and what iCal4j will produce from it. I've found with my own tests that the only difference is with the folding (iCal4j consistently folds at the same number of characters, whereas it seems iCal has some weird way of folding.)... read more
Version 0.9.3 of iCal4j has now been released.
Again this version is an interim release working towards the ever-looming milestone release which should include tentatively complete functionality.
This release fixes some problems with the parsing of iCalendar files, completes implementation of required types, and adds commons logging support.
Also note that a binary distribution is now provided (in place of the solitary jar file), which includes all required libraries and supporting documentation.
Version 0.9.2 of iCal4j has now been released.
The main focus of this release was to add typed constructors to Property sub-classes, as without these constructors it is quite difficult to create new calendar properties.
A significant amount of refactoring has also taken place - hopefully the amount of refactoring required will lessen significantly as we get closer to a milestone release.
Version 0.9.1 is now available.
This is not really a milestone release in the true sense, as I didn't particularly have any milestones for this release. That said, there's some major changes in this release; refactoring, validation and data-typing make up the bulk of the changes.
Also note that much of this code is untested. Don't be surprised if you get nulls and exceptions when running the code. However, if you do still decide to attempt to use this library, I'd appreciate if you could let me know in a bug report what methods/classes simply don't work and I'll try to address them first.
Version 0.9 is now available.
With this release you should be able to parse iCalendar files and use the resulting model for basic access to data (i.e. primarily string values - limited typed data as yet!).