Skip to content

Releases: mstilkerich/carddavclient

Release version 1.4.1

23 Mar 18:37
Compare
Choose a tag to compare

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

23 Jul 17:30
Compare
Choose a tag to compare
  • 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

10 Jan 19:29
Compare
Choose a tag to compare
  • 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

22 Aug 14:57
Compare
Choose a tag to compare
  • 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

30 Jul 21:32
Compare
Choose a tag to compare
  • 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

27 Sep 18:35
Compare
Choose a tag to compare
  • Change license to less restrictive MIT license
  • Add workaround to enable Bearer authentication with yahoo CardDAV API (#14)

Release version 1.2.0

21 Jun 05:59
Compare
Choose a tag to compare
  • 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 of Account). 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

06 Mar 09:42
Compare
Choose a tag to compare

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

21 Nov 10:26
Compare
Choose a tag to compare

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

17 Sep 12:46
Compare
Choose a tag to compare

Enable interoperability with SoGo