icalendar 2.0.1 released
MaxM’s icalendar module is a python module that reads and writes data according to RFC2445, commonly known as iCalendar. I have been using it since the fall of 2005, and only discovered a small set of bugs in it. In fact, after the release of version 1.2 in November 2006, only two (and a half) bugs have been found and reported to email@example.com as far as I can see. Today I fixed those and released a new version. Well, in fact, I didn’t see one of the bug reports until I had made one release already, so I released two new versions today, 2.0 and 2.0.1.
Two and a half bugs normally doesn’t give you an increase in the major version number, but one of the bugs changes the API, so 2.0 is not compatible with 1.x if you use EXDATE or RDATE in your application.
I haven’t updated icalendars homepage, because I don’t remember how to do it, but they are available at pypi, and installable as eggs, so it shouldn’t matter much. So, go ahead and use this fine piece of software, and I’ll look forward to making a new release in 2010.
Changes in 2.0.1 compared to 1.2
- EXDATE and RDATE now returns a vDDDLists object, which contains a list of vDDDTypes objects. This is do that EXDATE and RDATE can contain lists of dates, as per RFC.
***Note!***: This change is incompatible with earlier behavior, so if you handle EXDATE and RDATE you will need to update your code.
- When creating a vDuration of -5 hours (which in itself is nonsensical nothing can last for a negative time period), the ical output of that was -P1DT19H, which is correct, but ugly. Now it’s ‘-PT5H’, which is prettier, and compatible with Korganizer that for some reason seems to think things can last less than no time.
- Renamed the UTC class to Utc, so it would not clash with the UTC object, since that rendered the UTC object unpicklable.
- Made the tests run under Python 2.5 and 2.6.