| curl and libcurl 7.80.0 |
| |
| Public curl releases: 204 |
| Command line options: 243 |
| curl_easy_setopt() options: 294 |
| Public functions in libcurl: 86 |
| Contributors: 2533 |
| |
| This release includes the following changes: |
| |
| o CURLOPT_MAXLIFETIME_CONN: maximum allowed lifetime for conn reuse [25] |
| o CURLOPT_PREREQFUNCTION: add new callback [17] |
| o libssh2: add SHA256 fingerprint support [4] |
| o urlapi: add curl_url_strerror() [21] |
| o urlapi: support UNC paths in file: URLs on Windows [20] |
| o wolfssl: allow setting of groups/curves [22] |
| |
| This release includes the following bugfixes: |
| |
| o .github: retry macos "brew install" command on failure [125] |
| o aws-sigv4: make signature work when post data is binary [68] |
| o BINDINGS: URL updates [30] |
| o build: remove checks for WinSock 1 [36] |
| o c-hyper: don't abort CONNECT responses early when auth-in-progress [71] |
| o c-hyper: make Curl_http propagate errors better [50] |
| o c-hyper: make CURLOPT_SUPPRESS_CONNECT_HEADERS work [97] |
| o c-hyper: make test 217 run [74] |
| o c-hyper: use hyper_request_set_uri_parts to make h2 better [39] |
| o checksrc: ignore preprocessor lines [64] |
| o CI/makefiles: introduce dedicated test target [34] |
| o ci: update Lift config to match requirements of curl build [1] |
| o cirrus: remove FreeBSD 11.4 from the matrix [62] |
| o cirrus: switch to openldap24-client [63] |
| o cleanup: constify unmodified static structs [2] |
| o cmake: add CURL_ENABLE_SSL option [46] |
| o cmake: fix error getting LOCATION property on non-imported target [59] |
| o CMake: restore support for SecureTransport on iOS [103] |
| o cmake: with OpenSSL, define OPENSSL_SUPPRESS_DEPRECATED [14] |
| o cmdline-opts: made the 'Added:' field mandatory [37] |
| o configure.ac: replace krb5-config with pkg-config [80] |
| o configure: when hyper is selected, deselect nghttp2 [94] |
| o connect: use sysaddr_un from sys/un.h or custom-defined for windows [23] |
| o curl-confopts.m4: remove --enable/disable-hidden-symbols [70] |
| o curl-openssl.m4: modify library order for openssl linking [40] |
| o curl-openssl: pass argument to sed single-quoted [15] |
| o curl.1: remove mentions of really old version changes [38] |
| o curl: actually append "-" to --range without number only [57] |
| o curl: correct grammar in generated libcurl code [53] |
| o curl: print help descriptions in an aligned right column [16] |
| o curl_gssapi: fix link error on macOS Monterey [55] |
| o curl_multi_socket_action.3: add a "RETURN VALUE" section [106] |
| o curl_ntlm_core: use OpenSSL only if DES is available [42] |
| o Curl_updateconninfo: store addresses for QUIC connections too [90] |
| o CURLOPT_ALTSVC_CTRL.3: mention conn reuse is preferred [126] |
| o CURLOPT_HSTSWRITEFUNCTION.3: using CURLOPT_HSTS_CTRL is required [114] |
| o CURLOPT_HTTPHEADER.3: add descripion for specific headers [35] |
| o docs/HTTP3: improve build instructions [102] |
| o docs/Makefile.am: repair 'make html' [52] |
| o docs: fix typo in CURLOPT_TRAILERFUNCTION example [93] |
| o docs: provide "RETURN VALUE" section for more func manpages [105] |
| o docs: reduce use of "very" [107] |
| o doh: remove experimental code for DoH with GET [61] |
| o examples/htmltidy: correct wrong printf() use [66] |
| o examples/imap-append: fix end-of-data check [7] |
| o ftp: make the MKD retry to retry once per directory [113] |
| o gen.pl: insert the current date and version in generated man page [11] |
| o gen.pl: replace leading single quotes with \(aq [110] |
| o http2: make getsock not wait for write if there's no remote window [56] |
| o HTTP3: fix the HTTP/3 Explained book link [27] |
| o http: fix Basic auth with empty name field in URL [24] |
| o http: reject HTTP response codes < 100 [92] |
| o http: remove assert that breaks hyper [47] |
| o http: set content length earlier [67] |
| o http_proxy: make hyper CONNECT() return the correct error code [51] |
| o http_proxy: multiple CONNECT with hyper done better [78] |
| o hyper: disable test 1294 since hyper doesn't allow such crazy headers [96] |
| o hyper: does not support disabling CURLOPT_HTTP_TRANSFER_DECODING [72] |
| o hyper: pass the CONNECT line to the debug callback [79] |
| o imap: display quota information [115] |
| o INSTALL: update symbol hiding option [77] |
| o lib/mk-ca-bundle.pl: skip certs passed Not Valid After date [18] |
| o lib: avoid fallthrough cases in switch statements [33] |
| o libcurl.rc: switch out the copyright symbol for plain ASCII [5] |
| o libssh2: Get the version at runtime if possible [12] |
| o limit-rate.d: this is average over several seconds [119] |
| o llist: remove redundant code, branch will not be executed [10] |
| o Makefile.m32: fix to not require OpenSSL with -libssh2 or -rtmp options [100] |
| o maketgz: redirect updatemanpages.pl output to /dev/null |
| o man pages: require all to use the same section header order [101] |
| o manpage: adjust the asterisk in some SYNOPSIS sections [82] |
| o md5: fix compilation with OpenSSL 3.0 API [43] |
| o misc: fix a few issues on MidnightBSD [28] |
| o misc: fix typos in docs and comments [3] |
| o ngtcp2: advertise h3 as well as h3-29 [109] |
| o ngtcp2: compile with the latest nghttp3 [117] |
| o ngtcp2: specify the missing required callback functions [108] |
| o ngtcp2: use latest QUIC TLS RFC9001 [122] |
| o NTLM: use DES_set_key_unchecked with OpenSSL [13] |
| o openssl: if verifypeer is not requested, skip the CA loading [69] |
| o openssl: with OpenSSL 1.1.0+ a failed RAND_status means goaway [44] |
| o Revert "src/tool_filetime: disable -Wformat on mingw for this file" [88] |
| o sasl: binary messages [31] |
| o schannel: fix memory leak due to failed SSL connection [89] |
| o scripts/delta: count command line options in the new file |
| o sendf: accept zero-length data in Curl_client_write() [95] |
| o sha256: use high-level EVP interface for OpenSSL [41] |
| o smooth-gtk-thread.c: enhance the mutex lock use [112] |
| o sws: fix memory leak on exit [49] |
| o test1160: edited to work with hyper [83] |
| o test1173: make manpage-syntax.pl spot \n errors in examples |
| o test1185: verify checksrc [58] |
| o test1266/1267: disabled on hyper: no HTTP/0.9 support [99] |
| o test1287: make work on hyper [98] |
| o test207: accept a different error code for hyper [76] |
| o test262: don't attempt with hyper [73] |
| o test552: updated to work with hyper [87] |
| o test559: add 'HTTP' in keywords [86] |
| o tests/smbserver.py: fix compatibility with impacket 0.9.23+ [104] |
| o tests: add Schannel-specific tests and disable unsupported ones [91] |
| o tests: disable test 2043 [54] |
| o tests: kill some test servers afterwards to avoid locked logfiles [111] |
| o tests: use python3 in test 1451 [48] |
| o tls: remove newline from three infof() calls [85] |
| o tool_cb_prg: make resumed upload progress bar show better [9] |
| o tool_listhelp: easier generated with gen.pl [19] |
| o tool_main: fix typo in comment [29] |
| o tool_operate: a failed etag save now only fails that transfer [124] |
| o URL-SYNTAX: add IMAP UID SEARCH example [81] |
| o url: check the return value of curl_url() [75] |
| o url: set "k->size" -1 at start of request [60] |
| o urlapi: skip a strlen(), pass in zero [65] |
| o urlapi: URL decode percent-encoded host names [26] |
| o version_win32: use actual version instead of manifested version [45] |
| o vtls: Fix a memory leak if an SSL session cannot be added to the cache [8] |
| o wolfssl: use for SHA256, MD4, MD5, and setting DES odd parity [32] |
| o zuul: pin the quiche build to use an older cmake-rs [84] |
| |
| 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: |
| |
| 8U61ife on github, a1346054 on github, Abhinav Singh, Alexander Chuykov, |
| Alexander Kanavin, Amaury Denoyelle, Anthony Hu, Axel Morawietz, |
| beslick5 on github, billionai on github, Bo Anderson, Boris Rasin, |
| Dan Fandrich, Daniel Gustafsson, Daniel Stenberg, David Cook, David Hu, |
| Earnestly on github, Eddie Lumpkin, Érico Nogueira, Erik Stenlund, |
| Gisle Vanem, Gleb Ivanovsky, Godwin Stewart, h1zzz on github, Harry Sintonen, |
| Hayden Roche, Jakub Zakrzewski, Jan Mazur, Jeffrey Tolar, Jerome Mao, |
| Joel Depooter, Jonathan Cardoso Machado, Josip Medved, Jun-ya Kato, |
| Kerem Kat, Kevin Burke, Kirill Efimov, Lucas Holt, Malik Idrees Hasan Khan, |
| Marcel Raad, Marc Hörsken, Mats Lindestam, Max Dymond, Michael Afanasiev, |
| Michael Baentsch, Michael Kaufmann, Momoka Yamamoto, Noam Moshe, |
| orycho on github, Patrick Monnerat, Rafał Mikrut, Randall S. Becker, |
| Raul Onitza-Klugman, Ray Satiro, Ricardo Martins, Rick Lane, |
| Rikard Falkeborn, Roger Young, Roy Li, ryancaicse on github, Ryan Mast, |
| Samuel Henrique, Sean Molenaar, Sergey Markelov, Sergio Durigan Junior, |
| sergio-nsk on github, Sharon Brizinov, Stathis Kapnidis, |
| Steini2000 on github, Tatsuhiro Tsujikawa, Thomas M. DuBuisson, |
| tlahn on github, Viktor Szakats, Vitaly Varyvdin, Wyatt O'Day, |
| x2018 on github, Борис Верховский, |
| (78 contributors) |
| |
| References to bug reports and discussions on issues: |
| |
| [1] = https://curl.se/bug/?i=7761 |
| [2] = https://curl.se/bug/?i=7759 |
| [3] = https://curl.se/bug/?i=7747 |
| [4] = https://curl.se/bug/?i=7646 |
| [5] = https://curl.se/bug/?i=7765 |
| [7] = https://curl.se/bug/?i=7774 |
| [8] = https://curl.se/bug/?i=7683 |
| [9] = https://curl.se/bug/?i=7760 |
| [10] = https://curl.se/bug/?i=7770 |
| [11] = https://curl.se/bug/?i=7782 |
| [12] = https://curl.se/bug/?i=7768 |
| [13] = https://curl.se/bug/?i=7779 |
| [14] = https://curl.se/bug/?i=7767 |
| [15] = https://curl.se/bug/?i=7758 |
| [16] = https://curl.se/bug/?i=7792 |
| [17] = https://curl.se/bug/?i=7477 |
| [18] = https://curl.se/bug/?i=7801 |
| [19] = https://curl.se/bug/?i=7787 |
| [20] = https://curl.se/bug/?i=7366 |
| [21] = https://curl.se/bug/?i=7605 |
| [22] = https://curl.se/bug/?i=7728 |
| [23] = https://curl.se/bug/?i=7737 |
| [24] = https://curl.se/bug/?i=7819 |
| [25] = https://curl.se/mail/lib-2021-09/0058.html |
| [26] = https://curl.se/bug/?i=7830 |
| [27] = https://curl.se/bug/?i=7813 |
| [28] = https://curl.se/bug/?i=7812 |
| [29] = https://curl.se/bug/?i=7811 |
| [30] = https://curl.se/bug/?i=7809 |
| [31] = https://curl.se/bug/?i=6930 |
| [32] = https://curl.se/bug/?i=7806 |
| [33] = https://curl.se/bug/?i=7322 |
| [34] = https://curl.se/bug/?i=7785 |
| [35] = https://curl.se/bug/?i=7829 |
| [36] = https://curl.se/bug/?i=7778 |
| [37] = https://curl.se/bug/?i=7786 |
| [38] = https://curl.se/bug/?i=7786 |
| [39] = https://curl.se/bug/?i=7679 |
| [40] = https://curl.se/bug/?i=7826 |
| [41] = https://curl.se/bug/?i=7808 |
| [42] = https://curl.se/bug/?i=7808 |
| [43] = https://curl.se/bug/?i=7808 |
| [44] = https://curl.se/bug/?i=7840 |
| [45] = https://curl.se/bug/?i=7742 |
| [46] = https://curl.se/bug/?i=7822 |
| [47] = https://curl.se/bug/?i=7852 |
| [48] = https://curl.se/bug/?i=7899 |
| [49] = https://curl.se/bug/?i=7849 |
| [50] = https://curl.se/bug/?i=7851 |
| [51] = https://curl.se/bug/?i=7825 |
| [52] = https://curl.se/bug/?i=7853 |
| [53] = https://curl.se/bug/?i=7802 |
| [54] = https://curl.se/bug/?i=7845 |
| [55] = https://curl.se/bug/?i=7657 |
| [56] = https://curl.se/bug/?i=7821 |
| [57] = https://curl.se/bug/?i=7837 |
| [58] = https://curl.se/bug/?i=7866 |
| [59] = https://curl.se/bug/?i=7885 |
| [60] = https://curl.se/bug/?i=7871 |
| [61] = https://curl.se/bug/?i=7870 |
| [62] = https://curl.se/bug/?i=7869 |
| [63] = https://curl.se/bug/?i=7868 |
| [64] = https://curl.se/bug/?i=7863 |
| [65] = https://curl.se/bug/?i=7862 |
| [66] = https://curl.se/bug/?i=7860 |
| [67] = https://github.com/curl/curl/commit/8a16e54#r57374914 |
| [68] = https://curl.se/bug/?i=7844 |
| [69] = https://curl.se/bug/?i=7892 |
| [70] = https://curl.se/bug/?i=7891 |
| [71] = https://curl.se/bug/?i=7889 |
| [72] = https://curl.se/bug/?i=7889 |
| [73] = https://curl.se/bug/?i=7889 |
| [74] = https://curl.se/bug/?i=7889 |
| [75] = https://curl.se/bug/?i=7917 |
| [76] = https://curl.se/bug/?i=7889 |
| [77] = https://curl.se/bug/?i=7890 |
| [78] = https://curl.se/bug/?i=7888 |
| [79] = https://curl.se/bug/?i=7887 |
| [80] = https://curl.se/bug/?i=7916 |
| [81] = https://github.com/curl/curl/issues/7626 |
| [82] = https://curl.se/bug/?i=7884 |
| [83] = https://curl.se/bug/?i=7912 |
| [84] = https://curl.se/bug/?i=7927 |
| [85] = https://curl.se/bug/?i=7879 |
| [86] = https://curl.se/bug/?i=7911 |
| [87] = https://curl.se/bug/?i=7911 |
| [88] = https://curl.se/bug/?i=7941 |
| [89] = https://curl.se/bug/?i=7877 |
| [90] = https://curl.se/bug/?i=7939 |
| [91] = https://curl.se/bug/?i=7968 |
| [92] = https://curl.se/bug/?i=7909 |
| [93] = https://curl.se/bug/?i=7910 |
| [94] = https://curl.se/bug/?i=7908 |
| [95] = https://curl.se/bug/?i=7898 |
| [96] = https://curl.se/bug/?i=7905 |
| [97] = https://curl.se/bug/?i=7905 |
| [98] = https://curl.se/bug/?i=7905 |
| [99] = https://curl.se/bug/?i=7905 |
| [100] = https://curl.se/bug/?i=7895 |
| [101] = https://curl.se/bug/?i=7904 |
| [102] = https://curl.se/bug/?i=7842 |
| [103] = https://curl.se/bug/?i=7501 |
| [104] = https://curl.se/bug/?i=7924 |
| [105] = https://curl.se/bug/?i=7902 |
| [106] = https://curl.se/bug/?i=7901 |
| [107] = https://curl.se/bug/?i=7936 |
| [108] = https://curl.se/bug/?i=7929 |
| [109] = https://curl.se/bug/?i=7979 |
| [110] = https://curl.se/bug/?i=7933 |
| [111] = https://curl.se/bug/?i=7925 |
| [112] = https://curl.se/bug/?i=7926 |
| [113] = https://curl.se/bug/?i=7967 |
| [114] = https://curl.se/bug/?i=7923 |
| [115] = https://curl.se/bug/?i=6973 |
| [117] = https://curl.se/bug/?i=7978 |
| [119] = https://curl.se/bug/?i=7970 |
| [122] = https://curl.se/bug/?i=7960 |
| [124] = https://curl.se/bug/?i=7945 |
| [125] = https://curl.se/bug/?i=7955 |
| [126] = https://curl.se/bug/?i=7957 |