This is what's new and changed in the c-ares 1.6.1 release:

Changed:

 o in6_addr is not used in ares.h anymore, but a private ares_in6_addr is
   instead declared and used
 o ares_gethostbyname() now supports 'AF_UNSPEC' as a family for resolving
   either AF_INET6 or AF_INET
 o a build-time configured ares_socklen_t is now used instead of socklen_t
 o new ares_library_init() and ares_library_cleanup() functions
 o new --enable-curldebug configure option
 o ARES_ECANCELLED is now sent as reason for ares_cancel()
 o added ares_parse_srv_reply()

Fixed:

 o ares_parse_*_reply() functions now return ARES_EBADRESP instead of
   ARES_EBADNAME if the name in the response failed to decode
 o only expose/export symbols starting with 'ares_'
 o fix \Device\TCP handle leaks triggered by buggy iphlpapi.dll
 o init without internet gone no longer fails
 o out of bounds memory overwrite triggered with malformed /etc/hosts file

Thanks go to these friendly people for their efforts and contributions:

 Phil Blundell, Japheth Cleaver, Yang Tse, Gregor Jasny, Joshua Kwan,
 Timo Teras, Jakub Hrozek

Have fun!
