From 50569114acdc64e7c7cae1498635d3f821517c30 Mon Sep 17 00:00:00 2001 From: Daniel Lange Date: Mon, 7 Mar 2016 15:53:16 +0100 Subject: Initial commit of the Faster IT roundcube_calendar plugin distribution This includes: * Kolab plugins 3.2.9 (calendar and libcalendaring) * CalDAV driver 3.2.8 * .htaccess files for at least some security * SabreDAV updated to 1.8.12 (Jan 2015 release) * Support for CURLOPT_SSL_* settings to allow self-signed certificates * Small fixes & improved documentation --- calendar/lib/SabreDAV/ChangeLog | 1111 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 1111 insertions(+) create mode 100644 calendar/lib/SabreDAV/ChangeLog (limited to 'calendar/lib/SabreDAV/ChangeLog') diff --git a/calendar/lib/SabreDAV/ChangeLog b/calendar/lib/SabreDAV/ChangeLog new file mode 100644 index 0000000..bc03df9 --- /dev/null +++ b/calendar/lib/SabreDAV/ChangeLog @@ -0,0 +1,1111 @@ +1.8.6-stable (2013-06-18) + * The zip release ships with sabre/vobject 2.1.0. + * Includes changes from version 1.7.8. + +1.8.5-stable (2013-04-11) + * The zip release ships with sabre/vobject 2.0.7. + * Includes changes from version 1.7.7. + +1.8.4-stable (2013-04-08) + * The zip release ships with sabre/vobject 2.0.7. + * Includes changes from version 1.7.6. + +1.8.3-stable (2013-03-01) + * The zip release ships with sabre/vobject 2.0.6. + * Includes changes from version 1.7.5. + * Fixed: organizer email-address for shared calendars is now prefixed with + mailto:, as it should. + +1.8.2-stable (2013-01-19) + * The zip release ships with sabre/vobject 2.0.5. + * Includes changes from version 1.7.4. + +1.8.1-stable (2012-12-01) + * The zip release ships with sabre/vobject 2.0.5. + * Includes changes from version 1.7.3. + * Fixed: Typo in 1.7 migration script caused it to fail. + +1.8.0-stable (2012-11-08) + * The zip release ships with sabre/vobject 2.0.5. + * BC Break: Moved the entire codebase to PHP namespaces. + * BC Break: Every backend package (CalDAV, CardDAV, Auth, Locks, + Principals) now has consistent naming conventions. There's a + BackendInterface, and an AbstractBackend class. + * BC Break: Changed a bunch of constructor signatures in the CalDAV + package, to reduce dependencies on the ACL package. + * BC Break: Sabre_CalDAV_ISharedCalendar now also has a getShares method, + so sharees can figure out who is also on a shared calendar. + + * Added: Sabre_DAVACL_IPrincipalCollection interface, to advertise support + for principal-property-search on any node. + * Added: Simple console script to fire up a fileserver in the current + directory using PHP 5.4's built-in webserver. + * Added: Sharee's can now also read out the list of invites for a shared + calendar. + * Added: The Proxy principal classes now both implement an interface, for + greater flexiblity. + +1.7.8-stable (2013-06-17) + * The zip release ships with sabre/vobject 2.1.0. + * Changed: OldSabre\DAV\Client::verifyPeer is now a protected property + (instead of private). + * Fixed: Text was incorrectly escaped in the Href and HrefList properties, + disallowing urls with ampersands (&) in them. + * Added: deserializer for OldSabre\DAVACL\Property\CurrentUserPrivilegeSet. + * Fixed: Issue 335: Client only deserializes properties with status 200. + * Fixed: Issue 341: Escaping xml in 423 Locked error responses. + * Added: Issue 339: beforeGetPropertiesForPath event. + +1.7.7-stable (2013-04-11) + * The zip release ships with sabre/vobject 2.0.7. + * Fixed: Assets in the browser plugins were not being served on windows + machines. + +1.7.6-stable (2013-04-08) + * The zip release ships with sabre/vobject 2.0.7. + * Fixed: vcardurl in database schema can now hold 255 characters instead + of 80 (which is often way to small). + * Fixed: The browser plugin potentially allowed people to open any + arbitrary file on windows servers (CVE-2013-1939). + +1.7.5-stable (2013-03-01) + * The zip release ships with sabre/vobject 2.0.6. + * Change: No longer advertising support for 4.0 vcards. iOS and OS X + address book don't handle this well, and just advertising 3.0 support + seems like the most logical course of action. + * Added: ->setVerifyPeers to Sabre_DAV_Client (greatly resisting against + it, don't use this..). + +1.7.4-stable (2013-01-19) + * The zip release ships with sabre/vobject 2.0.5. + * Changed: To be compatibile with MS Office 2011 for Mac, a workaround was + removed that was added to support old versions of Windows XP (pre-SP3). + Indeed! We needed a crazy workaround to work with one MS product in the + past, and we can't keep that workaround to be compatible with another MS + product. + * Fixed: expand-properties REPORT had incorrect values for the href + element. + * Fixed: Range requests now work for non-seekable streams. (Thanks Alfred + Klomp). + * Fixed: Changed serialization of {DAV:}getlastmodified and + {DAV:}supportedlock to improve compatiblity with MS Office 2011 for Mac. + * Changed: reverted the automatic translation of 'DAV:' xml namespaces to + 'urn:DAV' when parsing files. Issues were reported with libxml 2.6.32, + on a relatively recent debian release, so we'll wait till 2015 to take + this one out again. + * Added: Sabre_DAV_Exception_ServiceUnavailable, for emitting 503's. + +1.7.3-stable (2012-12-01) + * The zip release ships with sabre/vobject 2.0.5. + * Fixed: Removing double slashes from getPropertiesForPath. + * Change: Marked a few more properties in the CardDAV as protected, + instead of private. + * Fixed: SharingPlugin now plays nicer with other plugins with similar + functionality. + * Fixed: Issue 174. Sending back HTTP/1.0 for requests with this version. + +1.7.2-stable (2012-11-08) + * The zip release ships with sabre/vobject 2.0.5. + * Added: ACL plugin advertises support for 'calendarserver-principal- + property-search'. + * Fixed: [#153] Allowing for relative http principals in iMip requests. + * Added: Support for cs:first-name and cs:last-name properties in sharing + invites. + * Fixed: Made a bunch of properties protected, where they were private + before. + * Added: Some non-standard properties for sharing to improve + compatibility. + * Fixed: some bugfixes in postgres sql script. + * Fixed: When requesting some properties using PROPFIND, they could show + up as both '200 Ok' and '403 Forbidden'. + * Fixed: calendar-proxy principals were not checked for deeper principal + membership than 1 level. + * Fixed: setGroupMemberSet argument now correctly receives relative + principal urls, instead of the absolute ones. + * Fixed: Server class will filter out any bonus properties if any extra + were returned. This means the implementor of the IProperty class can be + a bit lazier when implementing. + +Note: bug numbers after this line refer to Google Code tickets. We're using +github now. + +1.7.1-stable (2012-10-07) + * Fixed: include path problem in the migration script. + +1.7.0-stable (2012-10-06) + * 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. + +1.6.10-stable (2013-06-17) + * Fixed: Text was incorrectly escaped in the Href and HrefList properties, + disallowing urls with ampersands (&) in them. + * Fixed: Issue 341: Escaping xml in 423 Locked error responses. + +1.6.9-stable (2013-04-11) + * Fixed: Assets in the browser plugins were not being served on windows + machines. + +1.6.8-stable (2013-04-08) + * Fixed: vcardurl in database schema can now hold 255 characters instead + of 80 (which is often way to small). + * Fixed: The browser plugin potentially allowed people to open any + arbitrary file on windows servers. (CVE-2013-1939). + +1.6.7-stable (2013-03-01) + * Change: No longer advertising support for 4.0 vcards. iOS and OS X + address book don't handle this well, and just advertising 3.0 support + seems like the most logical course of action. + * Added: ->setVerifyPeers to Sabre_DAV_Client (greatly resisting against + it, don't use this..). + +1.6.6-stable (2013-01-19) + * Fixed: Backported a fix for broken XML serialization in error responses. + (Thanks @DeepDiver1975!) + +1.6.5-stable (2012-10-04) + * Fixed: Workaround for line-ending bug OS X 10.8 addressbook has. + * Added: Ability to allow users to set SSL certificates for the Client + class. (Thanks schiesbn!). + * Fixed: Directory indexes with lots of nodes should be a lot faster. + * Fixed: Issue 235: E_NOTICE thrown when doing a propfind request with + Sabre_DAV_Client, and no valid properties are returned. + * Fixed: Issue with filtering on alarms in tasks. + +1.6.4-stable (2012-08-02) + * Fixed: Issue 220: Calendar-query filters may fail when filtering on + alarms, if an overridden event has it's alarm removed. + * Fixed: Compatibility for OS/X 10.8 iCal in the IMipHandler. + * Fixed: Issue 222: beforeWriteContent shouldn't be called for lock + requests. + * Fixed: Problem with POST requests to the outbox if mailto: was not lower + cased. + * Fixed: Yearly recurrence rule expansion on leap-days no behaves + correctly. + * Fixed: Correctly checking if recurring, all-day events with no dtstart + fall in a timerange if the start of the time-range exceeds the start of + the instance of an event, but not the end. + * Fixed: All-day recurring events wouldn't match if an occurence ended + exactly on the start of a time-range. + * Fixed: HTTP basic auth did not correctly deal with passwords containing + colons on some servers. + * Fixed: Issue 228: DTEND is now non-inclusive for all-day events in the + calendar-query REPORT and free-busy calculations. + +1.6.3-stable (2012-06-12) + * Added: It's now possible to specify in Sabre_DAV_Client which type of + authentication is to be used. + * Fixed: Issue 206: Sabre_DAV_Client PUT requests are fixed. + * Fixed: Issue 205: Parsing an iCalendar 0-second date interval. + * Fixed: Issue 112: Stronger validation of iCalendar objects. Now making + sure every iCalendar object only contains 1 component, and disallowing + vcards, forcing every component to have a UID. + * Fixed: Basic validation for vcards in the CardDAV plugin. + * Fixed: Issue 213: Workaround for an Evolution bug, that prevented it + from updating events. + * Fixed: Issue 211: A time-limit query on a non-relative alarm trigger in + a recurring event could result in an endless loop. + * Fixed: All uri fields are now a maximum of 200 characters. The Bynari + outlook plugin used much longer strings so this should improve + compatibility. + * Fixed: Added a workaround for a bug in KDE 4.8.2 contact syncing. See + https://bugs.kde.org/show_bug.cgi?id=300047 + * Fixed: Issue 217: Sabre_DAV_Tree_FileSystem was pretty broken. + +1.6.2-stable (2012-04-16) + * Fixed: Sabre_VObject_Node::$parent should have been public. + * Fixed: Recurrence rules of events are now taken into consideration when + doing time-range queries on alarms. + * Fixed: Added a workaround for the fact that php's DateInterval cannot + parse weeks and days at the same time. + * Added: Sabre_DAV_Server::$exposeVersion, allowing you to hide SabreDAV's + version number from various outputs. + * Fixed: DTSTART values would be incorrect when expanding events. + * Fixed: DTSTART and DTEND would be incorrect for expansion of WEEKLY + BYDAY recurrences. + * Fixed: Issue 203: A problem with overridden events hitting the exact + date and time of a subsequent event in the recurrence set. + * Fixed: There was a problem with recurrence rules, for example the 5th + tuesday of the month, if this day did not exist. + * Added: New HTTP status codes from draft-nottingham-http-new-status-04. + +1.6.1-stable (2012-03-05) + * Added: createFile and put() can now return an ETag. + * Added: Sending back an ETag on for operations on CardDAV backends. This + should help with OS X 10.6 Addressbook compatibility. + * Fixed: Fixed a bug where an infinite loop could occur in the recurrence + iterator if the recurrence was YEARLY, with a BYMONTH rule, and either + BYDAY or BYMONTHDAY match the first day of the month. + * Fixed: Events that are excluded using EXDATE are still counted in the + COUNT= parameter in the RRULE property. + * Added: Support for time-range filters on VALARM components. + * Fixed: Correctly filtering all-day events. + * Fixed: Sending back correct mimetypes from the browser plugin (thanks + Jürgen). + * Fixed: Issue 195: Sabre_CardDAV pear package had an incorrect dependency. + * Fixed: Calendardata would be destroyed when performing a MOVE request. + +1.6.0-stable (2012-02-22) + * BC Break: Now requires PHP 5.3 + * BC Break: Any node that implemented Sabre_DAVACL_IACL must now also + implement the getSupportedPrivilegeSet method. See website for details. + * BC Break: Moved functions from Sabre_CalDAV_XMLUtil to + Sabre_VObject_DateTimeParser. + * BC Break: The Sabre_DAVACL_IPrincipalCollection now has two new methods: + 'searchPrincipals' and 'updatePrincipal'. + * BC Break: Sabre_DAV_ILockable is removed and all related per-node + locking functionality. + * BC Break: Sabre_DAV_Exception_FileNotFound is now deprecated in favor of + Sabre_DAV_Exception_NotFound. The former will be removed in a later + version. + * BC Break: Removed Sabre_CalDAV_ICalendarUtil, use Sabre_VObject instead. + * BC Break: Sabre_CalDAV_Server is now deprecated, check out the + documentation on how to setup a caldav server with just + Sabre_DAV_Server. + * BC Break: Default Principals PDO backend now needs a new field in the + 'principals' table. See the website for details. + * Added: Ability to create new calendars and addressbooks from within the + browser plugin. + * Added: Browser plugin: icons for various nodes. + * Added: Support for FREEBUSY reports! + * Added: Support for creating principals with admin-level privileges. + * Added: Possibility to let server send out invitation emails on behalf of + CalDAV client, using Sabre_CalDAV_Schedule_IMip. + * Changed: beforeCreateFile event now passes data argument by reference. + * Changed: The 'propertyMap' property from Sabre_VObject_Reader, must now + be specified in Sabre_VObject_Property::$classMap. + * Added: Ability for plugins to tell the ACL plugin which principal + plugins are searchable. + * Added: [DAVACL] Per-node overriding of supported privileges. This allows + for custom privileges where needed. + * Added: [DAVACL] Public 'principalSearch' method on the DAVACL plugin, + which allows for easy searching for principals, based on their + properties. + * Added: Sabre_VObject_Component::getComponents() to return a list of only + components and not properties. + * Added: An includes.php file in every sub-package (CalDAV, CardDAV, DAV, + DAVACL, HTTP, VObject) as an alternative to the autoloader. This often + works much faster. + * Added: Support for the 'Me card', which allows Addressbook.app users + specify which vcard is their own. + * Added: Support for updating principal properties in the DAVACL principal + backends. + * Changed: Major refactoring in the calendar-query REPORT code. Should + make things more flexible and correct. + * Changed: The calendar-proxy-[read|write] principals will now only appear + in the tree, if they actually exist in the Principal backend. This should + reduce some problems people have been having with this. + * Changed: Sabre_VObject_Element_* classes are now renamed to + Sabre_VObject_Property. Old classes are retained for backwards + compatibility, but this will be removed in the future. + * Added: Sabre_VObject_FreeBusyGenerator to generate free-busy reports + based on lists of events. + * Added: Sabre_VObject_RecurrenceIterator to find all the dates and times + for recurring events. + * Fixed: Issue 97: Correctly handling RRULE for the calendar-query REPORT. + * Fixed: Issue 154: Encoding of VObject parameters with no value was + incorrect. + * Added: Support for {DAV:}acl-restrictions property from RFC3744. + * Added: The contentlength for calendar objects can now be supplied by a + CalDAV backend, allowing for more optimizations. + * Fixed: Much faster implementation of Sabre_DAV_URLUtil::encodePath. + * Fixed: {DAV:}getcontentlength may now be not specified. + * Fixed: Issue 66: Using rawurldecode instead of urldecode to decode paths + from clients. This means that + will now be treated as a literal rather + than a space, and this should improve compatibility with the Windows + built-in client. + * Added: Sabre_DAV_Exception_PaymentRequired exception, to emit HTTP 402 + status codes. + * Added: Some mysql unique constraints to example files. + * Fixed: Correctly formatting HTTP dates. + * Fixed: Issue 94: Sending back Last-Modified header for 304 responses. + * Added: Sabre_VObject_Component_VEvent, Sabre_VObject_Component_VJournal, + Sabre_VObject_Component_VTodo and Sabre_VObject_Component_VCalendar. + * Changed: Properties are now also automatically mapped to their + appropriate classes, if they are created using the add() or __set() + methods. + * Changed: Cloning VObject objects now clones the entire tree, rather than + just the default shallow copy. + * Added: Support for recurrence expansion in the CALDAV:calendar-multiget + and CALDAV:calendar-query REPORTS. + * Changed: CalDAV PDO backend now sorts calendars based on the internal + 'calendarorder' field. + * Added: Issue 181: Carddav backends may no optionally not supply the carddata in + getCards, if etag and size are specified. This may speed up certain + requests. + * Added: More arguments to beforeWriteContent and beforeCreateFile (see + WritingPlugins wiki document). + * Added: Hook for iCalendar validation. This allows us to validate + iCalendar objects when they're uploaded. At the moment we're just + validating syntax. + * Added: VObject now support Windows Timezone names correctly (thanks + mrpace2). + * Added: If a timezonename could not be detected, we fall back on the + default PHP timezone. + * Added: Now a Composer package (thanks willdurand). + * Fixed: Support for \N as a newline character in the VObject reader. + * Added: afterWriteContent, afterCreateFile and afterUnbind events. + * Added: Postgresql example files. Not part of the unittests though, so + use at your own risk. + * Fixed: Issue 182: Removed backticks from sql queries, so it will work + with Postgres. + +1.5.9-stable (2012-04-16) + * Fixed: Issue with parsing timezone identifiers that were surrounded by + quotes. (Fixes emClient compatibility). + +1.5.8-stable (2012-02-22) + * Fixed: Issue 95: Another timezone parsing issue, this time in + calendar-query. + +1.5.7-stable (2012-02-19) + * Fixed: VObject properties are now always encoded before components. + * Fixed: Sabre_DAVACL had issues with multiple levels of privilege + aggregration. + * Changed: Added 'GuessContentType' plugin to fileserver.php example. + * Fixed: The Browser plugin will now trigger the correct events when + creating files. + * Fixed: The ICSExportPlugin now considers ACL's. + * Added: Made it optional to supply carddata from an Addressbook backend + when requesting getCards. This can make some operations much faster, and + could result in much lower memory use. + * Fixed: Issue 187: Sabre_DAV_UUIDUtil was missing from includes file. + * Fixed: Issue 191: beforeUnlock was triggered twice. + +1.5.6-stable (2012-01-07) + * Fixed: Issue 174: VObject could break UTF-8 characters. + * Fixed: pear package installation issues. + +1.5.5-stable (2011-12-16) + * Fixed: CalDAV time-range filter workaround for recurring events. + * Fixed: Bug in Sabre_DAV_Locks_Backend_File that didn't allow multiple + files to be locked at the same time. + +1.5.4-stable (2011-10-28) + * Fixed: GuessContentType plugin now supports mixed case file extensions. + * Fixed: DATE-TIME encoding was wrong in VObject. (we used 'DATETIME'). + * Changed: Sending back HTTP 204 after a PUT request on an existing resource + instead of HTTP 200. This should fix Evolution CardDAV client + compatibility. + * Fixed: Issue 95: Parsing X-LIC-LOCATION if it's available. + * Added: All VObject elements now have a reference to their parent node. + +1.5.3-stable (2011-09-28) + * Fixed: Sabre_DAV_Collection was missing from the includes file. + * Fixed: Issue 152. iOS 1.4.2 apparantly requires HTTP/1.1 200 OK to be in + uppercase. + * Fixed: Issue 153: Support for files with mixed newline styles in + Sabre_VObject. + * Fixed: Issue 159: Automatically converting any vcard and icalendardata + to UTF-8. + * Added: Sabre_DAV_SimpleFile class for easy static file creation. + * Added: Issue 158: Support for the CARDDAV:supported-address-data + property. + +1.5.2-stable (2011-09-21) + * Fixed: carddata and calendardata MySQL fields are now of type + 'mediumblob'. 'TEXT' was too small sometimes to hold all the data. + * Fixed: {DAV:}supported-report-set is now correctly reporting the reports + for IAddressBook. + * Added: Sabre_VObject_Property::add() to add duplicate parameters to + properties. + * Added: Issue 151: Sabre_CalDAV_ICalendar and Sabre_CalDAV_ICalendarObject + interfaces. + * Fixed: Issue 140: Not returning 201 Created if an event cancelled the + creation of a file. + * Fixed: Issue 150: Faster URLUtil::encodePath() implementation. + * Fixed: Issue 144: Browser plugin could interfere with + TemporaryFileFilterPlugin if it was loaded first. + * Added: It's not possible to specify more 'alternate uris' in principal + backends. + +1.5.1-stable (2011-08-24) + * Fixed: Issue 137. Hiding action interface in HTML browser for + non-collections. + * Fixed: addressbook-query is now correctly returned from the + {DAV:}supported-report-set property. + * Fixed: Issue 142: Bugs in groupwareserver.php example. + * Fixed: Issue 139: Rejecting PUT requests with Content-Range. + +1.5.0-stable (2011-08-12) + * Added: CardDAV support. + * Added: An experimental WebDAV client. + * Added: MIME-Directory grouping support in the VObject library. This is + very useful for people attempting to parse vcards. + * BC Break: Adding parameters with the VObject libraries now overwrites + the previous parameter, rather than just add it. This makes more sense + for 99% of the cases. + * BC Break: lib/Sabre.autoload.php is now removed in favor of + lib/Sabre/autoload.php. + * Deprecated: Sabre_DAV_Directory is now deprecated and will be removed in + a future version. Use Sabre_DAV_Collection instead. + * Deprecated: Sabre_DAV_SimpleDirectory is now deprecated and will be + removed in a future version. Use Sabre_DAV_SimpleCollection instead. + * Fixed: Problem with overriding tablenames for the CalDAV backend. + * Added: Clark-notation parser to XML utility. + * Added: unset() support to VObject components. + * Fixed: Refactored CalDAV property fetching to be faster and simpler. + * Added: Central string-matcher for CalDAV and CardDAV plugins. + * Added: i;unicode-casemap support + * Fixed: VObject bug: wouldn't parse parameters if they weren't specified + in uppercase. + * Fixed: VObject bug: Parameters now behave more like Properties. + * Fixed: VObject bug: Parameters with no value are now correctly parsed. + * Changed: If calendars don't specify which components they allow, 'all' + components are assumed (e.g.: VEVENT, VTODO, VJOURNAL). + * Changed: Browser plugin now uses POST variable 'sabreAction' instead of + 'action' to reduce the chance of collisions. + +1.4.4-stable (2011-07-07) + * Fixed: Issue 131: Custom CalDAV backends could break in certain cases. + * Added: The option to override the default tablename all PDO backends + use. (Issue 60). + * Fixed: Issue 124: 'File' authentication backend now takes realm into + consideration. + * Fixed: Sabre_DAV_Property_HrefList now properly deserializes. This + allows users to update the {DAV:}group-member-set property. + * Added: Helper functions for DateTime-values in Sabre_VObject package. + * Added: VObject library can now automatically map iCalendar properties to + custom classes. + +1.4.3-stable (2011-04-25) + * Fixed: Issue 123: Added workaround for Windows 7 UNLOCK bug. + * Fixed: datatype of lastmodified field in mysql.calendars.sql. Please + change the DATETIME field to an INT to ensure this field will work + correctly. + * Change: Sabre_DAV_Property_Principal is now renamed to + Sabre_DAVACL_Property_Principal. + * Added: API level support for ACL HTTP method. + * Fixed: Bug in serializing {DAV:}acl property. + * Added: deserializer for {DAV:}resourcetype property. + * Added: deserializer for {DAV:}acl property. + * Added: deserializer for {DAV:}principal property. + +1.4.2-beta (2011-04-01) + * Added: It's not possible to disable listing of nodes that are denied + read access by ACL. + * Fixed: Changed a few properties in CalDAV classes from private to + protected. + * Fixed: Issue 119: Terrible things could happen when relying on + guessBaseUri, the server was running on the root of the domain and a user + tried to access a file ending in .php. This is a slight BC break. + * Fixed: Issue 118: Lock tokens in If headers without a uri should be + treated as the request uri, not 'all relevant uri's. + * Fixed: Issue 120: PDO backend was incorrectly fetching too much locks in + cases where there were similar named locked files in a directory. + +1.4.1-beta (2011-02-26) + * Fixed: Sabre_DAV_Locks_Backend_PDO returned too many locks. + * Fixed: Sabre_HTTP_Request::getHeader didn't return Content-Type when + running on apache, so a few workarounds were added. + * Change: Slightly changed CalDAV Backend API's, to allow for heavy + optimizations. This is non-bc breaking. + +1.4.0-beta (2011-02-12) + * Added: Partly RFC3744 ACL support. + * Added: Calendar-delegation (caldav-proxy) support. + * BC break: In order to fix Issue 99, a new argument had to be added to + Sabre_DAV_Locks_Backend_*::getLocks classes. Consult the classes for + details. + * Deprecated: Sabre_DAV_Locks_Backend_FS is now deprecated and will be + removed in a later version. Use PDO or the new File class instead. + * Deprecated: The Sabre_CalDAV_ICalendarUtil class is now marked + deprecated, and will be removed in a future version. Please use + Sabre_VObject instead. + * Removed: All principal-related functionality has been removed from the + Sabre_DAV_Auth_Plugin, and moved to the Sabre_DAVACL_Plugin. + * Added: VObject library, for easy vcard/icalendar parsing using a natural + interface. + * Added: Ability to automatically generate full .ics feeds off calendars. + To use: Add the Sabre_CalDAV_ICSExportPlugin, and add ?export to your + calendar url. + * Added: Plugins can now specify a pluginname, for easy access using + Sabre_DAV_Server::getPlugin(). + * Added: beforeGetProperties event. + * Added: updateProperties event. + * Added: Principal listings and calendar-access can now be done privately, + disallowing users from accessing or modifying other users' data. + * Added: You can now pass arrays to the Sabre_DAV_Server constructor. If + it's an array with node-objects, a Root collection will automatically be + created, and the nodes are used as top-level children. + * Added: The principal base uri is now customizable. It used to be + hardcoded to 'principals/[user]'. + * Added: getSupportedReportSet method in ServerPlugin class. This allows + you to easily specify which reports you're implementing. + * Added: A '..' link to the HTML browser. + * Fixed: Issue 99: Locks on child elements were ignored when their parent + nodes were deleted. + * Fixed: Issue 90: lockdiscovery property and LOCK response now include a + {DAV}lockroot element. + * Fixed: Issue 96: support for 'default' collation in CalDAV text-match + filters. + * Fixed: Issue 102: Ensuring that copy and move with identical source and + destination uri's fails. + * Fixed: Issue 105: Supporting MKCALENDAR with no body. + * Fixed: Issue 109: Small fixes in Sabre_HTTP_Util. + * Fixed: Issue 111: Properly catching the ownername in a lock (if it's a + string) + * Fixed: Sabre_DAV_ObjectTree::nodeExist always returned false for the + root node. + * Added: Global way to easily supply new resourcetypes for certain node + classes. + * Fixed: Issue 59: Allowing the user to override the authentication realm + in Sabre_CalDAV_Server. + * Update: Issue 97: Looser time-range checking if there's a recurrence + rule in an event. This fixes 'missing recurring events'. + +1.3.0 (2010-10-14) + * Added: childExists method to Sabre_DAV_ICollection. This is an api + break, so if you implement Sabre_DAV_ICollection directly, add the method. + * Changed: Almost all HTTP method implementations now take a uri argument, + including events. This allows for internal rerouting of certain calls. + If you have custom plugins, make sure they use this argument. If they + don't, they will likely still work, but it might get in the way of + future changes. + * Changed: All getETag methods MUST now surround the etag with + double-quotes. This was a mistake made in all previous SabreDAV + versions. If you don't do this, any If-Match, If-None-Match and If: + headers using Etags will work incorrectly. (Issue 85). + * Added: Sabre_DAV_Auth_Backend_AbstractBasic class, which can be used to + easily implement basic authentication. + * Removed: Sabre_DAV_PermissionDenied class. Use Sabre_DAV_Forbidden + instead. + * Removed: Sabre_DAV_IDirectory interface, use Sabre_DAV_ICollection + instead. + * Added: Browser plugin now uses {DAV:}displayname if this property is + available. + * Added: Cache layer in the ObjectTree. + * Added: Tree classes now have a delete and getChildren method. + * Fixed: If-Modified-Since and If-Unmodified-Since would be incorrect if + the date is an exact match. + * Fixed: Support for multiple ETags in If-Match and If-None-Match headers. + * Fixed: Improved baseUrl handling. + * Fixed: Issue 67: Non-seekable stream support in ::put()/::get(). + * Fixed: Issue 65: Invalid dates are now ignored. + * Updated: Refactoring in Sabre_CalDAV to make everything a bit more + ledgable. + * Fixed: Issue 88, Issue 89: Fixed compatibility for running SabreDAV on + Windows. + * Fixed: Issue 86: Fixed Content-Range top-boundary from 'file size' to + 'file size'-1. + +1.2.4 (2010-07-13) + * Fixed: Issue 62: Guessing baseUrl fails when url contains a + query-string. + * Added: Apache configuration sample for CGI/FastCGI setups. + * Fixed: Issue 64: Only returning calendar-data when it was actually + requested. + +1.2.3 (2010-06-26) + * Fixed: Issue 57: Supporting quotes around etags in If-Match and + If-None-Match + +1.2.2 (2010-06-21) + * Updated: SabreDAV now attempts to guess the BaseURI if it's not set. + * Updated: Better compatibility with BitKinex + * Fixed: Issue 56: Incorrect behaviour for If-None-Match headers and GET + requests. + * Fixed: Issue with certain encoded paths in Browser Plugin. + +1.2.1 (2010-06-07) + * Fixed: Issue 50, patch by Mattijs Hoitink. + * Fixed: Issue 51, Adding windows 7 lockfiles to TemporaryFileFilter. + * Fixed: Issue 38, Allowing custom filters to be added to + TemporaryFileFilter. + * Fixed: Issue 53, ETags in the If: header were always failing. This + behaviour is now corrected. + * Added: Apache Authentication backend, in case authentication through + .htaccess is desired. + * Updated: Small improvements to example files. + +1.2.0 (2010-05-24) + * Fixed: Browser plugin now displays international characters. + * Changed: More properties in CalDAV classes are now protected instead of + private. + +1.2.0beta3 (2010-05-14) + * Fixed: Custom properties were not properly sent back for allprops + requests. + * Fixed: Issue 49, incorrect parsing of PROPPATCH, affecting Office 2007. + * Changed: Removed CalDAV items from includes.php, and added a few missing + ones. + +1.2.0beta2 (2010-05-04) + * Fixed: Issue 46: Fatal error for some non-existent nodes. + * Updated: some example sql to include email address. + * Added: 208 and 508 statuscodes from RFC5842. + * Added: Apache2 configuration examples + +1.2.0beta1 (2010-04-28) + * Fixed: redundant namespace declaration in resourcetypes. + * Fixed: 2 locking bugs triggered by litmus when no Sabre_DAV_ILockable + interface is used. + * Changed: using http://sabredav.org/ns for all custom xml properties. + * Added: email address property to principals. + * Updated: CalendarObject validation. + +1.2.0alpha4 (2010-04-24) + * Added: Support for If-Range, If-Match, If-None-Match, If-Modified-Since, + If-Unmodified-Since. + * Changed: Brand new build system. Functionality is split up between + Sabre, Sabre_HTTP, Sabre_DAV and Sabre_CalDAV packages. In addition to + that a new non-pear package will be created with all this functionality + combined. + * Changed: Autoloader moved to Sabre/autoload.php. + * Changed: The Allow: header is now more accurate, with appropriate HTTP + methods per uri. + * Changed: Now throwing back Sabre_DAV_Exception_MethodNotAllowed on a few + places where Sabre_DAV_Exception_NotImplemented was used. + +1.2.0alpha3 (2010-04-20) + * Update: Complete rewrite of property updating. Now easier to use and + atomic. + * Fixed: Issue 16, automatically adding trailing / to baseUri. + * Added: text/plain is used for .txt files in GuessContentType plugin. + * Added: support for principal-property-search and + principal-search-property-set reports. + * Added: Issue 31: Hiding exception information by default. Can be turned + on with the Sabre_DAV_Server::$debugExceptions property. + +1.2.0alpha2 (2010-04-08) + * Added: Calendars are now private and can only be read by the owner. + * Fixed: double namespace declaration in multistatus responses. + * Added: MySQL database dumps. MySQL is now also supported next to SQLite. + * Added: expand-properties REPORT from RFC 3253. + * Added: Sabre_DAV_Property_IHref interface for properties exposing urls. + * Added: Issue 25: Throwing error on broken Finder behaviour. + * Changed: Authentication backend is now aware of current user. + +1.2.0alpha1 (2010-03-31) + * Fixed: Issue 26: Workaround for broken GVFS behaviour with encoded + special characters. + * Fixed: Issue 34: Incorrect Lock-Token response header for LOCK. Fixes + Office 2010 compatibility. + * Added: Issue 35: SabreDAV version to header to OPTIONS response to ease + debugging. + * Fixed: Issue 36: Incorrect variable name, throwing error in some + requests. + * Fixed: Issue 37: Incorrect smultron regex in temporary filefilter. + * Fixed: Issue 33: Converting ISO-8859-1 characters to UTF-8. + * Fixed: Issue 39 & Issue 40: Basename fails on non-utf-8 locales. + * Added: More unittests. + * Added: SabreDAV version to all error responses. + * Added: URLUtil class for decoding urls. + * Changed: Now using pear.sabredav.org pear channel. + * Changed: Sabre_DAV_Server::getCopyAndMoveInfo is now a public method. + +1.1.2-alpha (2010-03-18) + * Added: RFC5397 - current-user-principal support. + * Fixed: Issue 27: encoding entities in property responses. + * Added: naturalselection script now allows the user to specify a 'minimum + number of bytes' for deletion. This should reduce load due to less + crawling + * Added: Full support for the calendar-query report. + * Added: More unittests. + * Added: Support for complex property deserialization through the static + ::unserialize() method. + * Added: Support for modifying calendar-component-set + * Fixed: Issue 29: Added TIMEOUT_INFINITE constant + +1.1.1-alpha (2010-03-11) + * Added: RFC5689 - Extended MKCOL support. + * Fixed: Evolution support for CalDAV. + * Fixed: PDO-locks backend was pretty much completely broken. This is + 100% unittested now. + * Added: support for ctags. + * Fixed: Comma's between HTTP methods in 'Allow' method. + * Changed: default argument for Sabre_DAV_Locks_Backend_FS. This means a + datadirectory must always be specified from now on. + * Changed: Moved Sabre_DAV_Server::parseProps to + Sabre_DAV_XMLUtil::parseProperties. + * Changed: Sabre_DAV_IDirectory is now Sabre_DAV_ICollection. + * Changed: Sabre_DAV_Exception_PermissionDenied is now + Sabre_DAV_Exception_Forbidden. + * Changed: Sabre_CalDAV_ICalendarCollection is removed. + * Added: Sabre_DAV_IExtendedCollection. + * Added: Many more unittests. + * Added: support for calendar-timezone property. + +1.1.0-alpha (2010-03-01) + * Note: This version is forked from version 1.0.5, so release dates may be + out of order. + * Added: CalDAV - RFC 4791 + * Removed: Sabre_PHP_Exception. PHP has a built-in ErrorException for + this. + * Added: PDO authentication backend. + * Added: Example sql for auth, caldav, locks for sqlite. + * Added: Sabre_DAV_Browser_GuessContentType plugin + * Changed: Authentication plugin refactored, making it possible to + implement non-digest authentication. + * Fixed: Better error display in browser plugin. + * Added: Support for {DAV:}supported-report-set + * Added: XML utility class with helper functions for the WebDAV protocol. + * Added: Tons of unittests + * Added: PrincipalCollection and Principal classes + * Added: Sabre_DAV_Server::getProperties for easy property retrieval + * Changed: {DAV:}resourceType defaults to 0 + * Changed: Any non-null resourceType now gets a / appended to the href + value. Before this was just for {DAV:}collection's, but this is now also + the case for for example {DAV:}principal. + * Changed: The Href property class can now optionally create non-relative + uri's. + * Changed: Sabre_HTTP_Response now returns false if headers are already + sent and header-methods are called. + * Fixed: Issue 19: HEAD requests on Collections + * Fixed: Issue 21: Typo in Sabre_DAV_Property_Response + * Fixed: Issue 18: Doesn't work with Evolution Contacts + +1.0.15-stable (2010-05-28) + * Added: Issue 31: Hiding exception information by default. Can be turned + on with the Sabre_DAV_Server::$debugExceptions property. + * Added: Moved autoload from lib/ to lib/Sabre/autoload.php. This is also + the case in the upcoming 1.2.0, so it will improve future compatibility. + +1.0.14-stable (2010-04-15) + * Fixed: double namespace declaration in multistatus responses. + +1.0.13-stable (2010-03-30) + * Fixed: Issue 40: Last references to basename/dirname + +1.0.12-stable (2010-03-30) + * Fixed: Issue 37: Incorrect smultron regex in temporary filefilter. + * Fixed: Issue 26: Workaround for broken GVFS behaviour with encoded + special characters. + * Fixed: Issue 33: Converting ISO-8859-1 characters to UTF-8. + * Fixed: Issue 39: Basename fails on non-utf-8 locales. + * Added: More unittests. + * Added: SabreDAV version to all error responses. + * Added: URLUtil class for decoding urls. + * Updated: Now using pear.sabredav.org pear channel. + +1.0.11-stable (2010-03-23) + * Non-public release. This release is identical to 1.0.10, but it is used + to test releasing packages to pear.sabredav.org. + +1.0.10-stable (2010-03-22) + * Fixed: Issue 34: Invalid Lock-Token header response. + * Added: Issue 35: Addign SabreDAV version to HTTP OPTIONS responses. + +1.0.9-stable (2010-03-19) + * Fixed: Issue 27: Entities not being encoded in PROPFIND responses. + * Fixed: Issue 29: Added missing TIMEOUT_INFINITE constant. + +1.0.8-stable (2010-03-03) + * Fixed: Issue 21: typos causing errors + * Fixed: Issue 23: Comma's between methods in Allow header. + * Added: Sabre_DAV_ICollection interface, to aid in future compatibility. + * Added: Sabre_DAV_Exception_Forbidden exception. This will replace + Sabre_DAV_Exception_PermissionDenied in the future, and can already be + used to ensure future compatibility. + +1.0.7-stable (2010-02-24) + * Fixed: Issue 19 regression for MS Office + +1.0.6-stable (2010-02-23) + * Fixed: Issue 19: HEAD requests on Collections + +1.0.5-stable (2010-01-22) + * Fixed: Fatal error when a malformed url was used for unlocking, in + conjuction with Sabre.autoload.php due to a incorrect filename. + * Fixed: Improved unittests and build system + +1.0.4-stable (2010-01-11) + * Fixed: needed 2 different releases. One for googlecode and one for + pearfarm. This is to retain the old method to install SabreDAV until + pearfarm becomes the standard installation method. + +1.0.3-stable (2010-01-11) + * Added: RFC4709 support (davmount) + * Added: 6 unittests + * Added: naturalselection. A tool to keep cache directories below a + specified theshold. + * Changed: Now using pearfarm.org channel server. + +1.0.1-stable (2009-12-22) + * Fixed: Issue 15: typos in examples + * Fixed: Minor pear installation issues + +1.0.0-stable (2009-11-02) + * Added: SimpleDirectory class. This class allows creating static + directory structures with ease. + * Changed: Custom complex properties and exceptions now get an instance of + Sabre_DAV_Server as their first argument in serialize() + * Changed: Href complex property now prepends server's baseUri + * Changed: delete before an overwriting copy/move is now handles by server + class instead of tree classes + * Changed: events must now explicitly return false to stop execution. + Before, execution would be stopped by anything loosely evaluating to + false. + * Changed: the getPropertiesForPath method now takes a different set of + arguments, and returns a different response. This allows plugin + developers to return statuses for properties other than 200 and 404. The + hrefs are now also always calculated relative to the baseUri, and not + the uri of the request. + * Changed: generatePropFindResponse is renamed to generateMultiStatus, and + now takes a list of properties similar to the response of + getPropertiesForPath. This was also needed to improve flexibility for + plugin development. + * Changed: Auth plugins are no longer included. They were not yet stable + quality, so they will probably be reintroduced in a later version. + * Changed: PROPPATCH also used generateMultiStatus now. + * Removed: unknownProperties event. This is replaced by the + afterGetProperties event, which should provide more flexibility. + * Fixed: Only calling getSize() on IFile instances in httpHead() + * Added: beforeBind event. This is invoked upon file or directory creation + * Added: beforeWriteContent event, this is invoked by PUT and LOCK on an + existing resource. + * Added: beforeUnbind event. This is invoked right before deletion of any + resource. + * Added: afterGetProperties event. This event can be used to make + modifications to property responses. + * Added: beforeLock and beforeUnlock events. + * Added: afterBind event. + * Fixed: Copy and Move could fail in the root directory. This is now + fixed. + * Added: Plugins can now be retrieved by their classname. This is useful + for inter-plugin communication. + * Added: The Auth backend can now return usernames and user-id's. + * Added: The Auth backend got a getUsers method + * Added: Sabre_DAV_FSExt_Directory now returns quota info + +0.12.1-beta (2009-09-11) + * Fixed: UNLOCK bug. Unlock didn't work at all + +0.12-beta (2009-09-10) + * Updated: Browser plugin now shows multiple {DAV:}resourcetype values + if available. + * Added: Experimental PDO backend for Locks Manager + * Fixed: Sending Content-Length: 0 for every empty response. This + improves NGinx compatibility. + * Fixed: Last modification time is reported in UTC timezone. This improves + Finder compatibility. + +0.11-beta (2009-08-11) + * Updated: Now in Beta + * Updated: Pear package no longer includes docs/ directory. These just + contained rfc's, which are publically available. This reduces the + package from ~800k to ~60k + * Added: generatePropfindResponse now takes a baseUri argument + * Added: ResourceType property can now contain multiple resourcetypes. + * Fixed: Issue 13. + +0.10-alpha (2009-08-03) + * Added: Plugin to automatically map GET requests to non-files to + PROPFIND (Sabre_DAV_Browser_MapGetToPropFind). This should allow + easier debugging of complicated WebDAV setups. + * Added: Sabre_DAV_Property_Href class. For future use. + * Added: Ability to choose to use auth-int, auth or both for HTTP Digest + authentication. (Issue 11) + * Changed: Made more methods in Sabre_DAV_Server public. + * Fixed: TemporaryFileFilter plugin now intercepts HTTP LOCK requests + to non-existent files. (Issue 12) + * Added: Central list of defined xml namespace prefixes. This can reduce + Bandwidth and legibility for xml bodies with user-defined namespaces. + * Added: now a PEAR-compatible package again, thanks to Michael Gauthier + * Changed: moved default copy and move logic from ObjectTree to Tree class + +0.9-alpha (2009-07-21) + * Changed: Major refactoring, removed most of the logic from the Tree + objects. The Server class now directly works with the INode, IFile + and IDirectory objects. If you created your own Tree objects, + this will most likely break in this release. + * Changed: Moved all the Locking logic from the Tree and Server classes + into a separate plugin. + * Changed: TemporaryFileFilter is now a plugin. + * Added: Comes with an autoloader script. This can be used instead of + the includer script, and is preferred by some people. + * Added: AWS Authentication class. + * Added: simpleserversetup.py script. This will quickly get a fileserver + up and running. + * Added: When subscribing to events, it is now possible to supply a + priority. This is for example needed to ensure that the Authentication + Plugin is used before any other Plugin. + * Added: 22 new tests. + * Added: Users-manager plugin for .htdigest files. Experimental and + subject to change. + * Added: RFC 2324 HTTP 418 status code + * Fixed: Exclusive locks could in some cases be picked up as shared locks + * Fixed: Digest auth for non-apache servers had a bug (still not actually + tested this well). + +0.8-alpha (2009-05-30) + * Changed: Renamed all exceptions! This is a compatibility break. Every + Exception now follows Sabre_DAV_Exception_FileNotFound convention + instead of Sabre_DAV_FileNotFoundException. + * Added: Browser plugin now allows uploading and creating directories + straight from the browser. + * Added: 12 more unittests + * Fixed: Locking bug, which became prevalent on Windows Vista. + * Fixed: Netdrive support + * Fixed: TemporaryFileFilter filtered out too many files. Fixed some + of the regexes. + * Fixed: Added README and ChangeLog to package + +0.7-alpha (2009-03-29) + * Added: System to return complex properties from PROPFIND. + * Added: support for {DAV:}supportedlock. + * Added: support for {DAV:}lockdiscovery. + * Added: 6 new tests. + * Added: New plugin system. + * Added: Simple HTML directory plugin, for browser access. + * Added: Server class now sends back standard pre-condition error xml + bodies. This was new since RFC4918. + * Added: Sabre_DAV_Tree_Aggregrate, which can 'host' multiple Tree objects + into one. + * Added: simple basis for HTTP REPORT method. This method is not used yet, + but can be used by plugins to add reports. + * Changed: ->getSize is only called for files, no longer for collections. + r303 + * Changed: Sabre_DAV_FilterTree is now Sabre_DAV_Tree_Filter + * Changed: Sabre_DAV_TemporaryFileFilter is now called + Sabre_DAV_Tree_TemporaryFileFilter. + * Changed: removed functions (get(/set)HTTPRequest(/Response)) from Server + class, and using a public property instead. + * Fixed: bug related to parsing proppatch and propfind requests. Didn't + show up in most clients, but it needed fixing regardless. (r255) + * Fixed: auth-int is now properly supported within HTTP Digest. + * Fixed: Using application/xml for a mimetype vs. text/xml as per RFC4918 + sec 8.2. + * Fixed: TemporaryFileFilter now lets through GET's if they actually + exist on the backend. (r274) + * FIxed: Some methods didn't get passed through in the FilterTree (r283). + * Fixed: LockManager is now slightly more complex, Tree classes slightly + less. (r287) + +0.6-alpha (2009-02-16) + * Added: Now uses streams for files, instead of strings. + This means it won't require to hold entire files in memory, which can be + an issue if you're dealing with big files. Note that this breaks + compatibility for put() and createFile methods. + * Added: HTTP Digest Authentication helper class. + * Added: Support for HTTP Range header + * Added: Support for ETags within If: headers + * Added: The API can now return ETags and override the default Content-Type + * Added: starting with basic framework for unittesting, using PHPUnit. + * Added: 49 unittests. + * Added: Abstraction for the HTTP request. + * Updated: Using Clark Notation for tags in properties. This means tags + are serialized as {namespace}tagName instead of namespace#tagName + * Fixed: HTTP_BasicAuth class now works as expected. + * Fixed: DAV_Server uses / for a default baseUrl. + * Fixed: Last modification date is no longer ignored in PROPFIND. + * Fixed: PROPFIND now sends back information about the requestUri even + when "Depth: 1" is specified. + +0.5-alpha (2009-01-14) + * Added: Added a very simple example for implementing a mapping to PHP + file streams. This should allow easy implementation of for example a + WebDAV to FTP proxy. + * Added: HTTP Basic Authentication helper class. + * Added: Sabre_HTTP_Response class. This centralizes HTTP operations and + will be a start towards the creating of a testing framework. + * Updated: Backwards compatibility break: all require_once() statements + are removed + from all the files. It is now recommended to use autoloading of + classes, or just including lib/Sabre.includes.php. This fix was made + to allow easier integration into applications not using this standard + inclusion model. + * Updated: Better in-file documentation. + * Updated: Sabre_DAV_Tree can now work with Sabre_DAV_LockManager. + * Updated: Fixes a shared-lock bug. + * Updated: Removed ?> from the bottom of each php file. + * Updated: Split up some operations from Sabre_DAV_Server to + Sabre_HTTP_Response. + * Fixed: examples are now actually included in the pear package. + +0.4-alpha (2008-11-05) + * Passes all litmus tests! + * Added: more examples + * Added: Custom property support + * Added: Shared lock support + * Added: Depth support to locks + * Added: Locking on unmapped urls (non-existent nodes) + * Fixed: Advertising as WebDAV class 3 support + +0.3-alpha (2008-06-29) + * Fully working in MS Windows clients. + * Added: temporary file filter: support for smultron files. + * Added: Phing build scripts + * Added: PEAR package + * Fixed: MOVE bug identified using finder. + * Fixed: Using gzuncompress instead of gzdecode in the temporary file + filter. This seems more common. + +0.2-alpha (2008-05-27) + * Somewhat working in Windows clients + * Added: Working PROPPATCH method (doesn't support custom properties yet) + * Added: Temporary filename handling system + * Added: Sabre_DAV_IQuota to return quota information + * Added: PROPFIND now reads the request body and only supplies the + requested properties + +0.1-alpha (2008-04-04) + * First release! + * Passes litmus: basic, http and copymove test. + * Fully working in Finder and DavFSv2 + +Project started: 2007-12-13 -- cgit v1.2.3