- 0.3.0: Collections can now be made, renamed and deleted from devices. A provider that implements the new LH_DAV_Collection_Manager interface lets users add calendars and task lists on their phone (MKCALENDAR or extended MKCOL), rename, recolour and reorder them (PROPPATCH), and delete them; the home advertises the bind privilege when they may. A collection can name the site whose change log feeds it (site_id), so data kept network-wide or on another site still syncs incrementally; calendars can carry their order. The setup profile now leaves out contacts or calendars when you have none on that site.
- 0.2.1: Shorter plugin description, so the compiled wordpress.org readme fits its 150-character limit for the short description. No change in behaviour.
- 0.2.0: First working release. LH DAV serves contacts and calendars to phones and desktop apps over CardDAV and CalDAV, through the WordPress REST API at /wp-json/lh-dav/v1/, so every request appears in REST request logs as a short summary and never with the cards or events themselves. It stores no contacts or events: provider plugins implement the LH_DAV_Collection_Provider interface and register on the lh_dav_collection_providers filter, and LH DAV handles the rest: login, principals, the address book and calendar homes, PROPFIND, the multiget, query and sync-collection reports, GET, PUT and DELETE with ETag preconditions, and the /.well-known/carddav and /.well-known/caldav redirects. Login is WordPress application passwords only, over Basic authentication; a browser session is refused, and each user can reach only their own principal and collections. Sync uses one network-wide change log table, pruned after 90 days (filter lh_dav_return_retention_days), with sync tokens that resend everything when what a collection shows the user changes. Members can download an Apple setup profile with contacts and calendar accounts from their profile screen. LH DAV registers no MCP abilities: tooling plugins call LH_DAV_Setup_Profile::get_setup_details() and LH_DAV_Change_Log::get_entries() instead. The protocol handling comes from LH Vcard 1.11.0’s CardDAV address book, which it replaces.
- 0.1.0: Initial scaffold.
Changelog
If you like this plugin please consider making a donation to further development