RELEASE-NOTES 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372
  1. curl and libcurl 7.82.0
  2. Public curl releases: 206
  3. Command line options: 245
  4. curl_easy_setopt() options: 295
  5. Public functions in libcurl: 86
  6. Contributors: 2597
  7. This release includes the following changes:
  8. o curl: add --json [67]
  9. o mesalink: remove support [23]
  10. This release includes the following bugfixes:
  11. o appveyor: update images from VS 2019 to 2022
  12. o appveyor: use VS 2017 image for the autotools builds
  13. o azure-pipelines: add a build on Windows with libssh [154]
  14. o bearssl: fix connect error on expired cert and no verify [132]
  15. o bearssl: fix EXC_BAD_ACCESS on incomplete CA cert [131]
  16. o bearssl: fix session resumption (session id) [133]
  17. o build: enable -Warith-conversion
  18. o build: fix -Wenum-conversion handling
  19. o build: fix ngtcp2 crypto library detection [63]
  20. o checkprefix: remove strlen calls [128]
  21. o checksrc: fix typo in comment [34]
  22. o CI: move 'distcheck' job from zuul to azure pipelines [60]
  23. o CI: move scan-build job from Zuul to Azure Pipelines [59]
  24. o CI: move the NSS job from zuul to GHA [84]
  25. o ci: move the OpenSSL + c-ares job from Zuul to Circle CI [75]
  26. o CI: move the rustls CI job to GHA from Zuul [8]
  27. o CI: move two jobs from Zuul to Circle CI [73]
  28. o CI: test building wolfssl with --enable-opensslextra [42]
  29. o CI: workflows/wolfssl: install impacket [47]
  30. o circleci: add a job using libssh [121]
  31. o cirlceci: also run a c-ares job on arm with debug enabled [74]
  32. o cmake: fix iOS CMake project generation error [13]
  33. o cmdline-opts/gen.pl: fix option matching to improve references [50]
  34. o config.d: Clarify _curlrc filename is still valid on Windows [95]
  35. o configure.ac: use user-specified gssapi dir when using pkg-config [136]
  36. o configure: change output for cross-compiled alt-svc support [140]
  37. o configure: fix '--enable-code-coverage' typo [110]
  38. o configure: remove support for "embedded ares" [82]
  39. o configure: requires --with-nss-deprecated to build with NSS [114]
  40. o configure: set CURL_LIBRARY_PATH for nghttp2 [58]
  41. o configure: support specification of a nghttp2 library path [101]
  42. o configure: use correct CFLAGS for threaded resolver with xlC on AIX [54]
  43. o curl tool: erase some more sensitive command line arguments [22]
  44. o curl-functions.m4: fix LIBRARY_PATH adjustment to avoid eval [5]
  45. o curl-functions.m4: revert DYLD_LIBRARY_PATH tricks in CURL_RUN_IFELSE [9]
  46. o curl-openssl: fix SRP check for OpenSSL 3.0 [86]
  47. o curl-openssl: remove the OpenSSL headers and library versions check [35]
  48. o curl.h: fix typo [129]
  49. o curl: remove "separators" (when using globbed URLs) [32]
  50. o curl_getdate.3: remove pointless .PP line [68]
  51. o curl_multi_socket.3: remove callback and typical usage descriptions [7]
  52. o curl_url_set.3: mention when CURLU_ALLOW_SPACE was added
  53. o CURLMOPT_TIMERFUNCTION/DATA.3: fix the examples [27]
  54. o CURLOPT_PROGRESSFUNCTION.3: fix example struct assignment [147]
  55. o CURLOPT_RESOLVE.3: change example port to 443
  56. o CURLOPT_XFERINFOFUNCTION.3: fix example struct assignment [153]
  57. o CURLOPT_XFERINFOFUNCTION.3: fix typo in example [81]
  58. o CURLSHOPT_LOCKFUNC.3: fix typo "relased" -> "released" [71]
  59. o des: fix compile break for OpenSSL without DES [141]
  60. o docs/cmdline-opts: add "mutexed" options for more http versions [25]
  61. o docs/DEPRECATE: remove NPN support in August 2022 [64]
  62. o docs: capitalize the name 'Netscape' [77]
  63. o docs: document HTTP/2 not insisting on TLS 1.2 [49]
  64. o docs: fix mandoc -T lint formatting complaints [2]
  65. o docs: update IETF links to use datatracker [41]
  66. o examples/curlx: support building with OpenSSL 1.1.0+ [148]
  67. o examples/multi-app.c: call curl_multi_remove_handle as well [19]
  68. o formdata: avoid size_t => long typecast overflows [37]
  69. o ftp: provide error message for control bytes in path [66]
  70. o gen.pl: terminate "example" sections better [4]
  71. o gha: add a macOS CI job with libssh [142]
  72. o gskit: Convert to using Curl_poll [111]
  73. o gskit: Fix errors from Curl_strerror refactor [113]
  74. o gskit: Fix initialization of Curl_ssl_gskit struct [112]
  75. o h2/h3: allow CURLOPT_HTTPHEADER change ":scheme" [88]
  76. o hostcheck: fixed to not touch used input strings [38]
  77. o hostcheck: reduce strlen calls on chained certificates [92]
  78. o hostip: avoid unused parameter error in Curl_resolv_check [144]
  79. o http2: move two infof calls to debug-h2-only [145]
  80. o http: make Curl_compareheader() take string length arguments too [87]
  81. o if2ip: make Curl_ipv6_scope a blank macro when IPv6-disabled [104]
  82. o KNOWN_BUGS: fix typo "libpsl"
  83. o ldap: return CURLE_URL_MALFORMAT for bad URL [24]
  84. o lib: remove support for CURL_DOES_CONVERSIONS [96]
  85. o libssh2: don't typecast socket to int for libssh2_session_handshake [151]
  86. o libssh: fix include files and defines use for Windows builds [156]
  87. o Makefile.am: Generate VS 2022 projects
  88. o maketgz: return error if 'make dist' fails [79]
  89. o mbedtls: enable use of mbedtls without CRL support [57]
  90. o mbedtls: enable use of mbedtls without filesystem functions support [100]
  91. o mbedtls: fix CURLOPT_SSLCERT_BLOB (again)
  92. o mbedtls: fix ssl_init error with mbedTLS 3.1.0+ [12]
  93. o mbedtls: remove #include <mbedtls/certs.h> [56]
  94. o mbedtls: return CURLcode result instead of a mbedtls error code [1]
  95. o md5: check md5_init_func return value
  96. o mime: use a define instead of the magic number 24 [89]
  97. o misc: allow curl to build with wolfssl --enable-opensslextra [43]
  98. o misc: remove BeOS code and references [30]
  99. o misc: remove the final watcom references [29]
  100. o misc: remove unused data when IPv6 is not supported [80]
  101. o mqtt: free 'sendleftovers' in disconnect [115]
  102. o mqtt: free any send leftover data when done [36]
  103. o multi: allow user callbacks to call curl_multi_assign [126]
  104. o multi: grammar fix in comment [69]
  105. o multi: remember connection_id before returning connection to pool [76]
  106. o multi: set in_callback for multi interface callbacks [28]
  107. o netware: remove support [72]
  108. o next.d. remove .fi/.nf as they are handled by gen.pl [3]
  109. o ngtcp2: adapt to changed end of headers callback proto [39]
  110. o ngtcp2: fix declaration of ‘result’ shadows a previous local [14]
  111. o ngtcp2: Reset dynbuf when it is fully drained [143]
  112. o nss: handshake callback during shutdown has no conn->bundle [55]
  113. o ntlm: remove unused feature defines [117]
  114. o openldap: fix compiler warning when built without SSL support [70]
  115. o openldap: implement SASL authentication [16]
  116. o openldap: pass string length arguments to client_write() [116]
  117. o openssl.h: avoid including OpenSSL headers here [15]
  118. o openssl: check if sessionid flag is enabled before retrieving session [125]
  119. o openssl: check SSL_get_ex_data to prevent potential NULL dereference [40]
  120. o openssl: check the return value of BIO_new_mem_buf() [18]
  121. o openssl: fix `ctx_option_t` for OpenSSL v3+
  122. o openssl: fix build for version < 1.1.0 [134]
  123. o openssl: return error if TLS 1.3 is requested when not supported [45]
  124. o os400: Add function wrapper for system command [138]
  125. o os400: Add link to QADRT devkit to README.OS400 [137]
  126. o os400: Default build to target current release [139]
  127. o OS400: fix typos in rpg include file [149]
  128. o projects: add support for Visual Studio 17 (2022) [124]
  129. o projects: fix Visual Studio wolfSSL configurations
  130. o projects: remove support for MSVC before VC10 (Visual Studio 2010) [123]
  131. o quiche: after leaving h3_recving state, poll again [108]
  132. o quiche: change qlog file extension to `.sqlog` [44]
  133. o quiche: fix upload for bigger content-length [146]
  134. o quiche: handle stream reset [83]
  135. o quiche: remove two leftover debug infof() outputs
  136. o quiche: verify the server cert on connect [33]
  137. o quiche: when *recv_body() returns data, drain it before polling again [109]
  138. o README.md: fix links [118]
  139. o remote-header-name.d: clarify [10]
  140. o runtests.pl: disable debuginfod [51]
  141. o runtests.pl: properly print the test if it contains binary zeros
  142. o runtests.pl: support the nonewline attribute for the data part [21]
  143. o runtests.pl: tolerate test directories without Makefile.inc [98]
  144. o runtests: allow client/file to specify multiple directories
  145. o runtests: make 'rustls' a testable feature
  146. o runtests: make 'wolfssl' a testable feature [6]
  147. o runtests: set 'oldlibssh' for libssh versions before 0.9.5 [122]
  148. o rustls: add CURLOPT_CAINFO_BLOB support [26]
  149. o schannel: move the algIds array out of schannel.h [135]
  150. o scripts/cijobs.pl: output data about all currect CI jobs [78]
  151. o scripts/completion.pl: improve zsh completion [46]
  152. o scripts/copyright.pl: support many provided file names on the cmdline
  153. o scripts/delta: check the file delta for current branch
  154. o sectransp: mark a 3DES cipher as weak [130]
  155. o setopt: do bounds-check before strdup [99]
  156. o setopt: fix the TLSAUTH #ifdefs for proxy-disabled builds [53]
  157. o sha256: Fix minimum OpenSSL version [102]
  158. o smb: pass socket for writing and reading data instead of FIRSTSOCKET [90]
  159. o ssl: reduce allocated space for ssl backend when FTP is disabled [127]
  160. o test3021: disable all msys2 path transformation
  161. o test374: gif data without new line at the end [20]
  162. o tests/disable-scan.pl: properly detect multiple symbols per line [94]
  163. o tests/unit/Makefile.am: add NSS_LIBS to build with NSS fine [85]
  164. o tool_findfile: check ~/.config/curlrc too [17]
  165. o tool_getparam: DNS options that need c-ares now fail without it [31]
  166. o TPF: drop support [97]
  167. o unit1610: init SSL library before calling SHA256 functions [152]
  168. o url: exclude zonefrom_url when no ipv6 is available [103]
  169. o url: given a user in the URL, find pwd for that user in netrc [11]
  170. o url: keep trailing dot in host name [62]
  171. o url: make Curl_disconnect return void [48]
  172. o urlapi: handle "redirects" smarter [119]
  173. o urldata: CONN_IS_PROXIED replaces bits.proxy when proxy can be disabled [52]
  174. o urldata: remove conn->bits.user_passwd [105]
  175. o version_win32: fix warning for `CURL_WINDOWS_APP` [93]
  176. o vtls: fix socket check conditions [150]
  177. o vtls: pass on the right SNI name [61]
  178. o vxworks: drop support [65]
  179. o winbuild: add parameter WITH_SSH [120]
  180. o wolfssl: return CURLE_AGAIN for the SSL_ERROR_NONE case [106]
  181. o wolfssl: when SSL_read() returns zero, check the error [107]
  182. o write-out.d: Fix num_headers formatting
  183. o x509asn1: toggle off functions not needed for diff tls backends [91]
  184. This release includes the following known bugs:
  185. o see docs/KNOWN_BUGS (https://curl.se/docs/knownbugs.html)
  186. This release would not have looked like this without help, code, reports and
  187. advice from friends like these:
  188. 1337vt on github, Alejandro R. Sedeño, Alessandro Ghedini, Antoine Pietri,
  189. Bernhard Walle, Bjarni Ingi Gislason, Cameron Will, Charles Cazabon,
  190. coralw on github, Dan Fandrich, Daniel Stenberg, Davide Cassioli,
  191. Eric Musser, Fabian Keil, Fabian Yamaguchi, Farzin on github, Filip Lundgren,
  192. gaoxingwang on github, Harry Sarson, Henrik Holst, Ikko Ashimine,
  193. illusory-dream on github, Jan Ehrhardt, Jan-Piet Mens, Jan Venekamp,
  194. Jean-Philippe Menil, jhoyla on github, Jim Beveridge, Joel Depooter,
  195. John H. Ayad, jonny112 on github, Kantanat Wannapaka, Kevin Adler,
  196. Kushal Das, Leah Neukirchen, Lucas Pardue, luminixinc on github,
  197. Manfred Schwarb, Marcel Raad, Melroy van den Berg, Michael Kaufmann,
  198. Michael Wallner, Michał Antoniak, Neal McBurnett, neutric on github,
  199. Niels Martignène, Patrick Monnerat, pheiduck on github, Ray Satiro,
  200. Rob Boeckermann, Ryan Schmidt, Samuel Henrique, Sandro Jaeckel,
  201. Satadru Pramanik, Sebastian Sterk, siddharthchhabrap on github, Stav Nir,
  202. Stefan Eissing, Stephen Boost, Stephen M. Coakley, Stewart Gebbie,
  203. Tatsuhiro Tsujikawa, updatede on github, Viktor Szakats, vl409 on github,
  204. Xiaoke Wang, 梦终无痕
  205. (67 contributors)
  206. References to bug reports and discussions on issues:
  207. [1] = https://curl.se/bug/?i=8266
  208. [2] = https://curl.se/bug/?i=8228
  209. [3] = https://curl.se/bug/?i=8228
  210. [4] = https://curl.se/bug/?i=8228
  211. [5] = https://curl.se/bug/?i=8229
  212. [6] = https://curl.se/bug/?i=8252
  213. [7] = https://curl.se/bug/?i=8262
  214. [8] = https://curl.se/bug/?i=8251
  215. [9] = https://curl.se/bug/?i=8229
  216. [10] = https://curl.se/bug/?i=8249
  217. [11] = https://curl.se/bug/?i=8241
  218. [12] = https://curl.se/bug/?i=8238
  219. [13] = https://curl.se/bug/?i=8244
  220. [14] = https://curl.se/bug/?i=8245
  221. [15] = https://curl.se/bug/?i=8240
  222. [16] = https://curl.se/bug/?i=8152
  223. [17] = https://curl.se/bug/?i=8208
  224. [18] = https://curl.se/bug/?i=8233
  225. [19] = https://curl.se/bug/?i=8234
  226. [20] = https://curl.se/bug/?i=8239
  227. [21] = https://curl.se/bug/?i=8239
  228. [22] = https://curl.se/bug/?i=7964
  229. [23] = https://curl.se/bug/?i=8188
  230. [24] = https://curl.se/bug/?i=8170
  231. [25] = https://curl.se/bug/?i=8254
  232. [26] = https://curl.se/bug/?i=8255
  233. [27] = https://curl.se/bug/?i=8286
  234. [28] = https://curl.se/bug/?i=8282
  235. [29] = https://curl.se/bug/?i=8287
  236. [30] = https://curl.se/bug/?i=8288
  237. [31] = https://curl.se/bug/?i=8285
  238. [32] = https://curl.se/bug/?i=8278
  239. [33] = https://curl.se/bug/?i=8173
  240. [34] = https://curl.se/bug/?i=8281
  241. [35] = https://curl.se/bug/?i=8279
  242. [36] = https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=43515
  243. [37] = https://hackerone.com/reports/1444539
  244. [38] = https://curl.se/bug/?i=8321
  245. [39] = https://curl.se/bug/?i=8322
  246. [40] = https://curl.se/bug/?i=8268
  247. [41] = https://curl.se/bug/?i=8317
  248. [42] = https://curl.se/bug/?i=8315
  249. [43] = https://curl.se/bug/?i=8292
  250. [44] = https://curl.se/bug/?i=8316
  251. [45] = https://curl.se/bug/?i=8309
  252. [46] = https://curl.se/bug/?i=8363
  253. [47] = https://curl.se/bug/?i=8307
  254. [48] = https://curl.se/bug/?i=8303
  255. [49] = https://curl.se/bug/?i=8235
  256. [50] = https://curl.se/bug/?i=8299
  257. [51] = https://curl.se/bug/?i=8291
  258. [52] = https://curl.se/bug/?i=8350
  259. [53] = https://curl.se/bug/?i=8350
  260. [54] = https://curl.se/bug/?i=8276
  261. [55] = https://curl.se/bug/?i=8341
  262. [56] = https://curl.se/bug/?i=8343
  263. [57] = https://curl.se/bug/?i=8344
  264. [58] = https://curl.se/bug/?i=8340
  265. [59] = https://curl.se/bug/?i=8338
  266. [60] = https://curl.se/bug/?i=8334
  267. [61] = https://curl.se/bug/?i=8320
  268. [62] = https://curl.se/bug/?i=8290
  269. [63] = https://curl.se/bug/?i=8372
  270. [64] = https://curl.se/bug/?i=8458
  271. [65] = https://curl.se/bug/?i=8362
  272. [66] = https://curl.se/bug/?i=8460
  273. [67] = https://curl.se/bug/?i=8314
  274. [68] = https://curl.se/bug/?i=8365
  275. [69] = https://curl.se/bug/?i=8368
  276. [70] = https://curl.se/bug/?i=8367
  277. [71] = https://curl.se/bug/?i=8364
  278. [72] = https://curl.se/bug/?i=8358
  279. [73] = https://curl.se/bug/?i=8359
  280. [74] = https://curl.se/bug/?i=8357
  281. [75] = https://curl.se/bug/?i=8357
  282. [76] = https://hackerone.com/reports/1463013
  283. [77] = https://curl.se/bug/?i=8354
  284. [78] = https://curl.se/bug/?i=8408
  285. [79] = https://curl.se/mail/lib-2022-02/0070.html
  286. [80] = https://curl.se/bug/?i=8430
  287. [81] = https://curl.se/bug/?i=8487
  288. [82] = https://curl.se/bug/?i=8397
  289. [83] = https://curl.se/bug/?i=8437
  290. [84] = https://curl.se/bug/?i=8396
  291. [85] = https://curl.se/bug/?i=8396
  292. [86] = https://curl.se/bug/?i=8394
  293. [87] = https://curl.se/bug/?i=8391
  294. [88] = https://curl.se/bug/?i=8381
  295. [89] = https://curl.se/bug/?i=8441
  296. [90] = https://curl.se/bug/?i=8383
  297. [91] = https://curl.se/bug/?i=8386
  298. [92] = https://curl.se/bug/?i=8428
  299. [93] = https://curl.se/bug/?i=8385
  300. [94] = https://curl.se/bug/?i=8384
  301. [95] = https://curl.se/bug/?i=8382
  302. [96] = https://curl.se/bug/?i=8378
  303. [97] = https://curl.se/bug/?i=8378
  304. [98] = https://curl.se/bug/?i=8379
  305. [99] = https://curl.se/bug/?i=8377
  306. [100] = https://curl.se/bug/?i=8376
  307. [101] = https://curl.se/bug/?i=8375
  308. [102] = https://curl.se/bug/?i=8464
  309. [103] = https://curl.se/bug/?i=8439
  310. [104] = https://curl.se/bug/?i=8439
  311. [105] = https://curl.se/bug/?i=8449
  312. [106] = https://curl.se/bug/?i=8431
  313. [107] = https://curl.se/bug/?i=8431
  314. [108] = https://curl.se/bug/?i=8436
  315. [109] = https://curl.se/bug/?i=8429
  316. [110] = https://curl.se/bug/?i=8425
  317. [111] = https://curl.se/bug/?i=8454
  318. [112] = https://curl.se/bug/?i=8454
  319. [113] = https://curl.se/bug/?i=8454
  320. [114] = https://curl.se/bug/?i=8395
  321. [115] = https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=43646
  322. [116] = https://curl.se/bug/?i=8404
  323. [117] = https://curl.se/bug/?i=8453
  324. [118] = https://curl.se/bug/?i=8448
  325. [119] = https://curl.se/bug/?i=8450
  326. [120] = https://curl.se/bug/?i=8514
  327. [121] = https://curl.se/bug/?i=8444
  328. [122] = https://curl.se/bug/?i=8444
  329. [123] = https://curl.se/bug/?i=8442
  330. [124] = https://curl.se/bug/?i=8438
  331. [125] = https://curl.se/bug/?i=8472
  332. [126] = https://curl.se/bug/?i=8480
  333. [127] = https://curl.se/bug/?i=8471
  334. [128] = https://curl.se/bug/?i=8481
  335. [129] = https://curl.se/bug/?i=8482
  336. [130] = https://curl.se/bug/?i=8479
  337. [131] = https://curl.se/bug/?i=8476
  338. [132] = https://curl.se/bug/?i=8475
  339. [133] = https://curl.se/bug/?i=8474
  340. [134] = https://curl.se/bug/?i=8470
  341. [135] = https://curl.se/bug/?i=8469
  342. [136] = https://curl.se/bug/?i=8289
  343. [137] = https://curl.se/bug/?i=8455
  344. [138] = https://curl.se/bug/?i=8455
  345. [139] = https://curl.se/bug/?i=8455
  346. [140] = https://curl.se/bug/?i=8512
  347. [141] = https://curl.se/bug/?i=8459
  348. [142] = https://curl.se/bug/?i=8513
  349. [143] = https://curl.se/bug/?i=7351
  350. [144] = https://curl.se/bug/?i=8505
  351. [145] = https://curl.se/bug/?i=8502
  352. [146] = https://curl.se/bug/?i=8421
  353. [147] = https://curl.se/bug/?i=8500
  354. [148] = https://curl.se/bug/?i=8529
  355. [149] = https://curl.se/bug/?i=8494
  356. [150] = https://curl.se/bug/?i=8493
  357. [151] = https://curl.se/bug/?i=8492
  358. [152] = https://curl.se/bug/?i=8538
  359. [153] = https://curl.se/bug/?i=8519
  360. [154] = https://curl.se/bug/?i=8511
  361. [156] = https://curl.se/mail/lib-2022-02/0131.html