Revision history for Net-CardDAVTalk

0.14    Thu Nov 12 2026
  - INCOMPATIBLE: hrefs and paths are now returned unescaped, as
    Net::CalDAVTalk's always have been (GetAddressBooks, GetContactLinks,
    GetContactsMulti, GetContacts, SyncContactLinks, SyncContacts, and a
    card's href and CPath).  Every method takes paths unescaped and
    escapes them itself, so an href with a % in it came back as a 404 when
    passed back; and the same resource no longer has two hrefs because a
    server wrote '@' in one response and %40 in another (Google does).
    Callers that stored hrefs should unescape them once.
  - multiget bodies carry the escaped absolute href (GetContactsMulti,
    GetContactAndProps, which sent a relative path as it was given)
  - SyncContactLinks uses Net::DAVTalk's SyncCollection (requires
    Net::DAVTalk 0.26), so a server's truncated sync results (RFC 6578
    section 3.6) are followed to the end instead of one page being taken
    for everything, with the truncation marker reported as an error
  - SyncContactLinks dies on a response without a sync-token, as
    SyncEventLinks does, instead of returning an undefined token
  - in scalar context SyncContactLinks returns Added, as documented
  - Makefile.PL listed Net::DAVTalk twice, so 0.08 was what it required
  - no more bare "ODD STATUS" warnings: odd statuses are in Errors
0.13    Thu Oct 15 2026
  - GetContactLinks: parse props inside DAV:propstat, so etags are
    returned and non-vCard resources and collections are skipped
    (Jess Robinson)
  - GetContactLinks returns (\%links, \@errors) in list context;
    GetContacts passes those errors through
  - don't die on responses missing a DAV:status in SyncContactLinks
  - add tests for GetContactLinks, GetContacts and SyncContactLinks

0.12    Mon Aug 31 2026
  - relicensed from Artistic License 2.0 to the same terms as Perl
    itself (Artistic License 1.0 or GPL version 1 or later)
  - include a LICENSE file in the distribution

0.11    Mon Apr  6 11:17 2026
  - add dependencies on Text::JSContact and Net::DAVTalk

0.10    Sat Apr  4 13:00 2026
  - Delegate vCard<=>JSContact conversion to Text::JSContact
  - API now uses JSContact Card hashrefs instead of VCard objects
  - NewContact/UpdateContact take hashrefs
  - GetContact/GetContacts return hashrefs
  - VCard.pm no longer used (kept for backward compatibility)

0.09    Fri Mar  2 13:09 2018
  - add VCard updates for 'n' setting on groups and VPhoto

0.08    Wed Nov 15 16:04 2017
  - always request syncToken and fetch canSync

0.07    Sun Nov 12 18:07 2017
  - add BATCHSIZE support to GetContactsMulti
  - set $Net::CardDAVTalk::BATCHSIZE = 100 (default, overridable)

0.06    Sun Nov 12 17:45 2017
  - add GetContactLinks
  - add SyncContactLinks
  - add GetContactsMulti

0.05    Wed Feb 15 16:51 2017
  - depend on List::MoreUtils, it's not always an included battery

0.04    Wed Feb 15 10:31 2017
  - added ACL support from FastMail

0.03    Tue May  3 09:38 2016
  - added dependencies to satisfy tests

0.02
  - added POD

0.01    Date/time
        First version, released on an unsuspecting world.

