[Pkg-owncloud-commits] [php-sabredav] 01/163: Changelog is now in markdown format.
David Prévot
taffit at moszumanska.debian.org
Tue May 20 18:54:48 UTC 2014
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to annotated tag upstream/2.0.0_beta1
in repository php-sabredav.
commit b62d78bd11952af336a0b8abe886b9d1ddafcd01
Author: Evert Pot <evert at rooftopsolutions.nl>
Date: Mon Jan 20 23:42:15 2014 -0500
Changelog is now in markdown format.
---
ChangeLog | 1210 -------------------------------------------------
ChangeLog.md | 1422 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 1422 insertions(+), 1210 deletions(-)
diff --git a/ChangeLog b/ChangeLog
deleted file mode 100644
index 209f84a..0000000
--- a/ChangeLog
+++ /dev/null
@@ -1,1210 +0,0 @@
-1.9.0-alpha2 (2014-01-14)
- * The zip release ships with sabre/vobject 3.1.3, sabre/http 2.0.1, and
- sabre/event 1.0.0.
- * Added: Browser can now inspect any node, if ?sabreaction=browser is
- appended.
- * Fixed: Issue #178. Support for multiple items in the Timeout header.
- * Fixed: Issue #382. Stricter checking if calendar-query is allowed to
- run.
- * Added: Depth: Infinity support for PROPFIND request. Thanks Thomas
- Müller and Markus Goetz.
-
-1.9.0-alpha1 (2013-11-07)
- * 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.
-
-1.8.8-stable (2013-??-??)
- * includes changes from version 1.7.10.
-
-1.8.7-stable (2013-10-02)
- * the zip release ships with sabre/vobject 2.1.3.
- * includes changes from version 1.7.9.
-
-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.10-stable (2014-??-??)
- * Fixed: Issue #374: Don't urlescape colon (:) when it's not required.
-
-1.7.9-stable (2013-10-02)
- * The zip release ships with sabre/vobject 2.1.3.
- * Fixed: Issue #365. Incorrect output when principal urls have spaces in
- them.
- * Added: Issue #367: Automatically adding a UID to vcards that don't have
- them.
-
-1.7.8-stable (2013-06-17)
- * The zip release ships with sabre/vobject 2.1.0.
- * Changed: Sabre\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 Sabre\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
diff --git a/ChangeLog.md b/ChangeLog.md
new file mode 100644
index 0000000..3100312
--- /dev/null
+++ b/ChangeLog.md
@@ -0,0 +1,1422 @@
+ChangeLog
+=========
+
+1.9.0-alpha2 (2014-01-14)
+-------------------------
+
+* The zip release ships with sabre/vobject 3.1.3, sabre/http 2.0.1, and
+ sabre/event 1.0.0.
+* Added: Browser can now inspect any node, if ?sabreaction=browser is appended.
+* Fixed: Issue #178. Support for multiple items in the Timeout header.
+* Fixed: Issue #382. Stricter checking if calendar-query is allowed to run.
+* Added: Depth: Infinity support for PROPFIND request. Thanks Thomas Müller and
+ Markus Goetz.
+
+
+1.9.0-alpha1 (2013-11-07)
+-------------------------
+
+* 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.
+
+
+1.8.8-stable (2013-??-??)
+-------------------------
+
+* includes changes from version 1.7.10.
+
+
+1.8.7-stable (2013-10-02)
+-------------------------
+
+* the zip release ships with sabre/vobject 2.1.3.
+* includes changes from version 1.7.9.
+
+
+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.10-stable (2014-??-??)
+--------------------------
+
+* Fixed: Issue #374: Don't urlescape colon (:) when it's not required.
+
+
+1.7.9-stable (2013-10-02)
+-------------------------
+
+* The zip release ships with sabre/vobject 2.1.3.
+* Fixed: Issue #365. Incorrect output when principal urls have spaces in them.
+* Added: Issue #367: Automatically adding a UID to vcards that don't have them.
+
+
+1.7.8-stable (2013-06-17)
+-------------------------
+
+* The zip release ships with sabre/vobject 2.1.0.
+* Changed: Sabre\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 Sabre\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
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/php-sabredav.git
More information about the Pkg-owncloud-commits
mailing list