From bf4c5fd223e71776e3d0c5a6a8d5598ffb82597c Mon Sep 17 00:00:00 2001 From: Brad House Date: Wed, 22 May 2024 15:38:47 -0400 Subject: [PATCH] 1.29.0 release prep (#762) --- CMakeLists.txt | 4 +-- RELEASE-NOTES.md | 59 +++++++++++++++++++----------------------- configure.ac | 4 +-- include/ares_version.h | 6 ++--- 4 files changed, 33 insertions(+), 40 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4f7fd0f6..9ca42e79 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,7 @@ INCLUDE (CheckCSourceCompiles) INCLUDE (CheckStructHasMember) INCLUDE (CheckLibraryExists) -PROJECT (c-ares LANGUAGES C VERSION "1.28.1" ) +PROJECT (c-ares LANGUAGES C VERSION "1.29.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 "15:1:13") +SET (CARES_LIB_VERSIONINFO "16:0:14") OPTION (CARES_STATIC "Build as a static library" OFF) diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 3a9b9dd9..2d44f37d 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -1,49 +1,42 @@ -## c-ares version 1.28.1 - Mar 30 2024 - -This release contains a fix for a single significant regression introduced -in c-ares 1.28.0. - -* `ares_search()` and `ares_getaddrinfo()` resolution fails if no search domains - are specified. [Issue #737](https://github.com/c-ares/c-ares/issues/737) - - -## c-ares version 1.28.0 - Mar 29 2024 +## c-ares version 1.29.0 - May 24 2024 This is a feature and bugfix release. Features: -* Emit warnings when deprecated c-ares functions are used. This can be - disabled by passing a compiler definition of `CARES_NO_DEPRECATED`. [PR #732](https://github.com/c-ares/c-ares/pull/732) -* Add function `ares_search_dnsrec()` to search for records using the new DNS - record data structures. [PR #719](https://github.com/c-ares/c-ares/pull/719) -* Rework internals to pass around `ares_dns_record_t` instead of binary data, - this introduces new public functions of `ares_query_dnsrec()` and - `ares_send_dnsrec()`. [PR #730](https://github.com/c-ares/c-ares/pull/730) +* When using `ARES_OPT_EVENT_THREAD`, automatically reload system configuration + when network conditions change. [PR #759](https://github.com/c-ares/c-ares/pull/759) +* Apple: reimplement DNS configuration reading to more accurately pull DNS + settings. [PR #750](https://github.com/c-ares/c-ares/pull/750) +* Add observability into DNS server health via a server state callback, invoked + whenever a query finishes. [PR #744](https://github.com/c-ares/c-ares/pull/744) +* Add server failover retry behavior, where failed servers are retried with + small probability after a minimum delay. [PR #731](https://github.com/c-ares/c-ares/pull/731) Changes: -* tests: when performing simulated queries, reduce timeouts to make tests run - faster -* Replace configuration file parsers with memory-safe parser. [PR #725](https://github.com/c-ares/c-ares/pull/725) -* Remove `acountry` completely, the manpage might still get installed otherwise. [Issue #718](https://github.com/c-ares/c-ares/pull/718) +* Mark `ares_channel_t *` as const in more places in the public API. [PR #758](https://github.com/c-ares/c-ares/pull/758) Bugfixes: -* CMake: don't overwrite global required libraries/definitions/includes which - could cause build errors for projects chain building c-ares. [Issue #729](https://github.com/c-ares/c-ares/issues/729) -* On some platforms, `netinet6/in6.h` is not included by `netinet/in.h` - and needs to be included separately. [PR #728](https://github.com/c-ares/c-ares/pull/728) -* Fix a potential memory leak in `ares_init()`. [Issue #724](https://github.com/c-ares/c-ares/issues/724) -* Some platforms don't have the `isascii()` function. Implement as a macro. [PR #721](https://github.com/c-ares/c-ares/pull/721) -* CMake: Fix Chain building if CMAKE runtime paths not set -* NDots configuration should allow a value of zero. [PR #735](https://github.com/c-ares/c-ares/pull/735) +* Due to a logic flaw dns name compression writing was not properly implemented + which would result in the name prefix not being written for a partial match. + This could cause issues in various record types such as MX records when using + the deprecated API. Regression introduced in 1.28.0. [Issue #757](https://github.com/c-ares/c-ares/issues/757) +* Revert OpenBSD `SOCK_DNS` flag, it doesn't do what the docs say it does and + causes c-ares to become non-functional. [PR #754](https://github.com/c-ares/c-ares/pull/754) +* `ares_getnameinfo()`: loosen validation on `salen` parameter. [Issue #752](https://github.com/c-ares/c-ares/issues/752) +* cmake: Android requires C99. [PR #748](https://github.com/c-ares/c-ares/pull/748) +* `ares_queue_wait_empty()` does not honor timeout_ms >= 0. [Issue #742](https://github.com/c-ares/c-ares/pull/742) -Thanks go to these friendly people for their efforts and contributions for this release: +Thanks go to these friendly people for their efforts and contributions for this +release: * Brad House (@bradh352) -* Cristian Rodríguez (@crrodriguez) * Daniel Stenberg (@bagder) -* Faraz (@farazrbx) -* Faraz Fallahi (@fffaraz) +* David Hotham (@dimbleby) +* Jiwoo Park (@jimmy-park) * Oliver Welsh (@oliverwelsh) +* Volker Schlecht (@VlkrS) + + diff --git a/configure.ac b/configure.ac index cf622310..35d048d5 100644 --- a/configure.ac +++ b/configure.ac @@ -2,10 +2,10 @@ dnl Copyright (C) The c-ares project and its contributors dnl SPDX-License-Identifier: MIT AC_PREREQ([2.69]) -AC_INIT([c-ares], [1.28.1], +AC_INIT([c-ares], [1.29.0], [c-ares mailing list: http://lists.haxx.se/listinfo/c-ares]) -CARES_VERSION_INFO="15:1:13" +CARES_VERSION_INFO="16:0:14" 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 0e94a98b..75489c1f 100644 --- a/include/ares_version.h +++ b/include/ares_version.h @@ -31,12 +31,12 @@ #define ARES_COPYRIGHT "2004 - 2024 Daniel Stenberg, ." #define ARES_VERSION_MAJOR 1 -#define ARES_VERSION_MINOR 28 -#define ARES_VERSION_PATCH 1 +#define ARES_VERSION_MINOR 29 +#define ARES_VERSION_PATCH 0 #define ARES_VERSION \ ((ARES_VERSION_MAJOR << 16) | (ARES_VERSION_MINOR << 8) | \ (ARES_VERSION_PATCH)) -#define ARES_VERSION_STR "1.28.1" +#define ARES_VERSION_STR "1.29.0" #if (ARES_VERSION >= 0x010700) # define CARES_HAVE_ARES_LIBRARY_INIT 1