Version 0.22, 15 Jan 01 ( cvs tag libical-0-22) ---------------------------------------------- Many improvements to the time routines in icaltime.c. I think that they actually make sense now. Note that there is an interface change with icaltime_from_timet() -- I removed the is_utc parameter, since all timet values are in UTC. Use icaltime_from_int() if you really want the old interface Major improvements to icalfileset. icalfileset_select now works and so does file locking. Minor revision to the documentation, but it does include a new section on file storage ( icalfileset ) and time ( icaltime.c) Lots of bug fixes and small patches. I improved the regression test in src/test/regression.c. It now have command line switches to select specific tests ( undocumentated, of course ) and more of the tests include asserts, so you can just run it without looking at the output. If the test runs without crashing, it is mostly OK. Version 0.21, 20 Nov 00 ( cvs tag libical-0-21) ---------------------------------------------- * icalmessage.c Many routines to create new ical messages. * icalspanlist.c Code to generate a list of the busy time f the VEVENTS in a set. Also includes routiens to generate free and busy lists from the spanlist, and to find the next free time after a given time. * icalvalue.c The STATUS property now has its own value type, STATUS, which holds the enumeration icalproperty_status. * icalrestriction.c Added more restrictions. Now handles mutual and exclusive consitions, and checks for the reight values in STATUS properties * icaltypes.c Added routine to create durationtype from string: icaldurationtype_from_string * icalcomponet.c Add sever get/set convienience routines to access and manipulate common component propoerties from the component interface. This eliminates the need to create a lot of temporary variables if you just want to change the start time of and event. * icalcomponent.c Added new routines to icalcomponent: _get_span -- returns the start and end times of the event in UTC _get_first_real_component -- return ref to VTODO, VEVENT or VJOURNAL * icalspanlist.c Added new class, icalspanlist, that generates a list of alternating busy and free times from an icalset. The class includes routines to gnerate rfc2445 busy and free lists, and to get the next avaliable busy or free time after a given time. Version 0.20D 3 Nov 00 ----------------------- Many miscelaneous tweaks to the build system More work to icalclassify. Aded routines to icaltime.c to convert to and from specific timezones in Olsen format ("America/Los_Angeles") Version 0.20 7 Sept 00 (cvs tag libical-0-20 ) ---------------------------------------------- Addedd icalclassify() which looks at a message and determine how to process it. Misc bug fixes and tweaks. Version 0.19 6 August 00 (cvs tag libical-0-19) ----------------------------------------------- Created a MIME parser in icalmime.c. This will take any complex MIME encapsulated message and return an icalcomponent with the same structure. Each MIME part is represented by a component of type X-LIC-MIMEPART. Added MIME partsing to stow.c Added external iterators to icalcomponent. See test_iterators() in test/regression.c Refactored icalcluster and icalstore into icalset, icalfileset and icaldirset, which have a pseudo inheritance relationship between them. Fixed more memory leaks. Version 0.18a 10 June 00 ( cvs tag libical-0-18a ) ----------------------------------------------- Did the final tweaks to stow.c, a program to recieve and store iMIP messages. Version 0.18 10 June 00 ( cvs tag libical-0-18 ) ----------------------------------------------- Added libicalvcal, which includes the Versit code for parsing vCal files and a routine (icalvcal_convert() ) that converts a vCal object to an iCal object. The test program is src/test/testvcal. Added marginally functional recurrence code. The curent code does not handle all of the examples in rfc2445 ( which are extracted in test-data/recur.txt ) but it can do all of the obvious cases. See the test program in src/test/recur.c for an example. In particular, the code cannot handle the integer values in BYDAY, nor negative integers in BYMONTH or BYMONTHDAY. It also cannot handle BYSETPOS. Moved some code to the examples directory and improved the comments. Did a little more work on the documentation in the doc directory. The documentation is in LyX source, but there is a text version in UsingLibical.txt Version 0.17 15 May 00 (cvs tag libical-0-17 ) --------------------------------------------- Fixed two bugs that added extraneous '/' to test values Fixed type in internal string for the COUNTER method Eliminated a memory leak in icalparser.c Version 0.16a 29 April 00 ---------------------------------------------- Fixed bug in icalvalue_new_from_string that caused METHOD value to choke on non standard input. Fixed a memory leak in icalparser_add_line -- failed to free 'line' Version 0.16 5 April 00 ( cvs tag libical-0-16) ---------------------------------------------- Now using automake. Substantial changes to the parser. New interfaces let you parser multiple components from a single stream by feading the parser object one line at a time. Added a STRING value type. this type is like TEXT, but does not backslash magic characters. It is used in PRODID and REQUEST-STATUS, where the '/' and ';' are literal. Added several convience functions for REQUEST-STATUS to icalenums.c Addedd a routine to icalcomponent to convert X-LIC errors to REQUEST-STATUS return values. Version 0.15a 5 Mar 00 (cvs tag libical-0-15a) --------------------- Experimented with CVS Fixed icalvalue_set_text to convert escaped characters into the proper values. Other minor code tweaks. Version 0.15 7 Feb 00 --------------------- Split the storage classess ( icalstore, icalcluster, icalcalendar ) into a seperate library, libicalss Implemented restriction checking in file icalrestrictions.c. The checking is not complete, but can handle the bulk of the restrictions described in RFC 2446. Created a new value type, METHOD. Changed METHOD property to use the new value. The METHOD value uses an enumeration. Version 0.14b ------------- Implemented parsing of RECUR values, although it does not handle BYDAY specs with numbers. Fixed error in icalparser_next_line that mangled lines longer than the temp buffer (1024 chars.) The temp buffer is now 80 chars, and it can handle (apparently) arbitrary length lines Fixed severe brokenness in a value, but I forgot which one. Cleaned cruft out of the distribution, so the tarfile is smaller. Version 0.14a 14 Jan 00 ----------------------- Fixed bug in ROLE parameter -- missing '-' in the text of allowed values Fixed bug in X-parameters Version 0.14 11 Jan 00 ---------------------- Fixed wrong value type for TRIGGER property Added Calendar object. Calendar is an aggregate of two stores and two clusters, and can store all of the inforamation associated with a calendar. icalcomponent_add_property and icalcomponent_add_component will complain if you try to add a component or property that is already part of an other component. The *_free routines wil complain if you try to free a linked component or property. More improvements to error handling. Parser is much more robust. Minor memory enhancements. Regression test runs without memory leaks. Version 0.13d 21Dec99 --------------------- Seperated perl interface and library Added autoconf support Scripts that generate derived properties, values and parameters now change source and header files inline. Changed icalstore to cluster all components with DTSTART in a month into a single file. This should reduce number of file accesses by a factor of 60. Ran code through Purify and fixed memory leaks. Version 0.13 16Nov99 --------------------- Yet more bug fixes! Yeah! Added better error handling. The Parser inserts X-LIC-*ERROR properties to warn of parsing errors. The imip source/sink programs in /src/imip is demonstrably functional. Version 0.12b 17Oct99 --------------------- More bug fixes, particularily in parse from string routines ICal::Store is mostly functional This is version is a checkpoint, not a release. Version 0.12a 10Oct99 --------------------- Expanded perl interface: Added 1/2 of Store module Fixed bugs Implemeted get_{first,next}_property Extended C interface Made get_{first,next}_property work properly Fixed bugs This is version is a checkpoint, not a release. Version 0.12 27Aug99 -------------------- Added a rudimentatry perl interface This is version is a checkpoint, not a release. Version 0.11 11Aug99 -------------------- Eliminated most use of flex/bison -- all parsing, except for the values, is done in C. Cleaned up memory leaks. Purify claims that I got them all. Moved all derived component/prop/param/value code ( in .inc / .h files) into main files ( icalcomponent.{c,h}, icalproperty.{c,h}, etc/ ) Implemented *_clone routines. Fixed a lot of bugs. Implemented more value types. Still unimplemeneted are BINARY and RECUR Included MacOS/Code Warior files from Graham Davison Version 0.10 8Jul99 ------------------- Eliminated shift/reduce and reduce/reduce conflicts in the parser. This version is almost feature complete -- it has the basic structure for all of the library's functionality, and it will only require implementing procedure shells and fixing bugs. I think that all of the hard work is done... Version 0.09a,b 3,7 Jul99 ------------------------- Various improvements to the parser, added some functionality. The parser code is mostly complete, and should be fully functional, except for a horde of bugs. Also added support for X-Properties. Version 0.09 25Jun99 -------------------- Added a parser in files src/comp/icalitip.{y,l} The lexer is mostly functional, but the parser is not. Version 0.08 2Jun99 -------------------- All files now have MPL licensing Implement enough of the code to perform some rudimentary testing Version 0.07 14May99 -------------------- Remove all interfaces that construct object from a string Moved most code back into comp directory Implemented C files for most headers -- usecases.c now links. Many improvements to generation scripts. Version 0.06 25Apr99 -------------------- Expanded distribution to include: Directory structure that can accomodate future expansion Several levels of Makefiles This CHANGES file Added headers for irip and parse modules Added several files with design information Added scripts that I had used to generate much of the ical header code. Split C headers from CC headers Added data for iTIP and iCAL component restrictions in restrictions.csv Version 0.05 11Apr99 ---------------------- Changes to ical headers Added derived Property classes. Improved the interface to the derived property and parameter classes Added derived component classes. Created usecases.c and ccusecases.cc to demonstrate use C++ interface compile Version 0.04 5Apr99 ------------------- Version 0.02 30Mar99 --------------------