AI-generated release notes — see CHANGELOG.md for the full entry.
Mostly bugfixes and server compatibility improvements since 3.0.0a1, plus a few new features.
This is an alpha release for testing purposes. Please report issues at https://github.com/python-caldav/caldav/issues
New features
- Retry-After / rate-limit handling (RFC 6585 / RFC 9110) -- new
rate_limit_handle,rate_limit_default_sleep,rate_limit_max_sleepparameters onDAVClientandAsyncDAVClient; newRateLimitErrorexception withretry_after/retry_after_secondsattributes (PR #628, thanks temsocial) - Lazy imports (PEP 562) --
import caldavis now significantly faster; heavy dependencies deferred until first use search.is-not-defined.categoryandsearch.is-not-defined.dtendclient-side workaround sub-features- Base+override feature profiles in YAML config (
base: nextcloud) - Feature name validation in
caldav.config - Fallback to principal URL when
calendar-home-setproperty is missing CalendarObjectResource.load()fallback to UID lookup when servers change object URLs after save
Breaking changes
caldav/objects.pyre-export shim removed — updatefrom caldav.objects import Xtofrom caldav import Xcaldav.config.read_config()now raisesValueErroron YAML/JSON parse errors instead of silently returning{}icalendar-searcher >= 1.0.5now required (fixesis-not-definedfilter for CATEGORIES with icalendar >= 6.x, and for DTEND on recurring all-day events)
Bug fixes
- Fixed
ssl_verify_certnot passed through inget_sync_client/get_async_client - Fixed
_derive_from_subfeaturespartial-config derivation bug - Fixed feature name parsing when names include a
compatibility_hints.prefix - Fixed recursive
_search_with_comptypesfallback whensearch.comp-typeis broken - Fixed pending todo search on servers with broken comp-type filtering
- Fixed URL path quoting when extracting calendars from PROPFIND results
- Fixed
create-calendarfeature incorrectly derived as unsupported - Fixed
get_object_by_uid()routing throughsearch()for server-specific retry logic - Graceful handling of invalid recurrence data from some servers
Compatibility hints updated
CCS (Apple CalendarServer), Zimbra, Cyrus, Bedework, PurelyMail, GMX, ecloud, Posteo, SOGo, Baikal/Radicale, DAViCal, Synology, Xandikos