curl and libcurl 8.11.0

 Public curl releases:         262
 Command line options:         265
 curl_easy_setopt() options:   306
 Public functions in libcurl:  94
 Contributors:                 3246

This release includes the following changes:

 o curl: --create-dirs works for --dump-header as well [4]
 o gtls: Add P12 format support [9]
 o ipfs: add options to disable [8]
 o WebSockets: make support official (non-experimental) [106]

This release includes the following bugfixes:

 o alt-svc: honor data->state.httpwant [19]
 o autotools: add support for 'unity' builds, enable in CI [15]
 o build: add pytest targets [71]
 o build: clarify CA embed is for curl tool, mark default, improve summary [72]
 o build: fix cross-compile check for poll with bionic [70]
 o build: fix possible `-Wformat-overflow` in lib557 [85]
 o build: limit arc4random detection to no-SSL configs [43]
 o build: show if CA bundle to embed was found [83]
 o build: tidy up and improve versioned-symbols options [5]
 o build: tidy up deprecation suppression, enable warnings for clang [12]
 o checksrc: Added checks for colon operator in ternary expressions [77]
 o checksrc: check for spaces around '?', '>' and '<' [46]
 o cmake, Makefile.mk: use -isystem for headers, silence BearSSL issues [37]
 o cmake/FindNGTCP2: use library path as hint for finding crypto module [40]
 o cmake: allow building tests in unity mode [31]
 o cmake: delete unused NEED_LBER_H, HAVE_LDAP_H [38]
 o cmake: disable default OpenSSL if BearSSL, GnuTLS or Rustls is enabled [44]
 o cmake: drop redundant assignments [49]
 o cmake: drop redundant zlib var, rename function (internals) [50]
 o cmake: expand CURL_USE_PKGCONFIG to non-cross MINGW [13]
 o cmake: fix broken dependency chain for cmdline-opts, tidy-ups [11]
 o cmake: make `test-ci` target skip building dependencies [88]
 o cmake: readd `generate-curl.1` dependency for `src` just in case [86]
 o cmake: require quictls (or fork) when using msh3 on non-Windows [14]
 o cmake: separate target for examples, optimize CI, fix fallouts [16]
 o cmake: sync torture test parallelism with autotools [35]
 o configure: catch Apple in more target triplets [6]
 o configure: improve help string for some options [78]
 o curl: add build options for safe/no CA bundle search (Windows) [26]
 o curl_trc: fix build with verbose messages disabled [79]
 o curl_url_set.md: document HOST handling when URL is parsed [2]
 o CURLMOPT_PIPELINING.md: clarify that CURLPIPE_NOTHING is not default [54]
 o docs/cmdline-opts: GnuTLS supports PKCS#11 URI in --cert option [101]
 o ftp: fix 0-length last write on upload from stdin [76]
 o lib, src, tests: added space around ternary expressions [56]
 o lib/cw-out: initialize 'flush_all' directly [62]
 o lib/src: white space edits to comply better with code style [47]
 o lib: avoid assigning 'result' temporarily [97]
 o lib: fix disabled-verbose-strings + enable-debug build warnings
 o lib: fix unity builds with BearSSL, MSH3, Quiche, OmniOS [32]
 o lib: use bool/TRUE/FALSE properly [48]
 o libssh.c: handle EGAINS during proto-connect correctly [23]
 o libssh2: use the Curl_* memory functions to avoid memdebug [22]
 o multi.c: make stronger check for paused transfer before asserting [24]
 o multi.c: warn/assert on stall only without timer [80]
 o multi: avoid reading whole struct pointer from pointer [10]
 o multi: make multi_handle_timeout use the connect timeout [98]
 o negotiate: conditional check around GSS & SSL specific code [1]
 o openssl: convert a memcpy to dynbuf use [57]
 o openssl: remove two strcpy() calls [64]
 o processhelp.pm: improve taskkill calls (Windows) [52]
 o quic: use send/recvmmsg when available [93]
 o request: on shutdown send, proceed normally on timeout [18]
 o runtests.md: suggest a value for -j for torture tests
 o runtests: drop unused code for old/classic-mingw support [87]
 o select: use poll() if existing, avoid poll() with no sockets [75]
 o sendf: add condition to max-filesize check [3]
 o singleuse: make `git grep` faster, add Apple `nm` support [109]
 o socks_gssapi: switch to dynbuf from buffer with strcpy [42]
 o test1035: convert host name back to utf8 as should be [63]
 o test1540: add debug logging [58]
 o test190: replace %FTPTIME2 with a fixed value [34]
 o test2502: add libtest debug tracing [60]
 o test504: fix handling on pending connect [59]
 o testrun: explicitly set proper IP address for stunnel listen/connect [61]
 o tests/valgrind.pm: fix warnings with no valgrind report to show [25]
 o tests: add and use `%PERL` variable to refer to the Perl binary [82]
 o tests: add codeset-utf8 as a feature [66]
 o tests: add file: tests with existing files [45]
 o tests: check http/2 and http/3 server responsiveness [28]
 o tests: delete duplicate macro check [53]
 o tests: fix `%POSIX_PWD` on native Windows Perl [111]
 o tests: fix keyword for test1411
 o tests: fix shell quoting on native Windows Perl [110]
 o tests: fixup `checkcmd` `PATH` on non-unixy platforms [108]
 o tests: improve mqtt server handling [27]
 o tests: introduce %CLIENT6IP-NB [67]
 o tests: let openssl generate random cert serials [91]
 o tests: libtests and unit tests need explicit #include memdebug [7]
 o tests: make precheck for HTTP on 127.0.0.1 into a feature [68]
 o tests: Only log warnings or worse by default in smbserver [33]
 o tests: postcheck is now in verify [69]
 o tests: remove all valgrind disable instructions [21]
 o tests: remove debug requirement on 38 tests [100]
 o tests: remove the %FTPTIME3 variable [41]
 o tests: replace `%PWD` with `%FILE_PWD` for `file://` [84]
 o tests: replace `%PWD` with `%SSH_PWD` in SCP/SFTP tests [112]
 o tests: replace hard-coded `/dev/null` with variable [81]
 o tests: simplify `pathhelp.pm`, avoid using external tools [95]
 o tests: speed up builds with single-binary test bundles [29]
 o tests: testrunner fairness [39]
 o tests: testrunner reliability improvements [55]
 o tests: use '-4' where needed [17]
 o tidy-up: rename CURL_WINDOWS_APP to CURL_WINDOWS_UWP [36]
 o tool: support --show-headers AND --remote-header-name [103]
 o tool_doswin: simplify; remove unused options and strncpy calls [65]
 o unit1660: fix unreachable code warning in no-SSL builds [30]
 o url: connection reuse on h3 connections [20]
 o urlapi: drop unused header [51]
 o vtls: convert Curl_pin_peer_pubkey to use dynbuf [74]
 o vtls: convert pubkey_pem_to_der to use dynbuf [90]
 o wolfssl: convert malloc + memcpys to dynbuf for cipher string [96]

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 Hyper support after February 2025 [89]
 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:

  Aki Sakurai, Baruch Siach, Dan Fandrich, Daniel Stenberg,
  Denis Goleshchikhin, Deniz Sökmen, dependabot[bot], Gabriel Marin,
  Ian Spence, Jon Rumsey, Kai Pastor, lomberd2 on github, MacKenzie,
  Montg0mery on github, Nicolas George, Pavel Kropachev, ralfjunker on github,
  Rasmus Melchior Jacobsen, Ray Satiro, renovate[bot], Stefan Eissing,
  Tal Regev, Tatsuhiro Tsujikawa, Testclutch, Venkat Krishna R, Viktor Szakats,
  vvb2060 on github
  (27 contributors)

References to bug reports and discussions on issues:

 [1] = https://curl.se/bug/?i=14938
 [2] = https://curl.se/bug/?i=14942
 [3] = https://curl.se/bug/?i=14958
 [4] = https://curl.se/bug/?i=14941
 [5] = https://curl.se/bug/?i=14818
 [6] = https://curl.se/bug/?i=14728
 [7] = https://curl.se/bug/?i=15007
 [8] = https://curl.se/bug/?i=14824
 [9] = https://curl.se/bug/?i=14991
 [10] = https://curl.se/bug/?i=15063
 [11] = https://curl.se/bug/?i=14883
 [12] = https://curl.se/bug/?i=14789
 [13] = https://curl.se/bug/?i=14658
 [14] = https://curl.se/bug/?i=15003
 [15] = https://curl.se/bug/?i=14815
 [16] = https://curl.se/bug/?i=14906
 [17] = https://curl.se/bug/?i=15060
 [18] = https://curl.se/bug/?i=14843
 [19] = https://curl.se/bug/?i=14966
 [20] = https://curl.se/bug/?i=14890
 [21] = https://curl.se/bug/?i=14983
 [22] = https://curl.se/bug/?i=14984
 [23] = https://curl.se/bug/?i=14982
 [24] = https://curl.se/bug/?i=14981
 [25] = https://curl.se/bug/?i=14977
 [26] = https://curl.se/bug/?i=14582
 [27] = https://curl.se/bug/?i=15059
 [28] = https://curl.se/bug/?i=15058
 [29] = https://curl.se/bug/?i=14772
 [30] = https://curl.se/bug/?i=14971
 [31] = https://curl.se/bug/?i=14765
 [32] = https://curl.se/bug/?i=14932
 [33] = https://curl.se/bug/?i=14950
 [34] = https://curl.se/bug/?i=15056
 [35] = https://curl.se/bug/?i=14969
 [36] = https://curl.se/bug/?i=14881
 [37] = https://curl.se/bug/?i=14763
 [38] = https://curl.se/bug/?i=14690
 [39] = https://curl.se/bug/?i=14967
 [40] = https://github.com/curl/curl-for-win/blob/8b8909e1206de1dcca356a8dd33eb1e4ffeea7fd/curl.sh#L289
 [41] = https://curl.se/bug/?i=15064
 [42] = https://curl.se/bug/?i=15057
 [43] = https://curl.se/bug/?i=14909
 [44] = https://curl.se/bug/?i=14828
 [45] = https://curl.se/bug/?i=15045
 [46] = https://curl.se/bug/?i=14921
 [47] = https://curl.se/bug/?i=14921
 [48] = https://curl.se/bug/?i=15123
 [49] = https://curl.se/bug/?i=14924
 [50] = https://curl.se/bug/?i=14918
 [51] = https://curl.se/bug/?i=14867
 [52] = https://curl.se/bug/?i=14959
 [53] = https://curl.se/bug/?i=14963
 [54] = https://curl.se/bug/?i=14961
 [55] = https://curl.se/bug/?i=14960
 [56] = https://curl.se/bug/?i=14912
 [57] = https://curl.se/bug/?i=15049
 [58] = https://curl.se/bug/?i=15055
 [59] = https://curl.se/bug/?i=15054
 [60] = https://curl.se/bug/?i=15053
 [61] = https://curl.se/bug/?i=15051
 [62] = https://curl.se/bug/?i=15044
 [63] = https://curl.se/bug/?i=15050
 [64] = https://curl.se/bug/?i=15052
 [65] = https://curl.se/bug/?i=15047
 [66] = https://curl.se/bug/?i=15039
 [67] = https://curl.se/bug/?i=15039
 [68] = https://curl.se/bug/?i=15039
 [69] = https://curl.se/bug/?i=15046
 [70] = https://curl.se/bug/?i=15013
 [71] = https://curl.se/bug/?i=15034
 [72] = https://curl.se/bug/?i=15035
 [74] = https://curl.se/bug/?i=15126
 [75] = https://curl.se/bug/?i=15096
 [76] = https://curl.se/bug/?i=15101
 [77] = https://curl.se/bug/?i=14990
 [78] = https://curl.se/bug/?i=15033
 [79] = https://curl.se/bug/?i=15026
 [80] = https://curl.se/bug/?i=15028
 [81] = https://curl.se/bug/?i=15098
 [82] = https://curl.se/bug/?i=15097
 [83] = https://curl.se/bug/?i=15027
 [84] = https://curl.se/bug/?i=15090
 [85] = https://curl.se/bug/?i=15012
 [86] = https://curl.se/bug/?i=15088
 [87] = https://curl.se/bug/?i=15087
 [88] = https://curl.se/bug/?i=15001
 [89] = https://curl.se/bug/?i=15010
 [90] = https://curl.se/bug/?i=15126
 [91] = https://curl.se/bug/?i=15129
 [93] = https://curl.se/bug/?i=14880
 [95] = https://curl.se/bug/?i=15111
 [96] = https://curl.se/bug/?i=15124
 [97] = https://curl.se/bug/?i=15122
 [98] = https://curl.se/bug/?i=15100
 [100] = https://curl.se/bug/?i=15114
 [101] = https://curl.se/bug/?i=15075
 [103] = https://curl.se/bug/?i=15110
 [106] = https://curl.se/bug/?i=14936
 [108] = https://curl.se/bug/?i=15106
 [109] = https://curl.se/bug/?i=15070
 [110] = https://curl.se/bug/?i=15105
 [111] = https://curl.se/bug/?i=15104
 [112] = https://curl.se/bug/?i=15103
