Feat
- calendar: write the parameters the tools only pretended to accept
Fix
- calendar: stop the shorthand warning firing on ordinary offset changes
- calendar: name the read-side end date consistently, widen shorthand loss detection
- calendar: keep DESCRIPTION off AUDIO alarms and reject negative offsets
- calendar: warn on the last silent recurrence conflict, reject triggerless reminders cleanly
- calendar: drop VALARMs with no usable TRIGGER instead of failing the listing
- calendar: normalise foreign VALARM data instead of failing the listing
- calendar: build the inclusive UNTIL in DTSTART's zone, not UTC
- calendar: stop the reminder shorthand erasing what the caller omitted
- calendar: stop pinning recurring=False on every create call
- calendar: compute UNTIL from the DTSTART being written, not the stored one
Refactor
- calendar: name the fallback VALARM descriptions
- calendar: split the UNTIL and VALARM readers to clear S3776