curl/RELEASE-NOTES

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

266 lines
12 KiB
Plaintext
Raw Normal View History

curl and libcurl 8.4.0
Public curl releases: 252
2023-09-28 15:42:52 +08:00
Command line options: 258
2023-06-08 05:35:51 +08:00
curl_easy_setopt() options: 303
2023-09-28 15:42:52 +08:00
Public functions in libcurl: 93
2023-10-05 15:20:27 +08:00
Contributors: 2993
2023-05-23 17:12:50 +08:00
2023-05-31 14:59:48 +08:00
This release includes the following changes:
o curl: add support for the IPFS protocols via HTTP gateway [46]
2023-09-26 05:35:49 +08:00
o curl_multi_get_handles: get easy handles from a multi handle [20]
o mingw: delete support for legacy mingw.org toolchain [45]
2023-05-31 14:59:48 +08:00
This release includes the following bugfixes:
2023-10-02 15:41:33 +08:00
o acinclude.m4: Document proper system truststore on FreeBSD [83]
o appveyor: fix yamlint issues, indent [67]
2023-10-05 15:20:27 +08:00
o appveyor: rewrite batch in PowerShell + CI improvements [109]
2023-10-02 15:41:33 +08:00
o autotools: adjust `CURL_CA_PATH` value to CMake [53]
2023-10-05 15:20:27 +08:00
o autotools: restore `HAVE_IOCTL_*` detections [111]
o base64: also build for curl [78]
2023-09-26 05:35:49 +08:00
o bufq: remove Curl_bufq_skip_and_shift (unused) [47]
2023-09-28 15:42:52 +08:00
o build: delete checks for C89 standard headers [65]
2023-09-22 16:36:31 +08:00
o cmake, configure: also link with CoreServices [32]
2023-10-02 15:41:33 +08:00
o cmake: add check for suseconds_t [91]
2023-09-28 15:42:52 +08:00
o cmake: add feature checks for `memrchr` and `getifaddrs` [57]
2023-10-02 15:41:33 +08:00
o cmake: add missing checks [86]
2023-10-05 15:20:27 +08:00
o cmake: delete old `HAVE_LDAP_URL_PARSE` logic [105]
2023-10-02 15:41:33 +08:00
o cmake: detect `HAVE_CLOCK_GETTIME_MONOTONIC_RAW` [75]
o cmake: detect `HAVE_GETADDRINFO_THREADSAFE` [76]
o cmake: detect `sys/wait.h` and `netinet/udp.h` [61]
o cmake: detect TLS-SRP in OpenSSL/wolfSSL/GnuTLS [93]
2023-10-05 15:20:27 +08:00
o cmake: disable unity mode with Windows Unicode + TrackMemory [108]
o cmake: fix `HAVE_LDAP_SSL`, `HAVE_LDAP_URL_PARSE` on non-Windows [110]
2023-10-02 15:41:33 +08:00
o cmake: fix `HAVE_WRITABLE_ARGV` detection [77]
2023-09-28 15:42:52 +08:00
o cmake: fix duplicate symbols when linking tests [73]
o cmake: fix missing `zlib.h` when compiling `libcurltool` [72]
o cmake: fix stderr initialization in unity builds [71]
2023-09-19 14:32:38 +08:00
o cmake: fix the help text to the static build option in CMakeLists.txt [10]
2023-10-05 15:20:27 +08:00
o cmake: fix unity builds for more build combinations [96]
2023-09-26 05:35:49 +08:00
o cmake: fix unity symbol collisions in h2 builds [48]
2023-10-05 15:20:27 +08:00
o cmake: fix unity with Windows Unicode + TrackMemory [107]
o cmake: improve OpenLDAP builds [92]
2023-09-28 15:42:52 +08:00
o cmake: lib `CURL_STATICLIB` fixes (Windows) [74]
o cmake: move global headers to specific checks [58]
2023-10-02 15:41:33 +08:00
o cmake: pre-cache `HAVE_BASENAME` for mingw-w64 and MSVC [85]
o cmake: pre-cache `HAVE_POLL_FINE` on Windows [36]
2023-10-05 15:20:27 +08:00
o cmake: tidy-up `NOT_NEED_LBER_H` detection
2023-10-02 15:41:33 +08:00
o cmake: validate `CURL_DEFAULT_SSL_BACKEND` config value [50]
o configure: check for the capath by default [63]
o configure: remove unused checks [87]
o configure: replace adhoc domain with `localhost` in tests [79]
2023-09-26 05:35:49 +08:00
o configure: sort AC_CHECK_FUNCS
2023-09-28 15:42:52 +08:00
o connect: expire the timeout when trying next [54]
2023-10-02 15:41:33 +08:00
o connect: only start the happy eyeballs timer when needed [95]
2023-09-19 14:32:38 +08:00
o cookie: do not store the expire or max-age strings [16]
o cookie: remove unnecessary struct fields [17]
o cookie: set ->running in cookie_init even if data is NULL [5]
2023-10-02 15:41:33 +08:00
o create-dirs.d: clarify it also uses --output-dirs [66]
2023-09-22 16:36:31 +08:00
o curl.h: mark CURLSSLBACKEND_NSS as deprecated since 8.3.0 [18]
2023-09-28 15:42:52 +08:00
o docs: adapt SEE ALSO sections to new requirements [52]
o docs: explain how PINNEDPUBLICKEY is independent of VERIFYPEER [68]
2023-10-02 15:41:33 +08:00
o docs: replace made up domains with example.com [82]
o docs: update curl man page references [89]
2023-09-22 16:36:31 +08:00
o docs: use CURLSSLBACKEND_NONE [19]
2023-09-19 14:32:38 +08:00
o doh: inherit DEBUGFUNCTION/DATA [12]
o escape: replace Curl_isunreserved with ISUNRESERVED [2]
2023-10-02 15:41:33 +08:00
o FAQ: How do I upgrade curl.exe in Windows? [84]
2023-09-26 05:35:49 +08:00
o GHA/linux: run singleuse to detect single-use global functions [35]
2023-10-05 15:20:27 +08:00
o GHA: add workflow to compare configure vs cmake outputs [102]
2023-09-19 14:32:38 +08:00
o h2-proxy: remove left-over mistake in drain_tunnel() [7]
2023-10-02 15:41:33 +08:00
o h2: testcase and fix for pausing h2 streams [49]
2023-09-22 16:36:31 +08:00
o http: fix CURL_DISABLE_BEARER_AUTH breakage [28]
2023-09-26 05:35:49 +08:00
o http: h1/h2 proxy unification [21]
2023-09-28 15:42:52 +08:00
o http: remove wrong comment for http_should_fail [55]
2023-09-19 14:32:38 +08:00
o http: use per-request counter to check too large headers [6]
o http_aws_sigv4: fix sorting with empty parts [13]
2023-10-05 15:20:27 +08:00
o idn: fix WinIDN null ptr deref on bad host [90]
2023-09-22 16:36:31 +08:00
o idn: if idn2_check_version returns NULL, return error [27]
2023-09-28 15:42:52 +08:00
o inet_ntop: add typecast to silence Coverity [51]
2023-09-22 16:36:31 +08:00
o lib: disambiguate Curl_client_write flag semantics [24]
o lib: enable hmac for digest as well [26]
2023-09-19 14:32:38 +08:00
o lib: failf/infof compiler warnings [8]
2023-09-26 05:35:49 +08:00
o lib: let the max filesize option stop too big transfers too [44]
2023-10-02 15:41:33 +08:00
o lib: move handling of `data->req.writer_stack` into Curl_client_write() [97]
o lib: provide and use Curl_hexencode [62]
o lib: remove TIME_WITH_SYS_TIME [88]
2023-09-26 05:35:49 +08:00
o lib: use wrapper for curl_mime_data fseek callback [30]
2023-09-22 16:36:31 +08:00
o libssh2: fix error message on failed pubkey-from-file [22]
o libssh: cap SFTP packet size sent [14]
2023-09-26 05:35:49 +08:00
o Makefile.mk: always set `CURL_STATICLIB` for lib (Windows) [42]
2023-09-19 14:32:38 +08:00
o MANUAL.md: change domain to example.com [11]
o misc: better random strings [15]
2023-09-28 15:42:52 +08:00
o multi: fix small timeouts [70]
2023-09-26 05:35:49 +08:00
o multi: remove Curl_multi_dump [37]
2023-10-02 15:41:33 +08:00
o multi: round the timeout up to prevent early wakeups [98]
2023-09-28 15:42:52 +08:00
o openssl: improve ssl shutdown handling [69]
2023-09-22 16:36:31 +08:00
o pytest: exclude test_03_goaway in CI runs due to timing dependency [23]
2023-09-26 05:35:49 +08:00
o quic: set ciphers/curves the same way regular TLS does [43]
o quiche: fix build error with --with-ca-fallback [1]
2023-10-05 15:20:27 +08:00
o RELEASE-PROCEDURE.md: updated coming release dates
2023-10-02 15:41:33 +08:00
o runtests: display the test status if tests appear hung [81]
2023-09-19 14:32:38 +08:00
o runtests: eliminate a warning on old perl versions
2023-09-28 15:42:52 +08:00
o src/mkhelp: make generated code pass `checksrc` [59]
o test1056: disable on Windows
2023-09-22 16:36:31 +08:00
o test1474: disable test on NetBSD, OpenBSD and Solaris 10 [31]
o test1592: greatly increase the maximum test timeout
o test2600: remove special case handling for USE_ALARM_TIMEOUT [3]
o test650: fix an end tag typo
o test661: return from test early in case of curl error
2023-10-05 15:20:27 +08:00
o tests: close the shell used to start sshd [41]
2023-09-26 05:35:49 +08:00
o tests: fix compiler warnings [38]
2023-10-05 15:20:27 +08:00
o tests: Fix zombie processes left behind by FTP tests. [80]
o tests: improve SLOWDOWN test reliability by reducing sent data
2023-10-05 15:20:27 +08:00
o tests: increase lib571 timeout from 3s to 30s [106]
2023-09-19 14:32:38 +08:00
o tests: log the test result code after each libtest
2023-10-05 15:20:27 +08:00
o tests: propagate errors in libtests
o tests: set --expect100-timeout to improve test reliability
2023-09-28 15:42:52 +08:00
o tests: show which curl tool `runtests.pl` is using [60]
o tests: stop overriding the lock timeout
2023-09-22 16:36:31 +08:00
o tftpd: always use curl's own tftp.h [25]
2023-10-02 15:41:33 +08:00
o tool: use our own stderr variable [94]
o tool_cb_wrt: fix debug assertion [4]
2023-09-28 15:42:52 +08:00
o tool_setopt: remove unused function tool_setopt_flags [56]
2023-09-22 16:36:31 +08:00
o upload-file.d: describe the file name slash/backslash handling [9]
2023-09-26 05:35:49 +08:00
o url: fix netrc info message [39]
o warnless: remove unused functions [33]
o wolfssh: do cleanup in Curl_ssh_cleanup [40]
2023-09-22 16:36:31 +08:00
o wolfssl: allow capath with CURLOPT_CAINFO_BLOB [29]
o wolfssl: if CURLOPT_CAINFO_BLOB is set, ignore the CA files [34]
2023-10-02 15:41:33 +08:00
o wolfssl: ignore errors in CA path [64]
2019-07-19 17:32:23 +08:00
This release includes the following known bugs:
2020-11-04 21:02:01 +08:00
o see docs/KNOWN_BUGS (https://curl.se/docs/knownbugs.html)
Planned upcoming removals include:
2023-02-15 15:10:01 +08:00
o support for space-separated NOPROXY patterns
See https://curl.se/dev/deprecate.html for details
This release would not have looked like this without help, code, reports and
advice from friends like these:
2023-09-28 15:42:52 +08:00
Aleksander Mazur, calvin2021y on github, Christian Schmitz,
Christian Weisgerber, claudiusaiz on github, consulion on github,
2023-10-05 15:20:27 +08:00
Dan Fandrich, Daniel Stenberg, Douglas R. Reno, Eduard Strehlau,
Elliot Killick, Gisle Vanem, Hakan Sunay Halil, Harry Sintonen, Jakub Jelen,
John Haugabook, Joshix-1 on github, Juliusz Sosinowicz, Junho Choi,
2023-10-02 15:41:33 +08:00
Karthikdasari0423 on github, Lars Francke, Loïc Yhuel, Marc Hörsken,
Mark Gaiser, Mathias Fuchs, Michael Osipov, Natanael Copa, Patrick Monnerat,
Peter Wang, Ray Satiro, Robert Simpson, Ryan Schmidt, s0urc3_ on hackerone,
Samuel Henrique, Stefan Eissing, Ted Lyngmo, Viktor Szakats, vvb2060, 南宫雪珊
2023-10-05 15:20:27 +08:00
(39 contributors)
References to bug reports and discussions on issues:
[1] = https://curl.se/bug/?i=11850
[2] = https://curl.se/bug/?i=11846
[3] = https://curl.se/bug/?i=11767
[4] = https://github.com/curl/curl/commit/af3f4e41#r127212213
2023-09-19 14:32:38 +08:00
[5] = https://curl.se/bug/?i=11875
[6] = https://curl.se/bug/?i=11871
[7] = https://curl.se/bug/?i=11877
[8] = https://curl.se/bug/?i=11874
2023-09-22 16:36:31 +08:00
[9] = https://curl.se/bug/?i=11911
2023-09-19 14:32:38 +08:00
[10] = https://curl.se/bug/?i=11843
[11] = https://curl.se/bug/?i=11866
[12] = https://curl.se/bug/?i=11864
[13] = https://curl.se/bug/?i=11855
2023-09-22 16:36:31 +08:00
[14] = https://curl.se/bug/?i=11804
2023-09-19 14:32:38 +08:00
[15] = https://curl.se/bug/?i=11838
[16] = https://curl.se/bug/?i=11862
[17] = https://curl.se/bug/?i=11862
2023-09-22 16:36:31 +08:00
[18] = https://curl.se/bug/?i=11905
[19] = https://curl.se/bug/?i=11909
2023-09-26 05:35:49 +08:00
[20] = https://curl.se/bug/?i=11750
[21] = https://curl.se/bug/?i=11808
2023-09-22 16:36:31 +08:00
[22] = https://curl.se/bug/?i=11837
[23] = https://curl.se/bug/?i=11860
[24] = https://curl.se/bug/?i=11885
[25] = https://curl.se/bug/?i=11897
[26] = https://curl.se/bug/?i=11890
[27] = https://curl.se/bug/?i=11898
[28] = https://curl.se/bug/?i=11892
[29] = https://curl.se/bug/?i=11886
2023-09-26 05:35:49 +08:00
[30] = https://curl.se/bug/?i=11882
2023-09-22 16:36:31 +08:00
[31] = https://curl.se/bug/?i=11888
[32] = https://curl.se/bug/?i=11893
2023-09-26 05:35:49 +08:00
[33] = https://curl.se/bug/?i=11932
2023-09-22 16:36:31 +08:00
[34] = https://curl.se/bug/?i=11884
2023-09-26 05:35:49 +08:00
[35] = https://curl.se/bug/?i=11932
2023-10-02 15:41:33 +08:00
[36] = https://curl.se/bug/?i=12003
2023-09-26 05:35:49 +08:00
[37] = https://curl.se/bug/?i=11931
[38] = https://curl.se/bug/?i=11925
[39] = https://curl.se/bug/?i=11904
[40] = https://curl.se/bug/?i=11921
2023-10-05 15:20:27 +08:00
[41] = https://curl.se/bug/?i=12032
2023-09-26 05:35:49 +08:00
[42] = https://curl.se/bug/?i=11924
[43] = https://curl.se/bug/?i=11796
[44] = https://curl.se/bug/?i=11810
[45] = https://curl.se/bug/?i=11625
[46] = https://curl.se/bug/?i=8805
[47] = https://curl.se/bug/?i=11915
[48] = https://curl.se/bug/?i=11912
2023-10-02 15:41:33 +08:00
[49] = https://curl.se/bug/?i=11982
[50] = https://curl.se/bug/?i=11998
2023-09-28 15:42:52 +08:00
[51] = https://curl.se/bug/?i=11960
[52] = https://curl.se/bug/?i=11957
2023-10-02 15:41:33 +08:00
[53] = https://curl.se/bug/?i=11997
2023-09-28 15:42:52 +08:00
[54] = https://curl.se/bug/?i=11920
[55] = https://curl.se/bug/?i=11941
[56] = https://curl.se/bug/?i=11943
[57] = https://curl.se/bug/?i=11954
[58] = https://curl.se/bug/?i=11951
[59] = https://curl.se/bug/?i=11955
[60] = https://curl.se/bug/?i=11953
2023-10-02 15:41:33 +08:00
[61] = https://curl.se/bug/?i=11996
[62] = https://curl.se/bug/?i=11990
[63] = https://curl.se/bug/?i=11987
[64] = https://curl.se/bug/?i=11987
2023-09-28 15:42:52 +08:00
[65] = https://curl.se/bug/?i=11940
2023-10-02 15:41:33 +08:00
[66] = https://curl.se/bug/?i=11991
[67] = https://curl.se/bug/?i=11994
2023-09-28 15:42:52 +08:00
[68] = https://curl.se/bug/?i=2935
[69] = https://curl.se/bug/?i=11858
[70] = https://curl.se/bug/?i=11937
[71] = https://curl.se/bug/?i=11929
[72] = https://curl.se/bug/?i=11927
[73] = https://curl.se/bug/?i=11926
[74] = https://curl.se/bug/?i=11914
2023-10-02 15:41:33 +08:00
[75] = https://curl.se/bug/?i=11981
[76] = https://curl.se/bug/?i=11979
[77] = https://curl.se/bug/?i=11978
2023-10-05 15:20:27 +08:00
[78] = https://curl.se/bug/?i=12010
2023-10-02 15:41:33 +08:00
[79] = https://curl.se/bug/?i=11988
2023-10-05 15:20:27 +08:00
[80] = https://curl.se/bug/?i=12018
2023-10-02 15:41:33 +08:00
[81] = https://curl.se/bug/?i=11980
[82] = https://curl.se/bug/?i=11986
[83] = https://curl.se/bug/?i=11985
[84] = https://curl.se/bug/?i=11984
[85] = https://curl.se/bug/?i=11974
[86] = https://curl.se/bug/?i=11973
[87] = https://curl.se/bug/?i=11973
[88] = https://curl.se/bug/?i=11975
[89] = https://curl.se/bug/?i=11963
2023-10-05 15:20:27 +08:00
[90] = https://curl.se/bug/?i=11983
2023-10-02 15:41:33 +08:00
[91] = https://curl.se/bug/?i=11977
2023-10-05 15:20:27 +08:00
[92] = https://curl.se/bug/?i=12024
2023-10-02 15:41:33 +08:00
[93] = https://curl.se/bug/?i=11967
[94] = https://curl.se/bug/?i=11958
[95] = https://curl.se/bug/?i=11939
2023-10-05 15:20:27 +08:00
[96] = https://curl.se/bug/?i=12027
2023-10-02 15:41:33 +08:00
[97] = https://curl.se/bug/?i=11908
[98] = https://curl.se/bug/?i=11938
2023-10-05 15:20:27 +08:00
[102] = https://curl.se/bug/?i=11964
[105] = https://curl.se/bug/?i=12015
[106] = https://curl.se/bug/?i=12013
[107] = https://curl.se/bug/?i=11928
[108] = https://curl.se/bug/?i=12005
[109] = https://curl.se/bug/?i=11999
[110] = https://curl.se/bug/?i=12006
[111] = https://curl.se/bug/?i=12008