curl and libcurl 8.12.1

 Public curl releases:         265
 Command line options:         267
 curl_easy_setopt() options:   306
 Public functions in libcurl:  96
 Contributors:                 3339

This release includes the following changes:


This release includes the following bugfixes:

 o asyn-thread: fix build with `CURL_DISABLE_SOCKETPAIR` [47]
 o asyn-thread: fix HTTPS RR crash [10]
 o asyn-thread: fix the returned bitmask from Curl_resolver_getsock [18]
 o build: add tool_hugehelp.c into IBMi build [40]
 o cmake/Find: set `<Modulename>_FOUND` for compatibility when found via `pkg-config` [22]
 o cmake: add integration tests, run them in CI [21]
 o cmake: always reference OpenSSL and ZLIB via imported targets [24]
 o cmake: avoid unnecessary `-L` for implicit link dirs [11]
 o cmake: drop `LDAP_DEPRECATED=1` macro, to sync with autotools [23]
 o cmake: initialize variables where missing [27]
 o cmake: lib order fixes for picky linkers (e.g. binutils `ld`) [26]
 o cmake: normalize before matching paths with syspaths [30]
 o cmake: respect `GNUTLS_CFLAGS` when detected via `pkg-config` [38]
 o cmake: respect `GNUTLS_LIBRARY_DIRS` in `libcurl.pc` and `curl-config` [39]
 o cmake: save a line with `CMAKE_C_IMPLICIT_LINK_DIRECTORIES` exclusion [32]
 o cmake: tidy up string append and list prepend syntax [28]
 o configure/cmake: check for realpath [19]
 o configure/cmake: set asyn-rr a feature only if httpsrr is enabled [42]
 o content_encoding: #error on too old zlib [2]
 o CURLOPT_SSH_KNOWNHOSTS.md: strongly recommend using this [41]
 o CURLSHOPT_SHARE.md: adjust for the new SSL session cache [6]
 o docs: better explain multi-part byte range behavior [4]
 o generate.bat: remove curl_get_line.c from the curlx file list [20]
 o header.md: mention `Authorization:` and `Cookie:` special treatment [43]
 o imap: TLS upgrade fix [14]
 o INTERNALS: fix c-ares, as we actually support 1.6.0 or later [37]
 o ldap: drop support for legacy Novell LDAP SDK [25]
 o lib: include necessary headers for `inet_ntop`/`inet_pton` [8]
 o libssh2: raise lowest supported version to 1.2.8 [3]
 o libssh: drop support for libssh older than 0.9.0 [33]
 o libssh: silence `-Wconversion` with a cast (Windows 32-bit) [7]
 o netrc: return code cleanup, fix missing file error [45]
 o openssl-quic: ignore ciphers for h3 [1]
 o openssl: fix out of scope variables in goto [12]
 o pop3: TLS upgrade fix [15]
 o runtests: fix the disabling of the memory tracking [29]
 o runtests: quote commands to support paths with spaces [35]
 o scache: add magic checks [31]
 o smb: silence `-Warray-bounds` with gcc 13+ [9]
 o smtp: TLS upgrade fix [16]
 o SPONSORS.md: clarify that we don't promise goods or services [5]
 o test1516: avoid failure due to spaces in path [36]
 o test2080: simplify, avoid the null byte
 o tidy-up: make per-file `ARRAYSIZE` macros global as `CURL_ARRAYSIZE` [48]
 o tool_cfgable: sort struct fields by size, use bitfields for booleans [17]
 o tool_getparam: add "TLS required" flag for each such option [44]
 o tool_ssls: switch to tool-specific get_line function [34]
 o wakeup_write: make sure the eventfd write sends eight bytes [46]
 o wolfssl: silence compiler warning (MSVC 2019), simplify existing [13]

This release includes the following known bugs:

 See docs/KNOWN_BUGS (https://curl.se/docs/knownbugs.html)

For all changes ever done in curl:

 See https://curl.se/changes.html

Planned upcoming removals include:

 o Support for the msh3 HTTP/3 backend
 o The winbuild build system
 o TLS libraries not supporting TLS 1.3

 See https://curl.se/dev/deprecate.html for details

This release would not have looked like this without help, code, reports and
advice from friends like these:

  Andrew Kirillov, arlt on github, Christian Schmitz, CueXXIII on Github,
  Dan Fandrich, Daniel Stenberg, deliciouslytyped on github, Fay Stegerman,
  Jan Engelhardt, Kai Pastor, Marcel Raad, Michael Kaufmann,
  mschroeder-fzj on github, Philip Heiduck, qhill, Ralf A. Timmermann,
  Ray Satiro, renovate[bot], Stefan Eissing, Viktor Szakats, zzq1015 on github
  (21 contributors)

References to bug reports and discussions on issues:

 [1] = https://curl.se/bug/?i=16232
 [2] = https://curl.se/bug/?i=16202
 [3] = https://curl.se/bug/?i=16199
 [4] = https://curl.se/bug/?i=16139
 [5] = https://curl.se/bug/?i=16196
 [6] = https://curl.se/bug/?i=16245
 [7] = https://curl.se/bug/?i=16194
 [8] = https://curl.se/bug/?i=16184
 [9] = https://curl.se/bug/?i=16187
 [10] = https://curl.se/bug/?i=16169
 [11] = https://curl.se/bug/?i=16233
 [12] = https://curl.se/bug/?i=16246
 [13] = https://curl.se/bug/?i=16230
 [14] = https://curl.se/bug/?i=16213
 [15] = https://curl.se/bug/?i=16208
 [16] = https://curl.se/bug/?i=16189
 [17] = https://curl.se/bug/?i=16211
 [18] = https://curl.se/bug/?i=16227
 [19] = https://curl.se/bug/?i=16209
 [20] = https://curl.se/bug/?i=16248
 [21] = https://curl.se/bug/?i=16126
 [22] = https://curl.se/bug/?i=16153
 [23] = https://curl.se/bug/?i=16146
 [24] = https://curl.se/bug/?i=16207
 [25] = https://curl.se/bug/?i=16176
 [26] = https://curl.se/bug/?i=16182
 [27] = https://curl.se/bug/?i=16198
 [28] = https://curl.se/bug/?i=16144
 [29] = https://curl.se/bug/?i=16226
 [30] = https://curl.se/bug/?i=16191
 [31] = https://curl.se/bug/?i=16240
 [32] = https://curl.se/bug/?i=16243
 [33] = https://curl.se/bug/?i=16200
 [34] = https://curl.se/bug/?i=16201
 [35] = https://curl.se/bug/?i=16220
 [36] = https://curl.se/bug/?i=16223
 [37] = https://curl.se/bug/?i=16221
 [38] = https://curl.se/bug/?i=16242
 [39] = https://curl.se/bug/?i=16190
 [40] = https://curl.se/bug/?i=16214
 [41] = https://curl.se/bug/?i=16204
 [42] = https://curl.se/bug/?i=16183
 [43] = https://curl.se/bug/?i=16160
 [44] = https://curl.se/bug/?i=16159
 [45] = https://curl.se/bug/?i=16163
 [46] = https://curl.se/bug/?i=16237
 [47] = https://curl.se/bug/?i=16179
 [48] = https://curl.se/bug/?i=16111
