This is what's new and changed in the c-ares 1.7.0 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() o added ares_parse_txt_reply() o added ares_free_data() o new --enable-symbol-hiding configure option o new Makefile.msvc for any MSVC compiler or MS Visual Studio version o addrttl and addr6ttl structs renamed to ares_addrttl and ares_addr6ttl o naming convention for libraries built with MSVC, see README.msvc 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 o function prototypes in man pages out of sync with ares.h 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, John Engelhart, Larry Lansing Have fun!