Version 3.0.3:
--------------
* VTODO COMPLETED property can be a DATE-TIME or DATE (for backward compatibility)
* Improved recurrence iteration
Version 3.0.2:
--------------
* No longer attempt to detect the need for -DUSE_32BIT_TIME_T with MSVC
* New CMake option ICAL_BUILD_DOCS which can be used to disable the docs target
* Fix threading hang in BSD type systems (OpenBSD, MacOS,...)
* Build with Ninja improvements
Version 3.0.1:
--------------
* Built-in timezones updated to tzdata2017c
* Fix a multi-threaded deadlock in icaltimezone_load_builtin_timezone()
* Fix a CMake problem with parallel builds
Version 3.0.0:
--------------
* Relicense from MPL 1.0 to MPL 2.0 (keep dual license for LGPL v2.1)
* Requires CMake v3.1.0 or higher along with various CMake and buildsystem fixes
* Added a 'make uninstall'
* Fixed use-after-free issues and some memory leaks
* Built-in timezones updated to tzdata2017b
* More accurate VTIMEZONE generation when using the system time zone data (when
USE_BUILTIN_TZDATA=False)
* icalvalue_as_ical_string() returns "TRUE" (non-zero) or "FALSE" (zero) values only.
* New icalvalue.h convenience macros: ICAL_BOOLEAN_TRUE and ICAL_BOOLEAN_FALSE
* Better value type checking of property values when parsing
* icalvalue_new/set_date and icalvalue_new/set_datetime now enforce DATE and DATE-TIME
values respectively
* draft-ietf-calext-extensions (RFC 7986) support added
* Parameter values are now en/decoded per RFC 6868
* Removed is_utc from icaltimetype struct
* Set icaltimetype.zone to icaltimezone_get_utc_timezone() to change a time to UTC
* Use icaltime_is_utc() to check if a time is in UTC
* Added support for VPATCH component
* New publicly available functions:
+ icalproperty_set_parent (icalproperty_get_parent was already public)
+ icalvalue_get_parent (icalvalue_set_parent was already public)
+ icalparameter_set_parent
+ icalparameter_get_parent
+ icalvalue_new_datetimedate (DATE or DATE-TIME)
+ icalvalue_set_datetimedate
+ icalvalue_get_datetimedate
+ icalrecur_iterator_set_start
+ icalcomponent_normalize()
+ icalproperty_normalize()
* Removed deprecated functions:
+ icaltime_from_timet (use icaltime_from_timet_with_zone)
+ icaltime_start_day_of_week (use icaltime_start_day_week)
+ icalproperty_remove_parameter (use icalproperty_remove_parameter_by_kind)
+ icalproperty_string_to_enum (use icalproperty_kind_and_string_to_enum)
* Signature changed for functions:
+ VObject *Parse_MIME_FromFileName(const char *fname)
+ icalgauge *icalgauge_new_from_sql(const char *sql, int expand)
+ const char *icallangbind_property_eval_string(icalproperty *prop, const char *sep)
+ const char *icallangbind_property_eval_string_r(icalproperty *prop, const char *sep)
+ void set_zone_directory(const char *path)
+ icalcalendar *icalcalendar_new(const char *dir)
+ int icalrecur_expand_recurrence(const char *rule, time_t start, int count, time_t *array)
Version 2.0.0:
--------------
* WARNING: Version 2 IS NOT Binary Compatible with Older Versions
* Version 2 is Source Compatible with Older Versions
* Lots of source code scrubbing
* [New] RSCALE support (requires libicu from http://www.icu-project.org)
* [New] CalDAV attachment support (draft-ietf-calext-caldav-attachments)
* [New] Resurrect the Berkeley DB storage support
* [Bug] issue83: Incorrect recurrence generation for weekly pattern
* Handle RRULEs better
* Handle threading better