RELEASE-NOTES 13 KB

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