caldav 1.5.0
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
VTODOitems can now be read and managed (issue #1).- New
CalendarTodomodel andTodoStatusenum, sharing a newCalendarComponentbase withCalendarEvent. ICalendarParser.parseTodo/parseTodosfor VTODO parsing (DTSTART/DUE optional; STATUS/COMPLETED/PERCENT-COMPLETE/PRIORITY supported).CalDavClient.getTodos,createTodo,updateTodo,deleteTodo,getTodoByUid.
- New
1.4.2+3 #
- Removed debug print statements
1.4.2+2 #
- Removed unnecessary files
1.4.2 #
- Added
ForbiddenExceptionfor HTTP 403 (insufficient permissions) - Added read-only calendar/event guard on write operations (
createEvent,updateEvent,deleteEvent,updateCalendar,deleteCalendar) - Fixed
validateStatusto 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
endtonull - 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
allowInsecureparameter 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
WebDavClientabstract interface for better testability - Created
ICalendarUtilsutility class to consolidate shared formatting functions - Refactored
EventServicewith 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 eventsexdate: Exception dates excluded from the recurrence set
- Updated
ICalendarParserto 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
isReadOnlyfield toCalendarandCalendarEventmodels - Implemented privilege parsing for read-only calendar detection
1.2.1 #
- Made
uidfield required inCalendarclass - Made
calendarIdfield required inCalendarEventclass - Removed unused
getEventmethod
1.2.0 #
- Refactored date handling to use
DateTimeinstead ofTZDateTime - Renamed
CaldavClienttoCalDavClientfor consistency - Renamed
CaldavExceptiontoCalDavExceptionfor consistency - Removed
timezonedependency
1.1.0 #
- Added unique identifier (
uid) field toCalendarmodel
1.0.0+2 #
- Added MIT License
- Simplified caldav dependency specification in README.md
1.0.0 #
- Initial release