[RELEASE] c-ares 1.20.0

Daniel Stenberg daniel at haxx.se
Sat Oct 7 19:18:04 CEST 2023


Hi friends,

c-ares version 1.20.0 is here.

This is a feature and bugfix release with some significant internal changes.

Get it from https://c-ares.org/

Changes:
  o Update from 1989 MIT license text to modern MIT license text [1]
  o Remove acountry from built tools as nerd.dk is gone [3]
  o Add new ARES_OPT_UDP_MAX_QUERIES configuration option to limit the number of
    queries that can be made from a single ephemeral port [7]
  o Default per-query timeout has been reduced to 2s with a 3x retry count [8]
  o Modernization: start implementing some common data structures that are easy
    to use and hard to misuse.  This will make code refactoring easier and remove
    some varied implementations in use.  This change also makes ares_timeout()
    more efficient [9]
  o Use SPDX identifiers and a REUSE CI job to verify [12]
  o rand: add support for getrandom() [14]

Bug fixes:
  o TCP back to back queries were broken [2]
  o Ensure queries for ares_getaddrinfo() are not requeued during destruction [4]
  o ares_getaddrinfo() should not retry other address classes if one address
    class has already been returned [5]
  o Avoid production ill-formed result when qualifying a name with the root
    domain [6]
  o Fix missing prefix for CMake generated libcares.pc [10]
  o DNS server ports will now be read from system configuration instead of
    defaulting to port 53 [11]
  o Remove some unreachable code [13]
  o Replace usages of sprintf with snprintf [15]
  o Fix Watcom instructions and update Windows URLs [16]

Thanks go to these friendly people for their efforts and contributions:
   Alexey A Tikhonov (@alexey-tikhonov)
   Ben Noordhuis (@bnoordhuis)
   Brad House (@bradh352)
   @Chilledheart
   Daniel Stenberg (@bagder)
   Douglas R. Reno (@renodr)
   Jérôme Duval (@korli)
   Sam Morris (@yrro)
   Tim Wojtulewicz (@timwoj)
(9 contributors)

References to bug reports and discussions on issues:
  [1] = https://github.com/c-ares/c-ares/pull/556
  [2] = https://github.com/c-ares/c-ares/pull/552
  [3] = https://github.com/c-ares/c-ares/pull/554
  [4] = https://github.com/c-ares/c-ares/pull/553
  [5] = https://github.com/c-ares/c-ares/pull/551
  [6] = https://github.com/c-ares/c-ares/pull/546
  [7] = https://github.com/c-ares/c-ares/pull/549
  [8] = https://github.com/c-ares/c-ares/pull/542
  [9] = https://github.com/c-ares/c-ares/pull/540
  [10] = https://github.com/c-ares/c-ares/pull/530
  [11] = https://github.com/c-ares/c-ares/pull/534
  [12] = https://github.com/c-ares/c-ares/commit/c1b00c41
  [13] = https://github.com/c-ares/c-ares/pull/527
  [14] = https://github.com/c-ares/c-ares/pull/526
  [15] = https://github.com/c-ares/c-ares/pull/525
  [16] = https://github.com/c-ares/c-ares/pull/524

-- 

  / daniel.haxx.se


More information about the c-ares mailing list