From 290e9e951c7bc906e20b82817747b118c350c759 Mon Sep 17 00:00:00 2001 From: Brad House Date: Wed, 13 Dec 2023 08:31:26 -0500 Subject: [PATCH] 1.24.0 release prep (#657) --- CMakeLists.txt | 4 +-- RELEASE-NOTES | 73 ++++++++++++++++-------------------------- configure.ac | 4 +-- include/ares_version.h | 4 +-- 4 files changed, 34 insertions(+), 51 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e25edff0..a8d3eed0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,7 @@ INCLUDE (CheckCSourceCompiles) INCLUDE (CheckStructHasMember) INCLUDE (CheckLibraryExists) -PROJECT (c-ares LANGUAGES C VERSION "1.23.0" ) +PROJECT (c-ares LANGUAGES C VERSION "1.24.0" ) # Set this version before release SET (CARES_VERSION "${PROJECT_VERSION}") @@ -30,7 +30,7 @@ INCLUDE (GNUInstallDirs) # include this *AFTER* PROJECT(), otherwise paths are w # For example, a version of 4:0:2 would generate output such as: # libname.so -> libname.so.2 # libname.so.2 -> libname.so.2.2.0 -SET (CARES_LIB_VERSIONINFO "11:0:9") +SET (CARES_LIB_VERSIONINFO "12:0:10") OPTION (CARES_STATIC "Build as a static library" OFF) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index cc80ccdc..613ddd8f 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -1,59 +1,42 @@ -c-ares version 1.23.0 +c-ares version 1.24.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] + o Add support for IPv6 link-local DNS servers. Nameserver formats can now + accept the %iface suffix, and a new ares_get_servers_csv() function was + added to return servers that can contain the link-local interface name. [3] + +Changes: + o Unbundle GoogleTest for test cases. Package maintainers will now need to + require GoogleTest (GMock) as a build dependency if building tests. New + GoogleTest versions require C++14 or later. [6] + o Replace nameserver parsing code to use new memory-safe functions. [1] + o Replace the sortlist parser with new memory-safe functions. [5] + o Various warning fixes and dead code removal. 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] + o Old Linux versions require POSIX_C_SOURCE or _GNU_SOURCE to compile with + thread safety support. [2] + o A non-responsive DNS server that caused timeouts wouldn't increment the + failure count, this would lead to other servers not being tried. + Regression introduced in 1.22.0. [4] + o Some projects that depend on c-ares expect invalid parameter option values + passed into ares_init_options() to simply be ignored. This behavior has + been restored. [7] 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) +(2 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 + [1] = https://github.com/c-ares/c-ares/pull/643 + [2] = https://github.com/c-ares/c-ares/issues/644 + [3] = https://github.com/c-ares/c-ares/pull/646 + [4] = https://github.com/c-ares/c-ares/pull/650 + [5] = https://github.com/c-ares/c-ares/pull/653 + [6] = https://github.com/c-ares/c-ares/pull/655 + [7] = https://github.com/c-ares/c-ares/commit/c982bf4 diff --git a/configure.ac b/configure.ac index 7718885d..7a6b1409 100644 --- a/configure.ac +++ b/configure.ac @@ -20,10 +20,10 @@ ############################################################# AC_PREREQ([2.60]) -AC_INIT([c-ares], [1.23.0], +AC_INIT([c-ares], [1.24.0], [c-ares mailing list: http://lists.haxx.se/listinfo/c-ares]) -CARES_VERSION_INFO="11:0:9" +CARES_VERSION_INFO="12:0:10" dnl This flag accepts an argument of the form current[:revision[:age]]. So, dnl passing -version-info 3:12:1 sets current to 3, revision to 12, and age to dnl 1. diff --git a/include/ares_version.h b/include/ares_version.h index df5c8cf2..d4a401ba 100644 --- a/include/ares_version.h +++ b/include/ares_version.h @@ -31,12 +31,12 @@ #define ARES_COPYRIGHT "2004 - 2023 Daniel Stenberg, ." #define ARES_VERSION_MAJOR 1 -#define ARES_VERSION_MINOR 23 +#define ARES_VERSION_MINOR 24 #define ARES_VERSION_PATCH 0 #define ARES_VERSION \ ((ARES_VERSION_MAJOR << 16) | (ARES_VERSION_MINOR << 8) | \ (ARES_VERSION_PATCH)) -#define ARES_VERSION_STR "1.23.0" +#define ARES_VERSION_STR "1.24.0" #if (ARES_VERSION >= 0x010700) # define CARES_HAVE_ARES_LIBRARY_INIT 1