RELEASE-NOTES 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. curl and libcurl 8.4.0
  2. Public curl releases: 252
  3. Command line options: 258
  4. curl_easy_setopt() options: 303
  5. Public functions in libcurl: 93
  6. Contributors: 2990
  7. This release includes the following changes:
  8. o curl: add support for the IPFS protocols via HTTP gateway [46]
  9. o curl_multi_get_handles: get easy handles from a multi handle [20]
  10. o mingw: delete support for legacy mingw.org toolchain [45]
  11. This release includes the following bugfixes:
  12. o bufq: remove Curl_bufq_skip_and_shift (unused) [47]
  13. o build: delete checks for C89 standard headers [65]
  14. o cmake, configure: also link with CoreServices [32]
  15. o cmake: add feature checks for `memrchr` and `getifaddrs` [57]
  16. o cmake: fix duplicate symbols when linking tests [73]
  17. o cmake: fix missing `zlib.h` when compiling `libcurltool` [72]
  18. o cmake: fix stderr initialization in unity builds [71]
  19. o cmake: fix the help text to the static build option in CMakeLists.txt [10]
  20. o cmake: fix unity symbol collisions in h2 builds [48]
  21. o cmake: lib `CURL_STATICLIB` fixes (Windows) [74]
  22. o cmake: move global headers to specific checks [58]
  23. o configure: sort AC_CHECK_FUNCS
  24. o connect: expire the timeout when trying next [54]
  25. o cookie: do not store the expire or max-age strings [16]
  26. o cookie: remove unnecessary struct fields [17]
  27. o cookie: set ->running in cookie_init even if data is NULL [5]
  28. o curl.h: mark CURLSSLBACKEND_NSS as deprecated since 8.3.0 [18]
  29. o docs: adapt SEE ALSO sections to new requirements [52]
  30. o docs: explain how PINNEDPUBLICKEY is independent of VERIFYPEER [68]
  31. o docs: use CURLSSLBACKEND_NONE [19]
  32. o doh: inherit DEBUGFUNCTION/DATA [12]
  33. o escape: replace Curl_isunreserved with ISUNRESERVED [2]
  34. o GHA/linux: run singleuse to detect single-use global functions [35]
  35. o h2-proxy: remove left-over mistake in drain_tunnel() [7]
  36. o http: fix CURL_DISABLE_BEARER_AUTH breakage [28]
  37. o http: h1/h2 proxy unification [21]
  38. o http: remove wrong comment for http_should_fail [55]
  39. o http: use per-request counter to check too large headers [6]
  40. o http_aws_sigv4: fix sorting with empty parts [13]
  41. o idn: if idn2_check_version returns NULL, return error [27]
  42. o inet_ntop: add typecast to silence Coverity [51]
  43. o lib: disambiguate Curl_client_write flag semantics [24]
  44. o lib: enable hmac for digest as well [26]
  45. o lib: failf/infof compiler warnings [8]
  46. o lib: let the max filesize option stop too big transfers too [44]
  47. o lib: use wrapper for curl_mime_data fseek callback [30]
  48. o libssh2: fix error message on failed pubkey-from-file [22]
  49. o libssh: cap SFTP packet size sent [14]
  50. o Makefile.mk: always set `CURL_STATICLIB` for lib (Windows) [42]
  51. o MANUAL.md: change domain to example.com [11]
  52. o misc: better random strings [15]
  53. o multi: fix small timeouts [70]
  54. o multi: remove Curl_multi_dump [37]
  55. o openssl: improve ssl shutdown handling [69]
  56. o pytest: exclude test_03_goaway in CI runs due to timing dependency [23]
  57. o quic: set ciphers/curves the same way regular TLS does [43]
  58. o quiche: fix build error with --with-ca-fallback [1]
  59. o runtests: eliminate a warning on old perl versions
  60. o src/mkhelp: make generated code pass `checksrc` [59]
  61. o test1056: disable on Windows
  62. o test1474: disable test on NetBSD, OpenBSD and Solaris 10 [31]
  63. o test1592: greatly increase the maximum test timeout
  64. o test2600: remove special case handling for USE_ALARM_TIMEOUT [3]
  65. o test650: fix an end tag typo
  66. o test661: return from test early in case of curl error
  67. o tests: fix compiler warnings [38]
  68. o tests: improve SLOWDOWN test reliability by reducing sent data
  69. o tests: log the test result code after each libtest
  70. o tests: show which curl tool `runtests.pl` is using [60]
  71. o tests: stop overriding the lock timeout
  72. o tftpd: always use curl's own tftp.h [25]
  73. o tool_cb_wrt: fix debug assertion [4]
  74. o tool_setopt: remove unused function tool_setopt_flags [56]
  75. o upload-file.d: describe the file name slash/backslash handling [9]
  76. o url: fix netrc info message [39]
  77. o warnless: remove unused functions [33]
  78. o wolfssh: do cleanup in Curl_ssh_cleanup [40]
  79. o wolfssl: allow capath with CURLOPT_CAINFO_BLOB [29]
  80. o wolfssl: if CURLOPT_CAINFO_BLOB is set, ignore the CA files [34]
  81. This release includes the following known bugs:
  82. o see docs/KNOWN_BUGS (https://curl.se/docs/knownbugs.html)
  83. Planned upcoming removals include:
  84. o support for space-separated NOPROXY patterns
  85. See https://curl.se/dev/deprecate.html for details
  86. This release would not have looked like this without help, code, reports and
  87. advice from friends like these:
  88. Aleksander Mazur, calvin2021y on github, Christian Schmitz,
  89. Christian Weisgerber, claudiusaiz on github, consulion on github,
  90. Dan Fandrich, Daniel Stenberg, Douglas R. Reno, Elliot Killick, Gisle Vanem,
  91. Hakan Sunay Halil, Harry Sintonen, Jakub Jelen, John Haugabook,
  92. Joshix-1 on github, Junho Choi, Karthikdasari0423 on github, Lars Francke,
  93. Loïc Yhuel, Marc Hörsken, Mark Gaiser, Mathias Fuchs, Michael Osipov,
  94. Natanael Copa, Patrick Monnerat, Peter Wang, Ray Satiro, Ryan Schmidt,
  95. s0urc3_ on hackerone, Stefan Eissing, Ted Lyngmo, Viktor Szakats, vvb2060,
  96. 南宫雪珊
  97. (35 contributors)
  98. References to bug reports and discussions on issues:
  99. [1] = https://curl.se/bug/?i=11850
  100. [2] = https://curl.se/bug/?i=11846
  101. [3] = https://curl.se/bug/?i=11767
  102. [4] = https://github.com/curl/curl/commit/af3f4e41#r127212213
  103. [5] = https://curl.se/bug/?i=11875
  104. [6] = https://curl.se/bug/?i=11871
  105. [7] = https://curl.se/bug/?i=11877
  106. [8] = https://curl.se/bug/?i=11874
  107. [9] = https://curl.se/bug/?i=11911
  108. [10] = https://curl.se/bug/?i=11843
  109. [11] = https://curl.se/bug/?i=11866
  110. [12] = https://curl.se/bug/?i=11864
  111. [13] = https://curl.se/bug/?i=11855
  112. [14] = https://curl.se/bug/?i=11804
  113. [15] = https://curl.se/bug/?i=11838
  114. [16] = https://curl.se/bug/?i=11862
  115. [17] = https://curl.se/bug/?i=11862
  116. [18] = https://curl.se/bug/?i=11905
  117. [19] = https://curl.se/bug/?i=11909
  118. [20] = https://curl.se/bug/?i=11750
  119. [21] = https://curl.se/bug/?i=11808
  120. [22] = https://curl.se/bug/?i=11837
  121. [23] = https://curl.se/bug/?i=11860
  122. [24] = https://curl.se/bug/?i=11885
  123. [25] = https://curl.se/bug/?i=11897
  124. [26] = https://curl.se/bug/?i=11890
  125. [27] = https://curl.se/bug/?i=11898
  126. [28] = https://curl.se/bug/?i=11892
  127. [29] = https://curl.se/bug/?i=11886
  128. [30] = https://curl.se/bug/?i=11882
  129. [31] = https://curl.se/bug/?i=11888
  130. [32] = https://curl.se/bug/?i=11893
  131. [33] = https://curl.se/bug/?i=11932
  132. [34] = https://curl.se/bug/?i=11884
  133. [35] = https://curl.se/bug/?i=11932
  134. [37] = https://curl.se/bug/?i=11931
  135. [38] = https://curl.se/bug/?i=11925
  136. [39] = https://curl.se/bug/?i=11904
  137. [40] = https://curl.se/bug/?i=11921
  138. [42] = https://curl.se/bug/?i=11924
  139. [43] = https://curl.se/bug/?i=11796
  140. [44] = https://curl.se/bug/?i=11810
  141. [45] = https://curl.se/bug/?i=11625
  142. [46] = https://curl.se/bug/?i=8805
  143. [47] = https://curl.se/bug/?i=11915
  144. [48] = https://curl.se/bug/?i=11912
  145. [51] = https://curl.se/bug/?i=11960
  146. [52] = https://curl.se/bug/?i=11957
  147. [54] = https://curl.se/bug/?i=11920
  148. [55] = https://curl.se/bug/?i=11941
  149. [56] = https://curl.se/bug/?i=11943
  150. [57] = https://curl.se/bug/?i=11954
  151. [58] = https://curl.se/bug/?i=11951
  152. [59] = https://curl.se/bug/?i=11955
  153. [60] = https://curl.se/bug/?i=11953
  154. [65] = https://curl.se/bug/?i=11940
  155. [68] = https://curl.se/bug/?i=2935
  156. [69] = https://curl.se/bug/?i=11858
  157. [70] = https://curl.se/bug/?i=11937
  158. [71] = https://curl.se/bug/?i=11929
  159. [72] = https://curl.se/bug/?i=11927
  160. [73] = https://curl.se/bug/?i=11926
  161. [74] = https://curl.se/bug/?i=11914