curl and libcurl 7.66.0 Public curl releases: 185 Command line options: 225 curl_easy_setopt() options: 269 Public functions in libcurl: 81 Contributors: 1991 This release includes the following changes: o CURLINFO_RETRY_AFTER: parse the Retry-After header value [35] o HTTP3: initial (experimental still not working) support [5] o curl: --sasl-authzid added to support CURLOPT_SASL_AUTHZID from the tool [27] o curl: support parallel transfers with -Z [4] o curl_multi_poll: a sister to curl_multi_wait() that waits more [28] o sasl: Implement SASL authorisation identity via CURLOPT_SASL_AUTHZID [27] This release includes the following bugfixes: o CURLOPT_HTTP_VERSION: seting this to 3 forces HTTP/3 use directly [33] o HTTP: use chunked Transfer-Encoding for HTTP_POST if size unknown [10] o alt-svc: add protocol version selection masking [31] o alt-svc: more liberal ALPN name parsing [17] o alt-svc: send Alt-Used: in redirected requests [32] o altsvc: fix removal of expired cache entry [30] o altsvc: with quiche, use the quiche h3 alpn string [16] o appveyor: pass on -k to make o asyn-thread: create a socketpair to wait on [14] o cleanup: remove the 'numsocks' argument used in many places [25] o curl.h: add CURL_HTTP_VERSION_3 to the version enum o curl.h: fix outdated comment [23] o curl: cap the maximum allowed values for retry time arguments [13] o curl: make use of CURLINFO_RETRY_AFTER when retrying [35] o curl: remove outdated comment [24] o curl: use CURLINFO_PROTOCOL to check for HTTP(s) o curl_version_info: provide nghttp2 details [2] o docs/ALTSVC: remove what works and the experimental explanation [34] o docs/EXPERIMENTAL: explain what it means and what's experimental now o docs/MANUAL.md: converted to markdown from plain text [3] o easy: resize receive buffer on easy handle reset [9] o examples: Avoid reserved names in hiperfifo examples [8] o getenv: support up to 4K environment variable contents on windows [21] o http09: disable HTTP/0.9 by default in both tool and library [29] o http2_recv: trigger another read when the last data is returned [11] o http_negotiate: improve handling of gss_init_sec_context() failures [18] o md4: Use our own MD4 when no crypto libraries are available [15] o multi: call detach_connection before Curl_disconnect [6] o plan9: add support for running on Plan 9 [22] o progress: reset download/uploaded counter between transfers [12] o readwrite_data: repair setting the TIMER_STARTTRANSFER stamp [26] o source: remove names from source comments [1] o src/makefile: fix uncompressed hugehelp.c generation [19] o ssh-libssh: do not specify O_APPEND when not in append mode [7] o timediff: make it 64 bit (if possible) even with 32 bit time_t [20] o url: make use of new HTTP version if alt-svc has one [16] o docs: s/curl_debug/curl_dbg_debug in comments and docs [36] o curl_global_init_mem.3: mention it was added in 7.12.0 o CURLOPT_READFUNCTION.3: provide inline example o configure: avoid undefined check_for_ca_bundle [37] This release includes the following known bugs: o see docs/KNOWN_BUGS (https://curl.haxx.se/docs/knownbugs.html) This release would not have looked like this without help, code, reports and advice from friends like these: Alessandro Ghedini, Alex Mayorga, Amit Katyal, Balazs Kovacsics, Brad Spencer, Carlo Marcelo Arenas Belón, Daniel Gustafsson, Daniel Stenberg, Eric Wong, Felix Hädicke, Gergely Nagy, Gisle Vanem, Ironbars13 on github, Jason Lee, Jonathan Cardoso Machado, Kamil Dudka, Kyohei Kadota, Lance Ware, Marcel Raad, Michael Lee, Michal Čaplygin, niallor on github, Patrick Monnerat, Ray Satiro, Steve Holme, Tatsuhiro Tsujikawa, The Infinnovation team, Tom van der Woerdt, Yiming Jing, (29 contributors) Thanks! (and sorry if I forgot to mention someone) References to bug reports and discussions on issues: [1] = https://curl.haxx.se/bug/?i=4129 [2] = https://curl.haxx.se/bug/?i=4121 [3] = https://curl.haxx.se/bug/?i=4131 [4] = https://curl.haxx.se/bug/?i=3804 [5] = https://curl.haxx.se/bug/?i=3500 [6] = https://curl.haxx.se/bug/?i=4144 [7] = https://curl.haxx.se/bug/?i=4147 [8] = https://curl.haxx.se/bug/?i=4153 [9] = https://curl.haxx.se/bug/?i=4143 [10] = https://curl.haxx.se/bug/?i=4138 [11] = https://curl.haxx.se/bug/?i=4043 [12] = https://curl.haxx.se/bug/?i=4084 [13] = https://curl.haxx.se/bug/?i=4166 [14] = https://curl.haxx.se/bug/?i=4157 [15] = https://curl.haxx.se/bug/?i=3780 [16] = https://curl.haxx.se/bug/?i=4183 [17] = https://curl.haxx.se/bug/?i=4182 [18] = https://curl.haxx.se/bug/?i=3992 [19] = https://curl.haxx.se/bug/?i=4176 [20] = https://curl.haxx.se/bug/?i=4165 [21] = https://curl.haxx.se/bug/?i=4174 [22] = https://curl.haxx.se/bug/?i=3701 [23] = https://curl.haxx.se/bug/?i=4167 [24] = https://curl.haxx.se/bug/?i=4172 [25] = https://curl.haxx.se/bug/?i=4169 [26] = https://curl.haxx.se/bug/?i=4136 [27] = https://curl.haxx.se/bug/?i=3653 [28] = https://curl.haxx.se/bug/?i=4163 [29] = https://curl.haxx.se/bug/?i=4191 [30] = https://curl.haxx.se/bug/?i=4192 [31] = https://curl.haxx.se/bug/?i=4201 [32] = https://curl.haxx.se/bug/?i=4199 [33] = https://curl.haxx.se/bug/?i=4197 [34] = https://curl.haxx.se/bug/?i=4198 [35] = https://curl.haxx.se/bug/?i=3794 [36] = https://curl.haxx.se/bug/?i=3794 [37] = https://curl.haxx.se/bug/?i=4213