[RELEASE] c-ares 1.23.0

Daniel Stenberg daniel at haxx.se
Thu Nov 30 13:59:12 CET 2023


Hello

We are happy to once again ship another c-ares release. Get it as always from 
https://c-ares.org/

c-ares version 1.23.0

This is a feature and bugfix release.

Features:
  o Introduce optional (but on by default) thread-safety for the c-ares
    library.  This has no API nor ABI implications. [2]
  o resolv.conf in modern systems uses attempts and timeouts options instead
    of the old retrans and retry options. [6]
  o Query caching support based on TTL of responses. Can be enabled via
    ares_init_options() with ARES_OPT_QUERY_CACHE. [12]

Bug Fixes:
  o ares_init_options() for ARES_OPT_UDP_PORT and ARES_OPT_TCP_PORT accept the
    port in host byte order, but it was reading it as network byte order.
    Regression introduced in 1.20.0. [1]
  o ares_init_options() for ARES_FLAG_NOSEARCH was not being honored for
    ares_getaddrinfo() or ares_gethostbyname().  Regression introduced in
    1.16.0. [3]
  o Autotools MacOS and iOS version check was failing [4]
  o Environment variables passed to c-ares are meant to be an override for
    system configuration. Regression introduced in 1.22.0. [5]
  o Spelling fixes as detected by codespell. [7]
  o The timeout returned by ares_timeout() was truncated to milliseconds but
    validated to microseconds which could cause a user to attempt to process
    timeouts prior to the timeout actually expiring. [8]
  o CMake was not honoring CXXFLAGS passed in via the environment which could
    cause compile and link errors with distribution hardening flags during
    packaging. [9]
  o Fix Windows UWP and Cygwin compilation. [10]
  o ares_set_servers_*() for legacy reasons needs to accept an empty server list
    and zero out all servers. This results in an inoperable channel and thus is
    only used in simulation testing, but we don't want to break users.
    Regression introduced in 1.21.0. [11]

Thanks go to these friendly people for their efforts and contributions:
   Brad House (@bradh352)
   Christian Clauss (@cclauss)
   Daniel Stenberg (@bagder)
   Deal (@halx99)
   Ignat (@Kontakter)
   @petrvh
(6 contributors)

References to bug reports and discussions on issues:
  [1] = https://github.com/c-ares/c-ares/commit/fb52c3f
  [2] = https://github.com/c-ares/c-ares/pull/636
  [3] = https://github.com/c-ares/c-ares/pull/638
  [4] = https://github.com/c-ares/c-ares/commit/f4d8c9a
  [5] = https://github.com/c-ares/c-ares/commit/b674abd
  [6] = https://github.com/c-ares/c-ares/pull/632
  [7] = https://github.com/c-ares/c-ares/pull/634
  [8] = https://github.com/c-ares/c-ares/pull/633
  [9] = https://github.com/c-ares/c-ares/commit/33ee6c0
  [10] = https://github.com/c-ares/c-ares/pull/627
  [11] = https://github.com/c-ares/c-ares/commit/320cefe
  [12] = https://github.com/c-ares/c-ares/pull/625

-- 

  / daniel.haxx.se


More information about the c-ares mailing list