curl and libcurl 8.13.0

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

This release includes the following changes:

 o curl: add write-out variable 'tls_earlydata' [79]
 o rustls: add support for CERTINFO [106]
 o tool_getparam: make --url support a file with URLs [104]
 o var: add a '64dec' function that can base64 decode a string [78]
 o wolfssl: tls early data support [50]

This release includes the following bugfixes:

 o addrinfo: add curl macro to avoid redefining foreign symbols [29]
 o asyn-thread: avoid the separate 'struct resdata' alloc [20]
 o asyn-thread: avoid the separate curl_mutex_t alloc [6]
 o asyn-thread: do not allocate thread_data separately [21]
 o asyn-thread: remove 'status' from struct Curl_async [36]
 o build: add Windows CE / CeGCC support, with CI jobs [87]
 o build: drop unused `getpart` tool [107]
 o build: enable -Wjump-misses-init for GCC 4.5+ [62]
 o build: fix compiler warnings in feature detections [39]
 o build: set `HAVE_WRITABLE_ARGV` for Apple cross-builds [8]
 o build: silence bogus `-Wconversion` warnings with gcc 5.1-5.4 [68]
 o c-ares: error out for unsupported versions, drop unused macros [85]
 o ca-native.md: sync with CURLSSLOPT_NATIVE_CA [72]
 o cf-socket: deduplicate Windows Vista detection [11]
 o client writer: handle pause before deocding [61]
 o cmake: `SHARE_LIB_OBJECT=ON` requires CMake 3.12 or newer [46]
 o cmake: add pre-fill for Unix, enable in GHA/macos, verify pre-fills [42]
 o cmake: allow empty `IMPORT_LIB_SUFFIX`, add suffix collision detection [41]
 o cmake: avoid `-Wnonnull` warning in `HAVE_FSETXATTR_5` detection [81]
 o cmake: disable HTTPS-proxy as a feature if proxy is disabled [77]
 o cmake: drop `CURL_DISABLE_TESTS` option [94]
 o cmake: drop `HAVE_IN_ADDR_T` from pre-fill too
 o cmake: drop two stray TLS feature checks for wolfSSL [9]
 o cmake: fix `HAVE_ATOMIC`/`HAVE_STDATOMIC` pre-fill for clang-cl [28]
 o cmake: fix ECH detection in custom-patched OpenSSL [32]
 o cmake: hide empty `MINGW64_VERSION` output for mingw32ce [114]
 o cmake: mention 'insecure' in the debug build warning [15]
 o cmake: misc tidy-ups [38]
 o cmake: pre-fill known type sizes for Windows OSes [100]
 o cmake: restrict static CRT builds to static curl exe, test in CI [113]
 o cmake: sync cutoff version with autotools for picky option `-ftree-vrp` [99]
 o cmake: sync OpenSSL(-fork) feature checks with `./configure` [49]
 o CODE_STYLE: readability and banned functions [35]
 o configure: silence compiler warnings in feature checks, drop duplicates [86]
 o configure: use `curl_cv_apple` variable [40]
 o conn: fix connection reuse when SSL is optional [54]
 o contributors.sh: lowercase 'github' for consistency [52]
 o contrithanks.sh: update docs/THANKS in place [119]
 o cookie: do prefix matching case-sensitively [82]
 o cookie: minor parser simplification [58]
 o cookie: simplify invalid_octets() [24]
 o curl.h: change some enums to defines with L suffix [84]
 o curl_msh3: remove verify bypass from DEBUGBUILDs [43]
 o curl_trc: fix build with CURL_DISABLE_VERBOSE_STRINGS [109]
 o CURLMOPT_SOCKETFUNCTION.md: add advice for socket callback invocation[69]
 o CURLOPT_HTTPHEADER.md: add comments to the example [90]
 o CURLOPT_HTTPHEADER.md: rephrases [108]
 o docs: add FD_ZERO to curl_multi_fdset example [19]
 o docs: bump `rustls` to 0.14.1 [111]
 o docs: correct argument names & URL redirection [4]
 o eventfd: allow use on all CPUs [93]
 o gnutls: fix connection state check on handshake [80]
 o hash: use single linked list for entries [57]
 o hostip: make CURLOPT_RESOLVE support replacing IPv6 addresses [47]
 o HTTP3.md: only speak about minimal versions [18]
 o http: convert parsers to strparse [48]
 o http: fix NTLM info message typo [22]
 o http: fix the auth check [88]
 o http: make the RTSP version check stricter [73]
 o http: negotiation and room for alt-svc/https rr to navigate [64]
 o http: version negotiation [45]
 o http_aws_sigv4: use strparse more for parsing [55]
 o https-rr: implementation improvements [44]
 o httpsrr: fix port detection [51]
 o httpsrr: fix the HTTPS-RR threaded-resolver build combo [67]
 o INSTALL-CMAKE.md: CMake usage updates [101]
 o INSTALL-CMAKE.md: mention `ZLIB_USE_STATIC_LIBS` [112]
 o lib: better optimized casecompare() and ncasecompare() [3]
 o lib: simplify more white space loops [60]
 o lib: strtoofft.h header cleanup [17]
 o lib: use Curl_str_* instead of strtok_r() [59]
 o lib: use Curl_str_number() for parsing decimal numbers [13]
 o libtest/libprereq.c: set CURLOPT_FOLLOWLOCATION with a long [89]
 o managen: correct the warning for un-escaped '<' and '>' [1]
 o msvc: drop support for VS2005 and older [96]
 o multi: event based rework [74]
 o openssl: check return value of X509_get0_pubkey [105]
 o openssl: drop support for old OpenSSL/LibreSSL versions [95]
 o openssl: remove bad `goto`s into other scope [63]
 o runtests: drop recognizing 'winssl' as Schannel [102]
 o runtests: drop ref to unused external function
 o runtests: recognize AWS-LC as OpenSSL [103]
 o runtests: support multi-target cmake, drop workarounds from CI [116]
 o schannel: deduplicate Windows Vista detection [98]
 o schannel: enable ALPN support under WINE 6.0+ [92]
 o schannel: enable ALPN with MinGW, fix ALPN for UWP builds [71]
 o schannel: guard ALPN init code to ALPN builds [91]
 o scripts/managen: fix option 'single' [31]
 o scripts/managen: fix parsing of markdown code sections [30]
 o setopt: remove unnecesary void pointer typecasts [76]
 o ssh: consider sftp quote commands case sensitive [33]
 o ssl session cache: add exportable flag [56]
 o strparse: make Curl_str_number() return error for no digits [14]
 o strparse: switch the API to work on 'const char *' [2]
 o strparse: switch to curl_off_t as base data type [7]
 o tests: fix enum/int confusion, fix autotools `CFLAGS` for `servers` [27]
 o tidy-up: align MSYS2/Cygwin codepaths, follow Cygwin `MAX_PID` bump [97]
 o tidy-up: delete, comment or scope C macros reported unused [16]
 o tidy-up: drop unused `CURL_INADDR_NONE` macro and `in_addr_t` type [26]
 o tidy-up: use `CURL_ARRAYSIZE()` [37]
 o timediff: fix comment for curlx_mstotv() [25]
 o timediff: remove unnecessary double typecast [53]
 o tool_getparam: clear sensitive arguments better [66]
 o tool_operate: fail SSH transfers without server auth [70]
 o urlapi: simplify junkscan [23]
 o variable.md: clarify 'trim' example [12]
 o windows: drop code and curl manifest targeting W2K and older [115]
 o wolfssh: retrieve the error using wolfSSH_get_error [5]
 o wolfssl: fix CA certificate multiple location import [34]
 o wolfssl: warn if CA native import option is ignored [65]
 o wolfssl: when using PQ KEM, use ML-KEM, not Kyber [10]

This release includes the following known bugs:

 See 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

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

  Anthony Hu, Dan Fandrich, Daniel Stenberg, dependabot[bot], Derek Huang,
  Dexter Gerig, Harry Sintonen, Jeremy Drake, John Bampton, Joseph Chen,
  kayrus on github, kriztalz, Laurențiu Nicola, lf- on github, Marcel Raad,
  Mark Phillips, qhill on github, Ray Satiro, renovate[bot], rmg-x on github,
  RubisetCie on github, Sergey, Stefan Eissing, Tianyi Song, Timo Tijhof,
  Viktor Szakats, Yedaya Katsman, Zenju on github
  (28 contributors)

References to bug reports and discussions on issues:

 [1] = https://curl.se/bug/?i=16315
 [2] = https://curl.se/bug/?i=16316
 [3] = https://curl.se/bug/?i=16311
 [4] = https://curl.se/bug/?i=16334
 [5] = https://curl.se/bug/?i=16335
 [6] = https://curl.se/bug/?i=16323
 [7] = https://curl.se/bug/?i=16336
 [8] = https://curl.se/bug/?i=16338
 [9] = https://curl.se/bug/?i=16339
 [10] = https://curl.se/bug/?i=16337
 [11] = https://curl.se/bug/?i=16400
 [12] = https://curl.se/bug/?i=16346
 [13] = https://curl.se/bug/?i=16319
 [14] = https://curl.se/bug/?i=16319
 [15] = https://curl.se/bug/?i=16327
 [16] = https://curl.se/bug/?i=16279
 [17] = https://curl.se/bug/?i=16331
 [18] = https://curl.se/bug/?i=16320
 [19] = https://curl.se/bug/?i=16325
 [20] = https://curl.se/bug/?i=16321
 [21] = https://curl.se/bug/?i=16241
 [22] = https://curl.se/bug/?i=16305
 [23] = https://curl.se/bug/?i=16307
 [24] = https://curl.se/bug/?i=16306
 [25] = https://curl.se/bug/?i=16310
 [26] = https://curl.se/bug/?i=16318
 [27] = https://curl.se/bug/?i=16314
 [28] = https://curl.se/bug/?i=16313
 [29] = https://curl.se/bug/?i=16274
 [30] = https://curl.se/bug/?i=16345
 [31] = https://curl.se/bug/?i=16344
 [32] = https://curl.se/bug/?i=16354
 [33] = https://curl.se/bug/?i=16382
 [34] = https://curl.se/bug/?i=16391
 [35] = https://curl.se/bug/?i=16349
 [36] = https://curl.se/bug/?i=16347
 [37] = https://curl.se/bug/?i=16381
 [38] = https://curl.se/bug/?i=16238
 [39] = https://curl.se/bug/?i=16287
 [40] = https://curl.se/bug/?i=16340
 [41] = https://curl.se/bug/?i=16324
 [42] = https://curl.se/bug/?i=15841
 [43] = https://curl.se/bug/?i=16342
 [44] = https://curl.se/bug/?i=16132
 [45] = https://curl.se/bug/?i=16100
 [46] = https://curl.se/bug/?i=16375
 [47] = https://curl.se/bug/?i=16357
 [48] = https://curl.se/bug/?i=16436
 [49] = https://curl.se/bug/?i=16352
 [50] = https://curl.se/bug/?i=16167
 [51] = https://curl.se/bug/?i=16409
 [52] = https://curl.se/bug/?i=16443
 [53] = https://curl.se/bug/?i=16367
 [54] = https://curl.se/bug/?i=16384
 [55] = https://curl.se/bug/?i=16366
 [56] = https://curl.se/bug/?i=16322
 [57] = https://curl.se/bug/?i=16351
 [58] = https://curl.se/bug/?i=16362
 [59] = https://curl.se/bug/?i=16360
 [60] = https://curl.se/bug/?i=16363
 [61] = https://curl.se/bug/?i=16280
 [62] = https://curl.se/bug/?i=16252
 [63] = https://curl.se/bug/?i=16356
 [64] = https://curl.se/bug/?i=16117
 [65] = https://curl.se/bug/?i=16417
 [66] = https://curl.se/bug/?i=16396
 [67] = https://curl.se/bug/?i=16399
 [68] = https://curl.se/bug/?i=16398
 [69] = https://curl.se/bug/?i=16441
 [70] = https://curl.se/bug/?i=16205
 [71] = https://curl.se/bug/?i=16385
 [72] = https://curl.se/bug/?i=16373
 [73] = https://curl.se/bug/?i=16435
 [74] = https://curl.se/bug/?i=16308
 [76] = https://curl.se/bug/?i=16426
 [77] = https://curl.se/bug/?i=16434
 [78] = https://curl.se/bug/?i=16330
 [79] = https://curl.se/bug/?i=15956
 [80] = https://curl.se/bug/?i=16423
 [81] = https://curl.se/bug/?i=16427
 [82] = https://curl.se/bug/?i=16494
 [84] = https://curl.se/bug/?i=16482
 [85] = https://curl.se/bug/?i=16407
 [86] = https://curl.se/bug/?i=16377
 [87] = https://curl.se/bug/?i=15975
 [88] = https://curl.se/bug/?i=16419
 [89] = https://curl.se/bug/?i=16487
 [90] = https://curl.se/bug/?i=16488
 [91] = https://curl.se/bug/?i=16420
 [92] = https://curl.se/bug/?i=16393
 [93] = https://curl.se/bug/?i=16277
 [94] = https://curl.se/bug/?i=16134
 [95] = https://curl.se/bug/?i=16104
 [96] = https://curl.se/bug/?i=16004
 [97] = https://curl.se/bug/?i=16217
 [98] = https://curl.se/bug/?i=16408
 [99] = https://curl.se/bug/?i=16478
 [100] = https://curl.se/bug/?i=16464
 [101] = https://curl.se/bug/?i=16329
 [102] = https://curl.se/bug/?i=16467
 [103] = https://curl.se/bug/?i=16466
 [104] = https://curl.se/bug/?i=16099
 [105] = https://curl.se/bug/?i=16468
 [106] = https://curl.se/bug/?i=16459
 [107] = https://curl.se/bug/?i=16460
 [108] = https://curl.se/bug/?i=16461
 [109] = https://curl.se/bug/?i=16462
 [111] = https://curl.se/bug/?i=16446
 [112] = https://curl.se/bug/?i=16457
 [113] = https://curl.se/bug/?i=16456
 [114] = https://curl.se/bug/?i=16455
 [115] = https://curl.se/bug/?i=16453
 [116] = https://curl.se/bug/?i=16452
 [119] = https://curl.se/bug/?i=16448
