Releases: mstilkerich/carddavclient
Release version 1.4.1
Report requests to Sabre/DAV servers with Http-Digest authentication failed if issued from an AddressbookCollection object that was not use for any other (non REPORT) requests before (Fixes #27).
Release version 1.4.0
- Support servers with multiple addressbook home locations for one principal in the Discovery service.
- Support configuration of server SSL certificate validation against custom CA (or disable verification)
- Support preemptive basic authentication, i.e. send basic authentication Authorization header even if not requested by
server. This is useful in rare use cases where the server allows unauthenticated access and would not challenge the
client. It might also be useful to reduce the number of requests if the authentication scheme is known to the client. - Support specifying additional HTTP headers and query string options to be used with every request sent in association
with an account.
Release version 1.3.0
- New APIs AddressbookCollection::getDisplayName() and AddressbookCollection::getDescription()
- Widen dependency on psr/log to include all v1-v3 versions. To enable this, remove dev-dependency on wa72/simplelogger
(Fixes #23).
Release version 1.2.3
- Fix: Throw an exception in the Discovery service in case no addressbook home could be discovered. Previously, an empty
list would be returned without indication that the discovery was not successful. - Fix: After failure to authenticate with the server, the CardDavClient object might be left in a state that causes a
PHP warning on next usage (a property of the object was unintentionally deleted in that case and the warning
would be triggered on next attempt to access that property).
Release version 1.2.2
- Config::init() now accepts an options array as third parameter, which currently allows to customize the log format for
the HTTP logs. It is meant to be extended with further options in the future. - Use CURLAUTH_NEGOTIATE only when curl supports SPNEGO (Fixes #20)
Release version 1.2.1
- Change license to less restrictive MIT license
- Add workaround to enable Bearer authentication with yahoo CardDAV API (#14)
Release version 1.2.0
- Support for OAUTH2/Bearer authentication. Specify bearertoken in credentials when creating Account. Acquiring the
access token is outside the scope of this library. - The interface for specifying credentials for an
Account
changed (arguments to the constructor ofAccount
). The old username/password parameters are deprecated, but still work.
Pre v1.2.0 way of creating an account (still works with v1.2.0):
new Account("example.com", "theUser", "thePassword");
New way to create an account:
// with username / password auth
new Account("example.com", ["username" => "theUser", "password" => "thePassword"]);
// new: with bearertoken auth
new Account("example.com", ["bearertoken" => "theToken"]);
Release version 1.1.0
Features
Functionally, this release adds a new API AddressbookCollection::query()
that can be used to perform a server-side search of a CardDAV addressbook. During tests of this functionality, I found a lot of bugs with pretty much all of the CardDAV servers concerning this functionality. I have documented those in QUIRKS.md. Most of the time I spent on this feature actually went into reporting and fixing those bugs. Especially the guys at Davical have been very responsive and accepted patches, so that the now released Davical 1.1.10 (more importantly: the used AWL library 0.62) contains a quite well working support for this functionality for all I know. I will keep this file updated and yet have to report some of the bugs to the corresponding projects - I got a bit lazy with respect to this for projects where I have not received any reaction or a reaction after long time delays, but it's still on my TODO list.
Documentation
With this release, I have finally added API documentation for the entire library that is readily available on github pages. I will keep this updated for the latest published release.
Code quality
Finally, the code base has made a step forward quality wise and is now able to run psalm type analysis with the highest level of error detection.
Changelog
- New API AddressbookCollection::query() for server-side addressbook search
- Generated API documentation for the latest release is now published to github pages
Release version 1.0.0
This release adds a workaround that allows the usage of the efficient synchronization methods (sync-collection and multiget reports) with sabre/dav, which otherwise may fail because of an incompatibility between sabre/dav and curl. An example for an affected environment is Baïkal 0.7.2 with digest authentication.
Otherwise, the library has been working stable for the past couple of months and been in deployment by rcmcarddav v4 users, so I decided to release it as 1.0.0 (and hope the added workaround doesn't break things, but the tests still run fine).
Release version 0.1.6
Enable interoperability with SoGo