Version 3.0.14 (05 February 2022):
----------------------------------
* icalvalue: Reset non-UTC icaltimetype::zone on set
* Fix icalcomponent_set_due not removing TZID when necessary
Version 3.0.13 (17 January 2022):
---------------------------------
* icalcomponent_get_dtend() return icaltime_null_time(), unless called on VEVENT, VAVAILABILITY or VFREEBUSY
* icalcomponent_get_duration() for VTODO calculate with DUE instead of DTEND
* Replace CMake FindBDB with FindBerleyDB (https://github.com/sum01/FindBerkele
Change log:
-----------------------------------
* Fix a libicalval crash in cleanVObject
* METHOD:DECLINECOUNTER must have DTEND or DURATION
* Handle if DTEND and DURATION are both missing
* Improved FindICU (copied from official CMake. see files in cmake/Kitware)
* Buildsystem fixes (especially for the Ninja generator)
* Built-in timezones updated to tzdata2021e
Version 3.0.11 (09 October 2021):
---------------------------------
* Fix icalrecur_iterator_set_start() for hourly, minutely, and secondly recurrences
* Fix build for Berkeley DB version greater than 5
* Fix vcal for some architectures (like aarch64, ppc64le and s390x)
* Fix memory leaks in vcal
* Prevent crash when looking for tzid in initialize_rscale
* Adjust libdir and includedir in generated pkgconfig files
* Built-in timezones updated to tzdata2021c
Version 3.0.10 is a patch release.
This release is binary and source compatible with version 3.0.0.
Note that the libical-glib library is considered unstable; therefore not binary compatible with previous releases
ReleaseNotes:
Fix building -DSTATIC_ONLY=True with Ninja
Fix generating wrong recurrence rules (#478)
Fix a bug computing transitions in tzfiles
Fix reading TZif files to use TZ string in the footer as the last (non-terminating) transitions
Fix reading TZif files to use more RRULEs and/or RDATEs whevever possible
Built-in timezones updated to tzdata2021a
Version 3.0.9 is a patch release.
This release is binary and source compatible with version 3.0.0.
Note that the libical-glib library is considered unstable; therefore not binary compatible with previous releases
Release Notes:
- Add support for empty parameters, e.g. CN=""
- Accept VTIMEZONE with more than one X- property
- Several fixes for recurrences containing BYWEEKNO
- icalrecurrencetype_from_string() will reject any RRULE that contains a rule-part that occurs more than once
- Improve thread safety
- Fix compiled-in path for the built-in timezone data
- Fix reading TZif files with empty v1 data (use v2+ whenever possible)
- Add backwards compatibility for previous TZIDs
- Built-in timezones updated to tzdata2020d
- Fix build with newer libicu
- Fix cross-compile support in libical-glib
Version 3.0.8 is a patch release.
This release is binary and source compatible with version 3.0.0.
Note that the libical-glib library is considered unstable; therefore not binary compatible with previous releases
ReleaseNotes:
- Fix for icalattach_new_from_data() and the 'free_fn' argument
- Fix if recurrencetype contains both COUNT and UNTIL (only output UNTIL in the RRULE)
Version 3.0.7 is a patch release.
This release is binary and source compatible with version 3.0.0.
Note that the libical-glib library is considered unstable; therefore not binary compatible with previous releases
Release Notes:
libical-glib: Fix ICalAttach handling of the icalattach native structure
Let icalattach_new_from_data() use the 'free_fn' argument again
Fix memory leaks in attachment handling and elsewhere
Fix a multithreading race condition
More fuzzification fixes
Changes in 3.0.6:
Handle both COUNT and UNTIL in RRULEs
Fix RRULE BYDAY with INTERVAL=2 conflict
Various fuzzification fixes
New publicly available function:
icaltimezone_truncate_vtimezone()
Add option to disable building the test suite
Built-in timezones updated to tzdata2019c
Changes in 3.0.5:
New publicly available function:
icalproperty_get_datetime_with_component()
Allow reset DATE/DATE-TIME VALUE parameter for all-day events
icalproperty_get_datetime_with_component() will use location as TZID fallback.
New CMake option ENABLE_GTK_DOC for disabling the libical-glib developer documentation
GObject Introspection - use $MAJOR-0 versioning
libical-glib API is considered unstable:
define LIBICAL_GLIB_UNSTABLE_API=1 before including <libical-glib/libical-glib.h>
Built-in timezones updated to tzdata2019a
De-fuzzifications and Coverity fixes
Changes in 3.0.4:
Silently fail RSCALE recurrence clauses when RSCALE is disabled
Fixed icalcomponent_set_comment() and icalcomponent_set_uid()
fix FREQ=MONTHLY;BYMONTH
Skip UTF-8 marker when parsing
Fix parsing ? in VCF files produced by Outlook
Fix TZID on DATE-TIME value can override time specified in UTC
CMake discovery module for ICU uses pkg-config now
New publicly available function:
icalparameter_kind_is_valid()
Built-in timezones updated to tzdata2018e
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
Problems found with mismatching existing digests for:
distfiles/asclock-classic-1.0.tar.gz
distfiles/asclock-gtk-2.1.10beta.tar.gz
distfiles/asclock-xlib-2.0.11.tar.gz
distfiles/emiclock-2.0.2.tar.gz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
Do it for all packages that
* mention perl, or
* have a directory name starting with p5-*, or
* depend on a package starting with p5-
like last time, for 5.18, where this didn't lead to complaints.
Let me know if you have any this time.
a) refer 'perl' in their Makefile, or
b) have a directory name of p5-*, or
c) have any dependency on any p5-* package
Like last time, where this caused no complaints.
only on Linux) -- the bundled ones are not consistent wrt
some prefix (freeassociation.sourceforge.net vs citadel.org)
which triggers a runtime check when imported ical files are used,
bump PKGREVISION
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.