- BC Break: The calendarobjects database table has a bunch of new fields, and a
migration script is required to ensure everything will keep working. Read the
wiki for more details. - BC Break: The ICalendar interface now has a new method: calendarQuery.
- BC Break: In this version a number of classes have been deleted, that have
been previously deprecated. Namely: - Sabre_DAV_Directory (now:
Sabre_DAV_Collection) - Sabre_DAV_SimpleDirectory (now:
Sabre_DAV_SimpleCollection) - BC Break: Sabre_CalDAV_Schedule_IMip::sendMessage now has an extra argument.
If you extended this class, you should fix this method. It's only used for
informational purposes. - BC Break: The DAV: namespace is no longer converted to urn:DAV. This was a
workaround for a bug in older PHP versions (pre-5.3). - Removed: Sabre.includes.php was deprecated, and is now removed.
- Removed: Sabre_CalDAV_Server was deprecated, and is now removed. Please use
Sabre_DAV_Server and check the examples in the examples/ directory. - Changed: The Sabre_VObject library now spawned into it's own project! The
VObject library is still included in the SabreDAV zip package. - Added: Experimental interfaces to allow implementation of caldav-sharing. Note
that no implementation is provided yet, just the api hooks. - Added: Free-busy reporting compliant with the caldav-scheduling standard. This
allows iCal and other clients to fetch other users' free-busy data. - Added: Experimental NotificationSupport interface to add caldav notifications.
- Added: VCF Export plugin. If enabled, it can generate an export of an entire
addressbook. - Added: Support for PATCH using a SabreDAV format, to live-patch files.
- Added: Support for Prefer: return-minimal and Brief: t headers for PROPFIND
and PROPPATCH requests. - Changed: Responsibility for dealing with the calendar-query is now moved from
the CalDAV plugin to the CalDAV backends. This allows for heavy optimizations. - Changed: The CalDAV PDO backend is now a lot faster for common calendar
queries. - Changed: We are now using the composer autoloader.
- Changed: The CalDAV backend now all implement an interface.
- Changed: Instead of Sabre_DAV_Property, Sabre_DAV_PropertyInterface is now the
basis of every property class. - Update: Caching results for principal lookups. This should cut down queries
and performance for a number of heavy requests. - Update: ObjectTree caches lookups much more aggresively, which will help
especially speeding up a bunch of REPORT queries. - Added: Support for the schedule-calendar-transp property.
- Fixed: Marking both the text/calendar and text/x-vcard as UTF-8 encoded.
- Fixed: Workaround for the SOGO connector, as it doesn't understand receiving
"text/x-vcard; charset=utf-8" for a contenttype. - Added: Sabre_DAV_Client now throws more specific exceptions in cases where we
already has an exception class. - Added: Sabre_DAV_PartialUpdate. This plugin allows you to use the PATCH method
to update parts of a file. - Added: Tons of timezone name mappings for Microsoft Exchange.
- Added: Support for an 'exception' event in the server class.
- Fixed: Uploaded VCards without a UID are now rejected. (thanks Dominik!)
- Fixed: Rejecting calendar objects if they are not in the
supported-calendar-component list. (thanks Armin!) - Fixed: Issue 219: serialize() now reorders correctly.
- Fixed: Sabre_DAV_XMLUtil no longer returns empty $dom->childNodes if there is
whitespace in $dom. - Fixed: Returning 409 Conflict instead of 500 when an attempt is made to create
a file as a child of something that's not a collection. - Fixed: Issue 237: xml-encoding values in SabreDAV error responses.
- Fixed: Returning 403, instead of 501 when an unknown REPORT is requested.
- Fixed: Postfixing slash on {DAV:}owner properties.
- Fixed: Several embarrassing spelling mistakes in docblocks.