curl and libcurl 7.83.0 Public curl releases: 207 Command line options: 247 curl_easy_setopt() options: 295 Public functions in libcurl: 88 Contributors: 2607 This release includes the following changes: o curl: add %header{name} support in -w handling o curl: add %{header_json} support in -w handling o curl: add --no-clobber [28] o curl: add --remove-on-error [11] o header api: add curl_easy_header and curl_easy_nextheader [56] This release includes the following bugfixes: o BearSSL: add CURLOPT_SSL_CIPHER_LIST support [27] o BearSSL: add CURLOPT_SSL_CTX_FUNCTION support [26] o BINDINGS.md: add Hollywood binding [34] o CI: Do not use buildconf. Instead, just use: autoreconf -fi [42] o CI: install Python package impacket to run SMB test 1451 [5] o configure.ac: move -pthread CFLAGS setting back where it used to be [14] o configure: bump the copyright year range int the generated output o connect: make Curl_getconnectinfo work with conn cache from share handle [22] o connect: use TCP_KEEPALIVE only if TCP_KEEPIDLE is not defined [6] o curl/system.h: update ifdef condition for MCST-LCC compiler [4] o curl: error out when options need features not present in libcurl [18] o curl: fix segmentation fault for empty output file names. [60] o CURLOPT_DISALLOW_USERNAME_IN_URL.3: use uppercase URL o CURLOPT_PROGRESSFUNCTION.3: fix typo in example [63] o CURLSHOPT_UNLOCKFUNC.3: fix the callback prototype [9] o docs/HYPER.md: updated to reflect current hyper build needs o docs/opts: Mention Schannel client cert type is P12 [50] o docs: lots of minor language polish [51] o firefox-db2pem.sh: make the shell script safer [47] o GHA: build hyper with nightly rustc [7] o gha: move the event-based test over from Zuul [59] o gtls: fix build for disabled TLS-SRP [48] o http: reject header contents with nul bytes [41] o http: return error on colon-less HTTP headers [31] o hyper: fix status_line() return code [13] o hyper: no h2c support [33] o ipv4/6.d: clarify that they are about using IP addresses [3] o json.d: fix typo (overriden -> overridden) [24] o keepalive-time.d: It takes many probes to detect brokenness [29] o lib/warnless.[ch]: only check for WIN32 and ignore _WIN32 [45] o lib: fix some misuse of curlx_convert_wchar_to_UTF8 [38] o libssh: fix build with old libssh versions [12] o libssh: Improve fix for missing SSH_S_ stat macros [10] o libssh: unstick SFTP transfers when done event-based [58] o mk-ca-bundle.pl: Use stricter logic to process the certificates [39] o mk-ca-bundle.vbs: delete this script in favor of mk-ca-bundle.pl [8] o mlc_config.json: add file to ignore known troublesome URLs [35] o mqtt: better handling of TCP disconnect mid-message [55] o ngtcp2: add client certificate authentication for OpenSSL [15] o ngtcp2: disconnect the QUIC connection proper [19] o ngtcp2: update to work after recent ngtcp2 updates [62] o nonblock: restore setsockopt method to curlx_nonblock [20] o openssl: check SSL_get_peer_cert_chain return value [1] o openssl: enable CURLOPT_SSL_EC_CURVES with BoringSSL [23] o openssl: fix CN check error code [21] o options: remove mistaken space before paren in prototype o pop3/smtp: return *WEIRD_SERVER_REPLY when not understood [43] o projects: Update VC version names for VS2017, VS2022 [52] o rtsp: don't let CSeq error override earlier errors [37] o runtests: make 'oldlibssh' be before 0.9.4 [2] o scripts/copyright.pl: ignore the new mlc_config.json file o scripts: move three scripts from lib/ to scripts/ [44] o test1135: sync with recent API updates [54] o test1459: disable for oldlibssh [53] o test375: fix line endings on Windows [40] o test386: Fix an incorrect test markup tag o test718: edited slightly to return better HTTP [32] o tests/server/util.h: align WIN32 condition with util.c [46] o tool and tests: force flush of all buffers at end of program [17] o tool_cb_hdr: Turn the Location: into a terminal hyperlink [30] o tool_operate: fix a scan-build warning [16] o winbuild/README.md: fixup dead link [36] o winbuild: Add a Visual Studio example to the README [49] o wolfssl: fix compiler error without IPv6 [25] This release includes the following known bugs: o see docs/KNOWN_BUGS (https://curl.se/docs/knownbugs.html) This release would not have looked like this without help, code, reports and advice from friends like these: Alejandro R. Sedeño, Andreas Falkenhahn, Colin Leroy, Dan Fandrich, Daniel Stenberg, Daniel Valenzuela, Don J Olmstead, Francisco Olarte, Frank Meier, Ian Blanes, Jan Venekamp, Jean-Philippe Menil, Jenny Heino, Joseph Chen, jurisuk on github, Kristoffer Gleditsch, Marcel Raad, Marc Hörsken, mehatzri on github, Michał Antoniak, Paul Howarth, Peter Korsgaard, pheiduck on github, r-a-sattarov on github, Ray Satiro, Rianov Viacheslav, Robert Brose, Samuel Henrique, Tatsuhiro Tsujikawa, Timothe Litt, HexTheDragon (31 contributors) References to bug reports and discussions on issues: [1] = https://curl.se/bug/?i=8579 [2] = https://curl.se/bug/?i=8548 [3] = https://curl.se/bug/?i=8543 [4] = https://curl.se/bug/?i=8546 [5] = https://curl.se/bug/?i=8544 [6] = https://curl.se/bug/?i=8539 [7] = https://curl.se/bug/?i=8545 [8] = https://curl.se/bug/?i=8412 [9] = https://curl.se/bug/?i=8573 [10] = https://curl.se/bug/?i=8588 [11] = https://curl.se/bug/?i=8503 [12] = https://curl.se/bug/?i=8574 [13] = https://curl.se/bug/?i=8572 [14] = https://curl.se/bug/?i=8541 [15] = https://curl.se/bug/?i=8522 [16] = https://curl.se/bug/?i=8565 [17] = https://curl.se/bug/?i=8516 [18] = https://curl.se/bug/?i=8565 [19] = https://curl.se/bug/?i=8534 [20] = https://curl.se/bug/?i=8562 [21] = https://curl.se/bug/?i=8559 [22] = https://curl.se/bug/?i=8524 [23] = https://curl.se/bug/?i=8553 [24] = https://curl.se/bug/?i=8557 [25] = https://curl.se/bug/?i=8550 [26] = https://curl.se/bug/?i=8478 [27] = https://curl.se/bug/?i=8477 [28] = https://curl.se/bug/?i=7708 [29] = https://curl.se/bug/?i=8570 [30] = https://curl.se/bug/?i=7963 [31] = https://curl.se/bug/?i=8610 [32] = https://github.com/hyperium/hyper/issues/2783 [33] = https://curl.se/bug/?i=8605 [34] = https://curl.se/bug/?i=8609 [35] = https://curl.se/bug/?i=8597 [36] = https://curl.se/bug/?i=8597 [37] = https://curl.se/bug/?i=8525 [38] = https://curl.se/bug/?i=8521 [39] = https://curl.se/bug/?i=8411 [40] = https://curl.se/bug/?i=8599 [41] = https://curl.se/bug/?i=8601 [42] = https://curl.se/bug/?i=8596 [43] = https://curl.se/bug/?i=8506 [44] = https://curl.se/bug/?i=8625 [45] = https://curl.se/bug/?i=8594 [46] = https://curl.se/bug/?i=8594 [47] = https://curl.se/bug/?i=8616 [48] = https://curl.se/mail/lib-2022-03/0046.html [49] = https://curl.se/bug/?i=8592 [50] = https://curl.se/bug/?i=8587 [51] = https://curl.se/bug/?i=8646 [52] = https://curl.se/bug/?i=8447 [53] = https://curl.se/bug/?i=8622 [54] = https://curl.se/bug/?i=8620 [55] = https://hackerone.com/reports/1521610 [56] = https://curl.se/bug/?i=8593 [58] = https://curl.se/bug/?i=8490 [59] = https://curl.se/bug/?i=8490 [60] = https://curl.se/bug/?i=8606 [62] = https://curl.se/bug/?i=8638 [63] = https://curl.se/bug/?i=8636