sabre/dav v1.9.0-alpha1 Release Notes
Release Date: 2013-11-07 // over 10 years ago-
- ๐ The zip release ships with sabre/vobject 3.1.3, sabre/http 2.0.0alpha5, and sabre/event 1.0.0.
- BC Break: The CardDAV and CalDAV BackendInterface each have a new method: getMultipleCards and getMultipleCalendarObjects. The Abstract and PDO backends have default implementations, but if you implement that interface directly, this method is now required.
- BC Break: XML property classes now receive an extra argument in their unserialize method ($propertyMap). This allows for recursively parsing properties, if needed.
- ๐ BC Break: Now using sabre/event for event emitting/subscription. For plugin authors this means Server::subscribeEvent is now Server::on, and Server::broadcastEvent is now Server::emit.
- ๐ BC Break: Almost all core functionality moved into a CorePlugin.
- BC Break: Most events triggered by the server got an overhaul.
- ๐ Changed: Sabre\HTTP now moved into a dedicated sabre/http package.
- โ Added: Support for WebDAV-sync (rfc6578).
- โ Added: Support for caldav-subscriptions, which is an easy way for caldav clients to manage a list of subscriptions on the server.
- โ Added: Support for emitting and receiving jCal instead of iCalendar for CalDAV.
- โ Added: BasicCallback authenticaton backend, for creating simple authentication systems without having to define any classes.
- โ Added: A $transactionType property on the server class. This can be used for logging and performance measuring purposes.
- ๐ Fixed: If event handlers modify the request body from a PUT request, an ETag is no longer sent back.
- โ Added: Sabre\DAV\IMultiGet to optimize requests that retrieve information about lists of resources.
- โ Added: MultiGet support to default CalDAV and CardDAV backends, speeding up the multiget and sync reports quite a bit!
- โ Added: ICSExportPlugin can now generate jCal, filter on time-ranges and expand recurrences.
- ๐ Fixed: Read-only access to calendars still allows the sharee to modify basic calendar properties, such as the displayname and color.
- ๐ Changed: The default supportedPrivilegeSet has changed. Most privileges are no longer marked as abstract.
- ๐ Changed: More elegant ACL management for CalendarObject and Card nodes.
- โ Added: Browser plugin now marks a carddav directory as type Directory, and a shared calendar as 'Shared'.
- โ Added: When debugExceptions is turned on, all previous exceptions are also traversed.
- โ Removed: Got rid of the Version classes for CalDAV, CardDAV, HTTP, and DAVACL. Now that there's no separate packages anymore, this makes a bit more sense.
- โ Added: Generalized the multistatus response parser a bit more, for better re-use.
- โ Added: Sabre\DAV\Client now has support for complex properties for PROPPATCH. (Issue #299).
- โ Added: Sabre\DAV\Client has support for gzip and deflate encoding.
- โ Added: Sabre\DAV\Client now has support for sending objects as streams.
- โ Added: Deserializer for {DAV:}current-user-privilege-set.
- โ Added: Addressbooks or backends can now specify custom acl rules when creating cards.
- โ Added: The ability for plugins to validate custom tokens in If: headers.
- ๐จ Changed: Completely refactored the Lock plugin to deal with the new If: header system.
- โ Added: Checking preconditions for MOVE, COPY, DELETE and PROPPATCH methods.
- โ Added: has() method on DAV\Property\SupportedReportSet.
- โ Added: If header now gets checked (with ETag) all the time. Before the dealing with the If-header was a responsibility of the Locking plugin.
- ๐ Fixed: Outbox access for delegates.
- โ Added: Issue 333: It's now possible to override the calendar-home in the CalDAV plugin.
- โ Added: A negotiateContentType to HTTP\Request. A convenience method.
- ๐ Fixed: Issue 349: Denying copying or moving a resource into it's own subtree.
- ๐ Fixed: SabreDAV catches every exception again.
- โ Added: Issue #358, adding a component=vevent parameter to the content-types for calendar objects, if the caldav backend provides this info.