caldav 1.5.0 copy "caldav: ^1.5.0" to clipboard
caldav: ^1.5.0 copied to clipboard

A comprehensive CalDAV client for Dart. Supports calendar/event CRUD, server discovery (RFC 6764), and multiple authentication methods.

1.5.0 #

  • VTODO (task) support. Calendars containing VTODO items can now be read and managed (issue #1).
    • New CalendarTodo model and TodoStatus enum, sharing a new CalendarComponent base with CalendarEvent.
    • ICalendarParser.parseTodo / parseTodos for VTODO parsing (DTSTART/DUE optional; STATUS/COMPLETED/PERCENT-COMPLETE/PRIORITY supported).
    • CalDavClient.getTodos, createTodo, updateTodo, deleteTodo, getTodoByUid.

1.4.2+3 #

  • Removed debug print statements

1.4.2+2 #

  • Removed unnecessary files

1.4.2 #

  • Added ForbiddenException for HTTP 403 (insufficient permissions)
  • Added read-only calendar/event guard on write operations (createEvent, updateEvent, deleteEvent, updateCalendar, deleteCalendar)
  • Fixed validateStatus to properly reject HTTP 4xx responses (previously treated as success)
  • Added consistent HTTP status code error mapping (401, 403, 404) across all services

1.4.1 #

  • Fixed all-day event DTEND exclusive date handling per RFC 5545
    • Parsing (server → app): Converts exclusive DTEND to inclusive end date
    • Serialization (app → server): Converts inclusive end date to exclusive DTEND
    • Single-day events (DTEND = DTSTART + 1) now correctly set end to null
    • Multi-day events subtract 1 day from DTEND for inclusive representation
    • App consumers always work with inclusive end dates

1.4.0 #

  • Added HTTPS enforcement by default with allowInsecure parameter for development
  • Added getEventsFromCalendars() for parallel event fetching across multiple calendars
  • Added getAllEvents() convenience method for fetching all events in parallel
  • Optimized getEventByUid() to search all calendars in parallel
  • Added WebDavClient abstract interface for better testability
  • Created ICalendarUtils utility class to consolidate shared formatting functions
  • Refactored EventService with helper methods to reduce code duplication
  • Added comprehensive unit tests (27 test cases)

1.3.0 #

  • Added recurrence support to CalendarEvent:
    • rrule: RFC 5545 RRULE for recurring events (e.g., "FREQ=DAILY;INTERVAL=1;COUNT=10")
    • recurrenceId: RECURRENCE-ID for modified instances of recurring events
    • exdate: Exception dates excluded from the recurrence set
  • Updated ICalendarParser to extract RRULE, RECURRENCE-ID, and EXDATE from iCalendar data
  • Updated CalendarEvent.toIcalendar() to serialize recurrence fields

1.2.2+3 #

  • Added missing changelog

1.2.2+2 #

  • Updated README.md dependency reference

1.2.2 #

  • Added isReadOnly field to Calendar and CalendarEvent models
  • Implemented privilege parsing for read-only calendar detection

1.2.1 #

  • Made uid field required in Calendar class
  • Made calendarId field required in CalendarEvent class
  • Removed unused getEvent method

1.2.0 #

  • Refactored date handling to use DateTime instead of TZDateTime
  • Renamed CaldavClient to CalDavClient for consistency
  • Renamed CaldavException to CalDavException for consistency
  • Removed timezone dependency

1.1.0 #

  • Added unique identifier (uid) field to Calendar model

1.0.0+2 #

  • Added MIT License
  • Simplified caldav dependency specification in README.md

1.0.0 #

  • Initial release
1
likes
150
points
729
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A comprehensive CalDAV client for Dart. Supports calendar/event CRUD, server discovery (RFC 6764), and multiple authentication methods.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

dio, xml

More

Packages that depend on caldav