PackageTrack
Sign in Get early access

sabre/dav

WebDAV Framework for PHP

4.7.1 16M downloads/mo #1145 most downloaded on Packagist sabre-io/dav

What this package is like to depend on

Last release 1 months ago

07 Jul 2026

Release timing varies

gaps range from 8 days to 1.7 years

Nearly every release is documented

notes for 102 of 111 stable releases

Nothing withdrawn

no release was ever pulled

14 years old

125 releases · first in 2012

1 release in the last 12 months

see the full history below

Release timeline

125 releases · Feb 2012 to Jul 2026
2013 2015 2017 2019 2021 2023 2025
Release Pre-release

Releases

latest 60 of 125
  1. 4.7.1 07 Jul 2026
    Release notes

    4.7.1 (2026-07-07)

    Open source →
    Release notes
    • #1561 Refactor ternary to elvis operator where possible (@ChristophWurst)
    • #1562 refactor: Change class strings to ::class constants (@ChristophWurst)
    • #1595 Check for instanceof INode instead of Node (@CarlSchwan)
    • #1598 docs(caldav): fix RFC section for calendar query report (@ChristophWurst)
    • #1495 fix: Handle Depth header for COPY as this is required by RFC (@provokateurin)
    • #1604 Remove redundant getLocks() call on a lock refresh (@alecpl)
    • #1610 No return from delete() according to INode::delete() (@alecpl)
    • #1612 Use Uri\Split() instead of basename() (@alecpl)
    • #1623 Fix PDO::PARAM_LOB binding for BYTEA columns in CalDAV and CardDAV (@sylvinus)
    • #1625 Fix error on a HEAD request with a Range header (@alecpl)
    • #1637 fix(CalDAV/Backend/PDO): bind transparent as int in updateCalendar (@sylvinus)
    Open source →
  2. 4.7.0 29 Oct 2024
    Release notes

    4.7.0 (2024-10-29)

    Supports PHP 7.1 to 8.4 inclusive.

    Open source →
    Release notes
    • #1074 Add event to allow inspecting and changing multipart responses (@icewind1991)
    • #1529 fix typo in comment (@st3iny)
    • #1534 remove script for dead Google Code (@Rotzbua)
    • #1536 fix typos (@Rotzbua)
    • #1539 bump actions/cache from 3 to 4
    • #1540 bump codecov/codecov-action from 3 to 4
    • #1545 fix getNodeForPath caching (@icewind1991)
    • #1550 stop exporting php-cs-fixer config (@phil-davis)
    • #1559 Allow for custom iTipBroker (@SebastianKrupinski)
    • #1560 Fix PHP 8.4 deprecations (@cedric-anne)
    Open source →
  3. 4.6.0 11 Dec 2023
    Release notes

    4.6.0 (2023-12-11)

    Open source →
    Release notes
    • #1526: feat: add propFindUnfiltered public method to Client (@phil-davis)
    Open source →
  4. 4.5.1 23 Nov 2023
    Release notes

    4.5.1 (2023-11-23)

    Open source →
    Release notes
    • #1514: fix: restore autoPrefix property of Href (@phil-davis)
    Open source →
  5. 4.5.0 14 Nov 2023
    Release notes

    4.5.0 (2023-11-14)

    • #1488: fix: The WebDAV response element must only contain propstat OR status element(s) (@susnux)
    • #1481: docs: fix type definition for oldObject (@kesselb)
    • #1457: Fix PHPDoc to allow getChanges for sync to return null (@tcitworld)
    • #1446: declare addressDataProperties to avoid PHP 8.2 deprecation notice (@phil-davis)
    • #1432: Remove unused itipMessage property (@come-nc)
    • #1422: Align createFile signature with interface (@kesselb)
    • #1300: CalDAV/PropFilter: set empty array as default value for time-range (@simonspa)
    • #1060: Add INodeByPath interface to allow optimizing getNodeForPath (@icewind1991)
    Open source →
    Release notes
    • #1488: fix: The WebDAV response element must only contain propstat OR status element(s) (@susnux)
    • #1481: docs: fix type definition for oldObject (@kesselb)
    • #1457: Fix PHPDoc to allow getChanges for sync to return null (@tcitworld)
    • #1446: declare addressDataProperties to avoid PHP 8.2 deprecation notice (@phil-davis)
    • #1432: Remove unused itipMessage property (@come-nc)
    • #1422: Align createFile signature with interface (@kesselb)
    • #1300: CalDAV/PropFilter: set empty array as default value for time-range (@simonspa)
    • #1060: Add INodeByPath interface to allow optimizing getNodeForPath (@icewind1991)
    Open source →
  6. 4.4.0 27 Jun 2022
    Release notes

    4.4.0 (2022-06-27)

    Open source →
    Release notes
    • #1396: Include "before" and "after" copy events (@jvillafanez)
    • #1404: Fix encoding detection on PHP 8.1 (@come-nc)
    Open source →
  7. 4.3.1 20 Jan 2022
    Release notes

    4.3.1 (2022-01-20)

    Open source →
    Release notes
    • #1385: fix: ensure first argument on strpos is a string (@DeepDiver1975)
    Open source →
  8. 4.3.0 14 Dec 2021
    Release notes

    4.3.0 (2021-12-14)

    • #1284: A more secure and generalized approach for PDO Basic Auth Backend (@lightbluetom)
    Open source →
    Release notes
    • #1284: A more secure and generalized approach for PDO Basic Auth Backend (@lightbluetom)
    Open source →
  9. 4.2.3 09 Dec 2021
    Release notes

    4.2.3 (2021-12-09)

    Note: the change in #1365 was not strictly backward-compatible (BC). This release reverts that change, so that the 4.2.* patch release series is truly BC.

    Open source →
    Release notes
    • #1375: revert 1365 'add params for put interface' (@phil-davis)
    Open source →
  10. 4.2.2 09 Dec 2021
    Release notes

    4.2.2 (2021-12-09)

    Open source →
    Release notes
    • #1248: CalDAV to sync properly when limit is set in PDO backend (@nhirokinet)
    • #1365: add params for put interface (@yrong)
    • #1372: Allow psr/log major versions 2 and 3 as dependencies (@fezfez)
    Open source →
  11. 4.2.1 30 Nov 2021
    Release notes
    • #1371: Fix phpdoc return type of findByUri in BackendInterface (@come-nc)
    Open source →
  12. 4.2.0 17 Nov 2021
    Release notes
    • #1317: Add primary key to schedulingobjects table in pgsql.calendars.sql example (@perguth)
    • #1335: don't remove lock on dir when deleting a child node (@tbsmark86)
    • #1341: Add new event "afterCreateCollection" like "afterCreateFile" (@woutersamaey)
    • #1344: Fix propfind type of subnodes with depth >= 1 (@n-peugnet)
    • #1355: Make sure a {DAV:}prop is not empty (@kesselb)
    • #1356: Switch CI to GitHub Actions (@kesselb)
    • #1362: Adjust PHPdoc return types (@phil-davis)
    • #1354: Fix deprecated usages on PHP 8.1 (@cedric-anne)
    Open source →
  13. 4.1.5 12 Feb 2021
    Release notes
    • #1322: Fixes for addressbook-query filters (@mstilkerich)
    • #1329: Correctly process a POST with no Content-Type specified plus phpstan level 1 (@phil-davis)
    Open source →
  14. 4.1.4 12 Jan 2021
    Release notes
    • #1312: Reduce package size by ignoring test and other non-run-time files
    • #1316: Minor code changes for latest PHP cs-fixer
    • #1319: Fix "Trying to access array offset on value of type bool"
    • #1321: Complete checks for non existing/null/false time-range array keys
    Open source →
  15. 4.1.3 09 Nov 2020
    Release notes
    • #1306: Return 409 when trying to PUT a file into a non-existent collection
    Open source →
  16. 4.1.2 04 Oct 2020
    Release notes
    • #1296: Add experimental support for PHP 8.0
    Open source →
  17. 4.1.1 13 Jul 2020
    Release notes
    • Fix PHPdoc of Tree:move method
    • Allow using custom SAPI implementations
    • Include baseUri in lock responses
    Open source →
  18. 4.1.0 20 Mar 2020
    Release notes
    • Support PHP 7.4
    • Drop support for PHP 7.0
    • CalDAV: send MIME-Version header in scheduling emails
    Open source →
  19. 4.0.3 10 Jan 2020
    Release notes
    • DAV: Streaming PROPFIND server implementation
    • DAVACL: Fix uppercase of NotAuthenticated class
    • CalDAV: Return only calendar objects owned by principal itself
    • CalDAV: Convert scheduling object data from resource to string
    • Browser Plugin: Fix content type guessing if setBaseUri is set to a folder
    Open source →
  20. 4.0.2 19 Oct 2019
    Release notes
    • Fix error with PHP 7.4
    • CardDAV: Fix content-type for Thunderbird
    Open source →
  21. 4.0.1 20 Aug 2019
    Release notes
    • TemporaryFileFilterPlugin: Fix Strict Error
    • CalDAV\Plugin: Fix null path
    Open source →
  22. 4.0.0 01 Jul 2019
    Release notes
    • Lock: Support lock timeout value Infinity
    • Lock: Hide lock token in lock discovery when not set
    • BrowserPlugin: Show display name of nodes
    • FSExt: Fix folder (file) move issue if rename fails
    • IMipPlugin: Add sender name in invite mail headers
    • IMipPlugin: Fix email subject and recipient
    • Fix issues with empty content-type header
    • Apply new code style
    • Fix for litmus test suite - test case: props propfind_invalid2
    • Depend on sabre/xml 2.0.1
    • Depend on sabre/http 5.0
    • Now supports PHP 7.3
    • Now requires PHP 7.
    • Using strict_types in every php file.
    • #896: Using the [sabre/event][evnt] WildcardEmitter. This allows event handlers to listen to events using a wildcard.
    • #896: Event listeners that in the past listened to beforeMethod or method no longer get called. They must listen to beforeMethod:* and method:* now.
    • #322: Imap authentication backend. (@c0d3z3r0).
    • #889: Support for selective property querying in CardDAV's addressbook-query. (@DeepDiver1975).
    • #982: Make sure that files that are siblings of directories, are reported as files (@nickvergessen)
    Open source →
  23. 4.0.0-beta1 08 May 2019 pre-release
    Release notes
    • Lock: Support lock timeout value Infinity
    • Lock: Hide lock token in lock discovery when not set
    • BrowserPlugin: Show display name of nodes
    • FSExt: Fix folder (file) move issue if rename fails
    • IMipPlugin: Add sender name in invite mail headers
    • IMipPlugin: Fix email subject and recipient
    Open source →
  24. 4.0.0-alpha5 15 Oct 2018 pre-release
    Release notes
    • Fix issues with empty content-type header
    Open source →
  25. 4.0.0-alpha4 12 Oct 2018 pre-release
    Release notes
    • Apply new code style
    • Fix for litmus test suite - test case: props propfind_invalid2
    • Depend on sabre/xml 2.0.1
    Open source →
  26. 4.0.0-alpha3 05 Oct 2018 pre-release
    Release notes
    • Fixes for PHP 7.3
    • Depend on sabre/http 5.0
    Open source →
  27. 4.0.0-alpha2 27 Sep 2018 pre-release
    Release notes
    • Now supports PHP 7.3
    Open source →
  28. 3.3.0-alpha1 05 Jun 2018 pre-release
    Release notes
    • SimpleCollection can now take arrays and strings as argument for super simple tree creation.
    • Added Sabre\DAV\Server::start(). This replaces ::exec(). ::exec() is now deprecated, but we're keeping it around for a year or two to make the transition easier.
    • getChildren() function in any collection may now return an iterator instead of an array. This can result in memory savings for large collections.
    • Tree::getChildren() now returns an Iterator instead of an array.
    • Added $overrideName to all Sabre\DAV\FS and Sabre\DAV\FSExt classes, so users can specify under what name these nodes show up in the tree.
    • #889 Added support for filtering vCard properties in the addressbook-query REPORT (@DeepDiver1975).
    • #918: Add a lot of sqlite indexes. This should speed up sqlite-based installations quite a bit.
    • #982: Make sure that files that are siblings of directories, are reported as files (@nickvergessen)
    • #1058: Don't open file resource on HEAD request (@icewind1991)
    • #1031: Fix copyNode for case of file named 0 (@phil-davis)
    Open source →
  29. 3.2.3 19 Oct 2018
    Release notes
    • #982: Make sure that files that are siblings of directories, are reported as files (@nickvergessen)
    Open source →
  30. 3.2.2 15 Feb 2017
    Release notes
    • #943: Fix CardDAV XML reporting bug, which was affecting several CardDAV clients. Bug was introduced in 3.2.1.
    • The zip release ships with [sabre/vobject 4.1.2][vobj], [sabre/http 4.2.2][http], [sabre/event 3.0.0][evnt], [sabre/uri 1.2.0][uri] and [sabre/xml 1.5.0][xml].
    Open source →
  31. 3.2.1 28 Jan 2017
    Release notes
    • #877: Fix for syncing large calendars when using the Sqlite PDO backend. (@theseer).
    • #889 Added support for filtering vCard properties in the addressbook-query REPORT (@DeepDiver1975).
    • The zip release ships with [sabre/vobject 4.1.2][vobj], [sabre/http 4.2.2][http], [sabre/event 3.0.0][evnt], [sabre/uri 1.2.0][uri] and [sabre/xml 1.5.0][xml].
    Open source →
  32. 3.2.0 28 Jun 2016
    Release notes
    • The default ACL rules allow an unauthenticated user to read information about nodes that don't have their own ACL defined. This was a security problem.
    • The zip release ships with [sabre/vobject 4.1.0][vobj], [sabre/http 4.2.1][http], [sabre/event 3.0.0][evnt], [sabre/uri 1.1.0][uri] and [sabre/xml 1.4.2][xml].
    Open source →
  33. 3.2.0-beta1 21 May 2016 pre-release
    Release notes
    • #833: Calendars throw exceptions when the sharing plugin is not enabled.
    • #834: Return vCards exactly as they were stored if we don't need to convert in between versions.
    • The zip release ships with [sabre/vobject 4.1.0][vobj], [sabre/http 4.2.1][http], [sabre/event 3.0.0][evnt], [sabre/uri 1.1.0][uri] and [sabre/xml 1.4.1][xml].
    Open source →
  34. 3.2.0-alpha1 09 May 2016 pre-release
    Release notes
    • Database changes for CalDAV. If you are using the CalDAV PDO backends, you must migrate. Run ./bin/migrateto32.php for more info.
    • Support for WebDAV Resource Sharing, an upcoming standard.
    • Added support for sharing in the CalDAV PDO backend! Users can now invite others to their calendar and give them read/read-write access!
    • #397: Support for PSR-3. You can now log exceptions with your favourite psr3-compatible logging tool.
    • #825: Actual proper, tested support for PostgreSQL. We require version 9.5.
    • Removed database migration script for sabre/dav 1.7. To update from that version you now first need to update to sabre/dav 3.1.
    • Removed deprecated function: Sabre\DAV\Auth\Plugin::getCurrentUser().
    • #774: Fixes for getting free disk space on Windows.
    • #803: Major changes in the sharing API. If you were using an old sabre/dav sharing api, head to the website for more detailed migration notes.
    • #657: Support for optional auth using {DAV:}unauthorized and {DAV:}all privileges. This allows you to assign a privilege to a resource, allowing non-authenticated users to access it. For instance, this could allow you to create a public read-only collection.
    • #812 #814: ICS/VCF exporter now includes a more useful filename in its Content-Disposition header. (@Xenopathic).
    • #801: BC break: If you were using the Href object before, it's behavior now changed a bit, and LocalHref was added to replace the old, default behavior of Href. See the migration doc for more info.
    • Removed Sabre\DAVACL\Plugin::$allowAccessToNodesWithoutACL setting. Instead, you can provide a set of default ACL rules with Sabre\DAVACL\Plugin::setDefaultAcl().
    • Introduced Sabre\DAVACL\ACLTrait which contains a default implementation of Sabre\DAV\IACL with some sane defaults. We're using this trait all over the place now, reducing the amount of boilerplate.
    • Plugins can now control the "Supported Privilege Set".
    • Added Sharing, ICSExport and VCFExport plugins to groupwareserver.php example.
    • The {DAV:}all privilege is now no longer abstract, so it can be assigned directly. We're using the {DAV:}all privilege now in a lot of cases where we before assigned both {DAV:}read and {DAV:}write.
    • Resources that are not collections no longer support the {DAV:}bind and {DAV:}unbind privileges.
    • Corrected the CalDAV-scheduling related privileges.
    • Doing an UNLOCK no longer requires the {DAV:}write-content privilege.
    • Added a new getPrincipalByUri plugin event. Allowing plugins to request quickly where a principal lives on a server.
    • Renamed phpunit.xml to phpunit.xml.dist to make local modifications easy.
    • Functionality from IShareableCalendar is merged into ISharedCalendar.
    • #751: Fixed XML responses from failing MKCOL requests.
    • #600: Support for principal-match ACL REPORT.
    • #599: Support for acl-principal-prop-set ACL REPORT.
    • #798: Added an index on firstoccurence field in MySQL CalDAV backend. This should speed up common calendar-query requests.
    • #759: DAV\Client is now able to actually correctly resolve relative urls.
    • #671: We are no longer checking the read-free-busy privilege on individual calendars during freebusy operations in the scheduling plugin. Instead, we check the schedule-query-freebusy privilege on the target users' inbox, which validates access for the entire account, per the spec.
    • The zip release ships with [sabre/vobject 4.1.0][vobj], [sabre/http 4.2.1][http], [sabre/event 3.0.0][evnt], [sabre/uri 1.1.0][uri] and [sabre/xml 1.4.1][xml].
    Open source →
  35. 3.1.5 19 Oct 2018
    Release notes
    • Fixed: Creating a new calendar on some MySQL configurations caused an error.
    • #889 Added support for filtering vCard properties in the addressbook-query REPORT (@DeepDiver1975).
    Open source →
  36. 3.1.4 29 May 2016
    Release notes
    • #834: Backport from master: Return vCards exactly as they were stored if we don't need to convert in between versions. This should speed up many large addressbook syncs sometimes up to 50%.
    • The zip release ships with [sabre/vobject 4.1.0][vobj], [sabre/http 4.2.1][http], [sabre/event 3.0.0][evnt], [sabre/uri 1.1.0][uri] and [sabre/xml 1.4.2][xml].
    Open source →
  37. 3.1.3 07 Apr 2016
    Release notes
    • Set minimum libxml version to 2.7.0 in composer.json.
    • #805: It wasn't possible to create calendars that hold events, journals and todos using MySQL, because the components column was 1 byte too small.
    • The zip release ships with [sabre/vobject 4.1.0][vobj], [sabre/http 4.2.1][http], [sabre/event 3.0.0][evnt], [sabre/uri 1.1.0][uri] and [sabre/xml 1.4.1][xml].
    Open source →
  38. 3.1.2 13 Mar 2016
    Release notes
    • #784: Sync logs for address books were not correctly cleaned up after deleting them.
    • #787: Cannot use non-seekable stream-wrappers with range requests.
    • Faster XML parsing and generating due to sabre/xml update.
    • #793: The Sqlite schema is now more strict and more similar to the MySQL schema. This solves a problem within Baikal.
    • The zip release ships with [sabre/vobject 4.0.3][vobj], [sabre/http 4.2.1][http], [sabre/event 3.0.0][evnt], [sabre/uri 1.1.0][uri] and [sabre/xml 1.4.1][xml].
    Open source →
  39. 3.1.1 25 Jan 2016
    Release notes
    • #755: The brower plugin and some operations would break when scheduling and delegation would both be enabled.
    • #757: A bunch of unittest improvements (@jakobsack).
    • The zip release ships with [sabre/vobject 4.0.2][vobj], [sabre/http 4.2.1][http], [sabre/event 3.0.0][evnt], [sabre/uri 1.0.1][uri] and [sabre/xml 1.3.0][xml].
    Open source →
  40. 3.1.0 06 Jan 2016
    Release notes
    • Better error message when the browser plugin is not enabled.
    • Added a super minimal server example.
    • #730: Switched all mysql tables to utf8mb4 character set, allowing you to use emoji in some tables where you couldn't before.
    • #710: Provide an Auth backend that acts as a helper for people implementing OAuth2 Bearer token. (@fkooman).
    • #729: Not all calls to Sabre\DAV\Tree::getChildren() were properly cached.
    • #727: Added another workaround to make CalDAV work for Windows 10 clients.
    • #742: Fixes to make sure that vobject 4 is correctly supported.
    • #726: Better error reporting in Client::propPatch. We're now throwing exceptions.
    • #608: When a HTTP error is triggered during Client:propFind, we're now throwing Sabre\HTTP\ClientHttpException instead of Sabre\DAV\Exception. This new exception contains a LOT more information about the problem.
    • #721: Events are now handled in the correct order for COPY requests. Before this subtle bugs could appear that could cause data-loss.
    • #747: Now throwing exceptions and setting the HTTP status to 500 in subtle cases where no other plugin set a correct HTTP status.
    • #686: Corrected PDO principal backend's findByURI for email addresses that don't match the exact capitalization.
    • #512: The client now has it's own User-Agent.
    • #720: Some browser improvements.
    • The zip release ships with [sabre/vobject 4.0.1][vobj], [sabre/http 4.2.1][http], [sabre/event 3.0.0][evnt], [sabre/uri 1.0.1][uri] and [sabre/xml 1.3.0][xml].
    Open source →
  41. 3.1.0-alpha2 04 Sep 2015 pre-release
    Release notes
    • Massive calendars and addressbooks should see a big drop in peak memory usage.
    • Fixed a privilege bug in the availability system.
    • #697: Added a "tableName" member to the PropertyStorage PDO backend. (@Frzk).
    • #699: PostgreSQL fix for the Locks PDO backend. (@TCKnet)
    • Removed the simplefsserver.php example file. It's not simple enough.
    • #703: PropPatch in client is not correctly encoded.
    • #709: Throw exception when running into empty supported-calendar-component-set.
    • #711: Don't trigger deserializers for empty elements in {DAV:}prop. This fixes issues when using sabre/dav as a client.
    • The zip release ships with [sabre/vobject 4.0.0-alpha2][vobj], [sabre/http 4.1.0][http], [sabre/event 2.0.2][evnt], [sabre/uri 1.0.1][uri] and [sabre/xml 1.2.0][xml].
    Open source →
  42. 3.1.0-alpha1 19 Jul 2015 pre-release
    Release notes
    • Now requires PHP 5.5
    • Upgraded to vobject 4, which is a lot faster.
    • Support for PHP 7.
    • #690: Support for calendar-availability, draft 05. [reference][calendar-availability].
    • #691: Workaround for broken Windows Phone client.
    • The zip release ships with [sabre/vobject 4.0.0-alpha1][vobj], [sabre/http 4.0.0][http], [sabre/event 2.0.2][evnt], [sabre/uri 1.0.1][uri] and [sabre/xml 1.1.0][xml].
    Open source →
  43. 3.0.9 07 Apr 2016
    Release notes
    • Set minimum libxml version to 2.7.0 in composer.json.
    • #727: Added another workaround to make CalDAV work for Windows 10 clients.
    • #805: It wasn't possible to create calendars that hold events, journals and todos using MySQL, because the components column was 1 byte too small.
    • The zip release ships with [sabre/vobject 3.5.1][vobj], [sabre/http 4.2.1][http], [sabre/event 2.0.2][evnt], [sabre/uri 1.1.0][uri] and [sabre/xml 1.4.1][xml].
    Open source →
  44. 3.0.8 12 Mar 2016
    Release notes
    • #784: Sync logs for address books were not correctly cleaned up after deleting them.
    • #787: Cannot use non-seekable stream-wrappers with range requests.
    • Faster XML parsing and generating due to sabre/xml update.
    • The zip release ships with [sabre/vobject 3.5.0][vobj], [sabre/http 4.2.1][http], [sabre/event 2.0.2][evnt], [sabre/uri 1.1.0][uri] and [sabre/xml 1.4.1][xml].
    Open source →
  45. 3.0.7 12 Jan 2016
    Release notes
    • #752: PHP 7 support for 3.0 branch. (@DeepDiver1975)
    • The zip release ships with [sabre/vobject 3.5.0][vobj], [sabre/http 4.2.1][http], [sabre/event 2.0.2][evnt], [sabre/uri 1.0.1][uri] and [sabre/xml 1.3.0][xml].
    Open source →
  46. 3.0.6 04 Jan 2016
    Release notes
    • #730: Switched all mysql tables to utf8mb4 character set, allowing you to use emoji in some tables where you couldn't before.
    • #729: Not all calls to Sabre\DAV\Tree::getChildren() were properly cached.
    • #734: Return 418 I'm a Teapot when generating a multistatus response that has resources with no returned properties.
    • #740: Bugs in migrate20.php script.
    • The zip release ships with [sabre/vobject 3.4.8][vobj], [sabre/http 4.1.0][http], [sabre/event 2.0.2][evnt], [sabre/uri 1.0.1][uri] and [sabre/xml 1.3.0][xml].
    Open source →
  47. 3.0.5 15 Sep 2015
    Release notes
    • #704: Fixed broken uri encoding in multistatus responses. This affected at least CyberDuck, but probably also others.
    • The zip release ships with [sabre/vobject 3.4.7][vobj],
    • The zip release ships with [sabre/vobject 3.4.7][vobj], [sabre/http 4.1.0][http], [sabre/event 2.0.2][evnt], [sabre/uri 1.0.1][uri] and [sabre/xml 1.2.0][xml].
    Open source →
  48. 3.0.4 04 Sep 2015
    Release notes
    • #703: PropPatch in client is not correctly encoded.
    • #709: Throw exception when running into empty supported-calendar-component-set.
    • #711: Don't trigger deserializers for empty elements in {DAV:}prop. This fixes issues when using sabre/dav as a client.
    • #705: A MOVE request that gets prevented from deleting the source resource will still remove the target resource. Now all events are triggered before any destructive operations.
    • The zip release ships with [sabre/vobject 3.4.7][vobj], [sabre/http 4.1.0][http], [sabre/event 2.0.2][evnt], [sabre/uri 1.0.1][uri] and [sabre/xml 1.2.0][xml].
    Open source →
  49. 3.0.3 06 Aug 2015
    Release notes
    • #700: Digest Auth fails on HEAD requests.
    • Fixed example files to no longer use now-deprecated realm argument.
    • The zip release ships with [sabre/vobject 3.4.6][vobj], [sabre/http 4.0.0][http], [sabre/event 2.0.2][evnt], [sabre/uri 1.0.1][uri] and [sabre/xml 1.1.0][xml].
    Open source →
  50. 3.0.2 21 Jul 2015
    Release notes
    • #657: Migration script would break when coming a cross an iCalendar object with no UID.
    • #691: Workaround for broken Windows Phone client.
    • Fixed a whole bunch of incorrect php docblocks.
    • The zip release ships with [sabre/vobject 3.4.5][vobj], [sabre/http 4.0.0][http], [sabre/event 2.0.2][evnt], [sabre/uri 1.0.1][uri] and [sabre/xml 1.1.0][xml].
    Open source →
  51. 3.0.1 02 Jul 2015
    Release notes
    • #674: Postgres sql file fixes. (@davesouthey)
    • #677: Resources with the name '0' would not get retrieved when using Depth: infinity in a PROPFIND request.
    • #680: Fix 'autoprefixing' of dead {DAV:}href properties.
    • #675: NTLM support in DAV\Client. (@k42b3)
    • The zip release ships with [sabre/vobject 3.4.5][vobj], [sabre/http 4.0.0][http], [sabre/event 2.0.2][evnt], [sabre/uri 1.0.1][uri] and [sabre/xml 1.1.0][xml].
    Open source →
  52. 3.0.0 02 Jun 2015
    Release notes
    • No changes since last beta.
    • The zip release ships with [sabre/vobject 3.4.5][vobj], [sabre/http 4.0.0][http], [sabre/event 2.0.2][evnt], [sabre/uri 1.0.1][uri] and [sabre/xml 1.0.0][xml].
    Open source →
  53. 3.0.0-beta3 29 May 2015 pre-release
    Release notes
    • Fixed deserializing href properties with no value.
    • Fixed deserializing {DAV:}propstat without a {DAV:}prop.
    • #668: More information about vcf-export-plugin in browser plugin.
    • #669: Add export button to browser plugin for address books. (@mgee)
    • #670: multiget report hrefs were not decoded.
    • The zip release ships with [sabre/vobject 3.4.4][vobj], [sabre/http 4.0.0][http], [sabre/event 2.0.2][evnt], [sabre/uri 1.0.1][uri] and [sabre/xml 1.0.0][xml].
    Open source →
  54. 3.0.0-beta2 27 May 2015 pre-release
    Release notes
    • A node's properties should not overwrite properties that were already set.
    • Some uris were not correctly encoded in notifications.
    • The zip release ships with [sabre/vobject 3.4.4][vobj], [sabre/http 4.0.0][http], [sabre/event 2.0.2][evnt], [sabre/uri 1.0.1][uri] and [sabre/xml 1.0.0][xml].
    Open source →
  55. 3.0.0-beta1 26 May 2015 pre-release
    Release notes
    • migrate22.php is now called migrate30.php.
    • Using php-cs-fixer for automated coding standards enforcement and fixing.
    • #660: principals could break html output.
    • #662: Fixed several bugs in the share request parser.
    • #665: Fix a bug in serialization of complex properties in the proppatch request in the client.
    • #666: expand-property report did not correctly prepend the base uri when generating uris, this caused delegation to break.
    • #659: Don't throw errors when when etag-related checks are done on collections.
    • Fully supporting the updated Prefer header syntax, as defined in [rfc7240][rfc7240].
    • The zip release ships with [sabre/vobject 3.4.3][vobj], [sabre/http 4.0.0][http], [sabre/event 2.0.2][evnt], [sabre/uri 1.0.1][uri] and [sabre/xml 1.0.0][xml].
    Open source →
  56. 3.0.0-alpha1 19 May 2015 pre-release
    Release notes
    • It's now possible to get all property information from files using the browser plugin.
    • Browser plugin will now show a 'calendar export' button when the ics-export plugin is enabled.
    • Some nodes that by default showed the current time as their last modification time, now no longer has a last modification time.
    • CardDAV namespace was missing from default namespaceMap.
    • #646: Properties can now control their own HTML output in the browser plugin.
    • #646: Nicer HTML output for the {DAV:}acl property.
    • Browser plugin no longer shows a few properties that take up a lot of space, but are likely not really interesting for most users.
    • #654: Added a collection, Sabre\DAVACL\FS\HomeCollection for automatically creating a private home collection per-user.
    • Changed all MySQL columns from VARCHAR to VARBINARY where possible.
    • Improved older migration scripts a bit to allow easier testing.
    • The zip release ships with [sabre/vobject 3.4.3][vobj], [sabre/http 4.0.0-alpha3][http], [sabre/event 2.0.2][evnt], [sabre/uri 1.0.1][uri] and [sabre/xml 0.4.3][xml].
    Open source →
  57. 2.1.11 07 Oct 2016
    Release notes
    • #805: It wasn't possible to create calendars that hold events, journals and todos using MySQL, because the components column was 1 byte too small.
    • The zip release ships with [sabre/vobject 3.5.3][vobj], [sabre/http 3.0.5][http], and [sabre/event 2.0.2][evnt].
    Open source →
  58. 2.1.10 10 Mar 2016
    Release notes
    • #784: Sync logs for address books were not correctly cleaned up after deleting them.
    • The zip release ships with [sabre/vobject 3.5.0][vobj], [sabre/http 3.0.5][http], and [sabre/event 2.0.2][evnt].
    Open source →
  59. 2.1.9 25 Jan 2016
    Release notes
    • #674: PHP7 support (@DeepDiver1975).
    • The zip release ships with [sabre/vobject 3.5.0][vobj], [sabre/http 3.0.5][http], and [sabre/event 2.0.2][evnt].
    Open source →
  60. 2.1.8 04 Jan 2016
    Release notes
    • #729: Fixed a caching problem in the Tree object.
    • #740: Bugs in migrate20.php script.
    • The zip release ships with [sabre/vobject 3.4.8][vobj], [sabre/http 3.0.5][http], and [sabre/event 2.0.2][evnt].
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive