Skip to content

chore(deps): update dependency libical to v4#447

Draft
renovate-tokenizer[bot] wants to merge 7 commits into
mainfrom
renovate/major-conan-dependencies
Draft

chore(deps): update dependency libical to v4#447
renovate-tokenizer[bot] wants to merge 7 commits into
mainfrom
renovate/major-conan-dependencies

Conversation

@renovate-tokenizer

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
libical requires major 3.0.204.0.0

Warning

Some dependencies could not be looked up. Check the warning logs for more information.


Release Notes

libical/libical (libical)

v4.0.0

Compare Source

This is a major release and is not source or binary compatible with version 3.x.

Please see Version 4 Migration Guide
for details about API changes since libical 3.x.

Included in this release is a Technical Preview (TP) of our new library libicalvcard
for handling VCARD formatted data. We encourage users to try-out this new library
and provide feedback to our issue tracker at https://github.com/libical/libical/issues.
Note that the libicalvcard API is not finalized and no source or binary compatibility
is guaranteed until sometime later in 4.x release cycle. Additionally, there are currently
no C++ bindings available for libicalvcard (volunteers wanted).

Please do not use libicalvcard for production or other non-experimental purposes
until the Technical Preview phase is completed.

Added
  • REUSE compliant licensing
  • Supports multi-valued parameters (DELEGATED-FROM, DELEGATED-TO, MEMBER, DISPLAY, FEATURE, etc)
  • Adds java bindings
  • (TP) Brand new icalvcard library that follows the libical API.
  • draft-ietf-calext-eventpub-extensions-19 (RFC 9073) support added
  • draft-ietf-calext-valarm-extensions-07 (RFC 9074) support added
  • Added support for Event Publishing (RFC 9073) and VALARM (RFC 9074) Extensions
  • New CMake option "LIBICAL_ENABLE_64BIT_ICALTIME_T" to use 64-bit time_t implementations
    on 32-bit systems (where available and supported. Windows-only so far)
  • GEO property has arbitrary precision (values are internally stored as strings, not doubles)
  • Allow previous recurrence iteration
  • icalparser_ctrl setting defines how to handle invalid CONTROL characters during parsing
  • Full support for BYSETPOS, i.e. remove the limitation to MONTHLY and YEARLY frequencies
  • An API for setting/getting internal library limits (icallimit_set and icallimit_get)
Changed
  • Built-in timezones updated to tzdata2026a to include historical data
  • Requires MSVC 2013 or higher (when building on Windows with MSVC)
  • Requires CMake v3.20.0 or higher
  • For the C++ bindings, requires a C++11 compliant C++ compiler
  • libical-glib requires glib 2.38 or higher
  • libical-glib requires a C11 compliant C compiler
  • Replace gtk-doc with gi-docgen to produce libical-glib developer documentation
  • libical-glib API is considered stable; no longer need to define LIBICAL_GLIB_UNSTABLE_API=1
    before including <libical-glib/libical-glib.h>
  • By default, only shared libraries are built; to get static libraries one must invoke
    separate build using the CMake -DLIBICAL_STATIC=True option.
  • CMake option -DGOBJECT_INTROSPECTION=True by default.
  • icaltzutil_get_zone_directory() can use the TZDIR environment to find system zoneinfo
  • icaltimezone_set_tzid_prefix() now allows setting an empty tzid prefix.
  • icaldurationtype_from_int and icaldurationtype_as_int have been renamed to
    icaldurationtype_from_seconds and icaldurationtype_as_seconds, respectively.
  • Components and properties with arbitrary iana-token names now are parsed with kind
    ICAL_IANA_COMPONENT and ICAL_IANA_PROPERTY if the ical_unknown_token_handling
    setting is ICAL_ASSUME_IANA_TOKEN. Otherwise, they are handled as error.
  • Property and parameter names that start with "x-" (lowercase) now also
    are parsed as X kind.
  • The icalproperty_remove_parameter_by_(kind|name) functions now remove all matching parameters.
    Before, they only removed the first matching parameter contrary to their documentation.
  • icalrecurrencetype_new_from_string() is more strict against overflows and empty rule parts.
    E.g. it now rejects RRULE parts like BYDAY=255SU (which used to be interpreted as BYDAY=-1SU).
Deprecated
  • Several CMake options are renamed in favor of a "namespaced" equivalent.
    Please port your buildscripts to the new CMake option names.
    A complete list is provided in this "CMake options" section of the
    Version 4 Migration Guide
Removed
  • The old src/python code is removed in favor of the glib-introspection generated
    Python bindings. Requires building with -DGOBJECT_INTROSPECTION=True
Fixed
  • Fixed icalcomponent_get_duration() to account for DTEND/DUE TZID
  • Improved performance of recurrence iterators
  • Improved handling of BYWEEKNO when BYDAY is not present
  • Fixed icalcomponent_get_dtend() and icalcomponent_foreach_recurrence()
    to correctly handle nominal durations
  • Fixed icalcomponent_foreach_recurrence to filter out duplicate
    instances

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

@renovate-tokenizer

Copy link
Copy Markdown
Contributor Author

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: conanfile.py
spawn GITHUB_ACTION=1 ENOENT

@renovate-tokenizer

Copy link
Copy Markdown
Contributor Author

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@cajus cajus marked this pull request as draft May 4, 2026 13:56
@cajus

cajus commented May 4, 2026

Copy link
Copy Markdown
Member

Putting this on hold for a while. We either need to support both versions (as our CI relies on Ubuntu images and these are not shipping any libical4), or package the whole eds/glib stuff with conan.

@cajus cajus added the on hold label May 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants