Changes for version 0.05 - 2026-05-11
- jscalendarbis-15 (draft-ietf-calext-jscalendarbis-15) compliance:
- recurrenceRule is now a singular object (not the RFC 8984 plural array)
- Add organizerCalendarAddress top-level property; remove replyTo
- Add endTimeZone top-level Event property
- Remove useDefaultAlerts (and X-APPLE-DEFAULT-ALARM handling)
- Add version: "2.0" to all parsed events
- Rename byDate -> byMonthDay in RecurrenceRule
- Fix firstDayOfWeek default "monday" -> "mo"
- Restructure alerts: flat {action,relativeTo,offset} -> {action, trigger: OffsetTrigger/AbsoluteTrigger}; restore action field
- Fix TRIGGER RELATED=END: written as parameter on TRIGGER not standalone property
- Rename links[*].type -> contentType; remove links[*].cid
- Link.display type changed to String[Boolean]
- Location: remove description, relativeTo, timeZone sub-properties
- VirtualLocation: remove description sub-property
- Participant: sendTo -> calendarAddress (single URI string)
- Participant: kind default changed to "individual"
- Participant: remove language; add description, descriptionContentType, progressUpdated, links
- Participants roles: String[Boolean] map (was String[] array)
- privacy: CLASS:CONFIDENTIAL now maps to "secret"
- task.progress: use "in-process" (correct JSCalendar value)
- Add excludedRecurrenceRules support (EXRULE) and remove again: jscalendarbis drops excludedRecurrenceRules entirely; exclusions via recurrenceOverrides only
- Add @type to RecurrenceRule, NDay, Relation, VirtualLocation, Location sub-objects
- relatedTo: type changed from keywords to object (with Relation sub-schema)
- Remove isAllDay (replaced by showWithoutTime)
- Remove endTimeZone that was removed in 0.04 draft work, then re-added
- Remove lastModified (use updated instead)
- Remove organizerCalendarAddress that was removed in 0.04 draft work, then re-added
Documentation
autogenerated timezone data for ME::CalDAVTalk
Modules
autogenerated timezone data for Text::JSCalendar