mirror of
https://github.com/curl/curl.git
synced 2026-04-11 12:01:42 +08:00
224 lines
9.6 KiB
Plaintext
224 lines
9.6 KiB
Plaintext
curl and libcurl 8.20.0
|
|
|
|
Public curl releases: 274
|
|
Command line options: 273
|
|
curl_easy_setopt() options: 308
|
|
Public functions in libcurl: 100
|
|
Authors: 1457
|
|
Contributors: 3634
|
|
|
|
This release includes the following changes:
|
|
|
|
|
|
This release includes the following bugfixes:
|
|
|
|
o asyn-ares: drop orphaned variable references [86]
|
|
o asyn-ares: fix HTTPS-lookup when not on port 443 [100]
|
|
o autotools: limit checksrc target to ignore non-repo test sources [12]
|
|
o badwords-all: exit with correct code on errors [50]
|
|
o badwords: combine the whitelisting into a single regex [1]
|
|
o badwords: detect the the and with with [51]
|
|
o badwords: only check comments and strings in source code [61]
|
|
o badwords: rework exceptions, fix many of them [15]
|
|
o build: compiler warning silencing tidy-ups [4]
|
|
o build: drop `openssl` module dependency for BoringSSL from `libcurl.pc` [33]
|
|
o build: enable `-Wimplicit-int-enum-cast` compiler warning, fix issues [84]
|
|
o cmake: document functions used from Windows system DLLs [103]
|
|
o cmake: resolve imported targets recursively when generating `libcurl.pc` [45]
|
|
o cmake: rework binutils ld hack to not read `LOCATION` property [41]
|
|
o configure: fix `--with-ngtcp2=<path>` option for crypto libs [26]
|
|
o configure: fix LibreSSL ngtcp2 1.15.0+ crypto lib selection logic [3]
|
|
o configure: prefer dependency-specific variables over `$withval` [35]
|
|
o curl-wolfssl.m4: fix to use the correct value for pkg-config directory [36]
|
|
o curl_ctype.h: fix spelling in a couple of locally used macros [28]
|
|
o curl_get_line: error out on read errors [9]
|
|
o curl_get_line: fix potential infinite loop when filename is a directory [46]
|
|
o digest: pass in the user name quoted (as well) [34]
|
|
o docs/lib: fix typos [53]
|
|
o docs: enable more compiler warnings for C snippets, fix 3 finds [71]
|
|
o docs: minor wording tweaks
|
|
o doh: fix memory-leak when doing a second DoH resolve [55]
|
|
o examples/websocket: fix to sleep more on Windows [92]
|
|
o examples: drop warning silencers no longer hit [14]
|
|
o examples: fix typo in comment [75]
|
|
o file: init fd to -1 to prevent close fd 0 on early failure [40]
|
|
o ftp: do not strdup DATA hostname [29]
|
|
o ftp: reject PWD responses containing control characters [95]
|
|
o gcc: guard `#pragma diagnostic` in core code for <4.6 [94]
|
|
o generate.bat: remove extra % from VC11 and VC12 runs
|
|
o getinfo: initialize `PureInfo` field `used_proxy` [43]
|
|
o hostip: clear the sockaddr_in6 structure before use [20]
|
|
o http2: clear the h2 session at delete [99]
|
|
o HTTP3.md: drop outdated mentions of OpenSSL-QUIC [2]
|
|
o http: fix Curl_compareheader for multi value headers [11]
|
|
o http: make Curl_compareheader handle multiple commas in header
|
|
o imap: reset the UIDVALIDITY state between transfers [7]
|
|
o include: drop 'will' from public headers [73]
|
|
o ldap: drop duplicate `ldap_set_option()` on Windows [42]
|
|
o ldap: fix to initialize cleartext connection on Windows [49]
|
|
o lib: always use Curl_1st_fatal instead of Curl_1st_err [89]
|
|
o libssh2: fix error handling on quote errors [21]
|
|
o mk-ca-bundle.pl: make generated timestamps deterministic [44]
|
|
o netrc: find login-less password when user is given in URL [6]
|
|
o openssl: drop obsolete SSLv2 logic [27]
|
|
o openssl: fix memory leaks in ECH code (OpenSSL 3) [78]
|
|
o openssl: trace count of found / imported Windows native CA roots [8]
|
|
o os400sys: fix typo in comment (symetry -> symmetry) [58]
|
|
o protocol.h: fix the CURLPROTO_MASK [31]
|
|
o protocol: use scheme names lowercase [38]
|
|
o pytest: add additional quiche check for flaky test_05_01 [22]
|
|
o rand: use `BCryptGenRandom()` in UWP builds [88]
|
|
o scripts: harden / tidy up more Perl `system()` calls [70]
|
|
o sshserver.pl: harden more `system()` calls [81]
|
|
o sshserver.pl: pass command-line to `system()` safely [82]
|
|
o strerr: correct the strerror_s() return code condition [25]
|
|
o sws: fix potential OOB write [80]
|
|
o synctime: fix off-by-one read and write to a read-only buffer (Windows) [85]
|
|
o test459: switch to mode="warn" for stderr check [5]
|
|
o tests/unit/README: describe how to unit test static functions [60]
|
|
o tool_cb_wrt: fix no-clobber error handling [39]
|
|
o tool_cfgable: free the SSL signature algorithms [62]
|
|
o tool_formparse: propagate my_get_line errors when reading headers [102]
|
|
o tool_ipfs: accept IPFS gateway URL without set port number [13]
|
|
o tool_msgs: avoid null pointer deref for early errors [98]
|
|
o tool_operate: drop the scheme-guessing in the -G handling [54]
|
|
o tool_operate: fix condition for loading `curl-ca-bundle.crt` (Windows) [79]
|
|
o tool_operate: fix minor memory-leak on early error [23]
|
|
o tool_operhlp: fix `add_file_name_to_url()` result on OOM [32]
|
|
o tool_urlglob: fix memory-leak on glob range overflow [19]
|
|
o top-complexity: prevent filename-based shell injection risk [101]
|
|
o transfer: enable custom methods again on next transfer [30]
|
|
o transfer: enhance secure check [10]
|
|
o url: use the socks type for socks proxy [47]
|
|
o url: use URL for url even in comments [52]
|
|
o urlapi: make dedotdotify handle leading dots correctly [97]
|
|
o urlapi: verify the last letter of a scheme when set explicitly [16]
|
|
o urldata: connection bit ipv6_ip is wrong [59]
|
|
o urldata: import port types and conn destination format [57]
|
|
o urldata: make speeder_c uint32 [37]
|
|
o urldata: remove trailers_state [17]
|
|
o wolfssl: fix handling of abrupt connection close [24]
|
|
o x509asn1: fix to return error in an error case from `encodeOID()` [83]
|
|
o x509asn1: fixed and adapted for ASN1tostr unit testing [48]
|
|
o x509asn1: improve encodeOID [72]
|
|
|
|
This release includes the following known bugs:
|
|
|
|
See https://curl.se/docs/knownbugs.html
|
|
|
|
For all changes ever done in curl:
|
|
|
|
See https://curl.se/changes.html
|
|
|
|
Planned upcoming removals include:
|
|
|
|
o NTLM support becomes opt-in
|
|
o RTMP support
|
|
o SMB support becomes opt-in
|
|
o Support for c-ares versions before 1.16.0
|
|
o Support for CMake 3.17 and earlier
|
|
o TLS-SRP support
|
|
|
|
See https://curl.se/dev/deprecate.html
|
|
|
|
This release would not have looked like this without help, code, reports and
|
|
advice from friends like these:
|
|
|
|
am-perip on hackerone, Carlos Henrique Lima Melara, crawfordxx,
|
|
Daniel Stenberg, Ercan Ermis, fds242 on github, Flavio Amieiro,
|
|
Henrique Pereira, James Fuller, Jason Stangroome,
|
|
lg_oled77c5pua on hackerone, m777m0 on hackerone, Martin Dürrmeier,
|
|
Michael Hendricks, Michael Kaufmann, Orgad Shaneh, Otis Cui Lei, Ray Satiro,
|
|
renovate[bot], Richard Tollerton, Sergey Fedorov, Stefan Eissing,
|
|
Viktor Szakats, Vladimír Marek, Yoshiro Yoneya
|
|
(25 contributors)
|
|
|
|
References to bug reports and discussions on issues:
|
|
|
|
[1] = https://curl.se/bug/?i=20880
|
|
[2] = https://curl.se/bug/?i=20914
|
|
[3] = https://curl.se/bug/?i=20889
|
|
[4] = https://curl.se/bug/?i=20908
|
|
[5] = https://curl.se/bug/?i=20910
|
|
[6] = https://curl.se/bug/?i=20950
|
|
[7] = https://curl.se/bug/?i=20962
|
|
[8] = https://curl.se/bug/?i=20899
|
|
[9] = https://curl.se/bug/?i=20958
|
|
[10] = https://curl.se/bug/?i=20951
|
|
[11] = https://curl.se/bug/?i=20894
|
|
[12] = https://curl.se/bug/?i=20898
|
|
[13] = https://curl.se/bug/?i=20957
|
|
[14] = https://curl.se/bug/?i=20896
|
|
[15] = https://curl.se/bug/?i=20886
|
|
[16] = https://curl.se/bug/?i=20893
|
|
[17] = https://curl.se/bug/?i=20960
|
|
[19] = https://curl.se/bug/?i=20956
|
|
[20] = https://curl.se/bug/?i=20885
|
|
[21] = https://curl.se/bug/?i=20883
|
|
[22] = https://curl.se/bug/?i=20952
|
|
[23] = https://curl.se/bug/?i=20954
|
|
[24] = https://curl.se/bug/?i=21002
|
|
[25] = https://curl.se/bug/?i=20955
|
|
[26] = https://curl.se/bug/?i=18022
|
|
[27] = https://curl.se/bug/?i=20945
|
|
[28] = https://curl.se/bug/?i=20810
|
|
[29] = https://curl.se/bug/?i=20953
|
|
[30] = https://curl.se/bug/?i=21037
|
|
[31] = https://curl.se/bug/?i=21031
|
|
[32] = https://curl.se/bug/?i=21011
|
|
[33] = https://curl.se/bug/?i=20926
|
|
[34] = https://curl.se/bug/?i=20940
|
|
[35] = https://curl.se/bug/?i=20944
|
|
[36] = https://curl.se/bug/?i=20943
|
|
[37] = https://curl.se/bug/?i=21036
|
|
[38] = https://curl.se/bug/?i=21033
|
|
[39] = https://curl.se/bug/?i=20939
|
|
[40] = https://curl.se/bug/?i=21029
|
|
[41] = https://curl.se/bug/?i=20839
|
|
[42] = https://curl.se/bug/?i=20930
|
|
[43] = https://curl.se/bug/?i=21020
|
|
[44] = https://curl.se/bug/?i=20528
|
|
[45] = https://curl.se/bug/?i=20840
|
|
[46] = https://curl.se/bug/?i=20823
|
|
[47] = https://curl.se/bug/?i=21025
|
|
[48] = https://curl.se/bug/?i=21013
|
|
[49] = https://curl.se/bug/?i=20927
|
|
[50] = https://curl.se/bug/?i=20934
|
|
[51] = https://curl.se/bug/?i=20934
|
|
[52] = https://curl.se/bug/?i=20935
|
|
[53] = https://curl.se/bug/?i=20933
|
|
[54] = https://curl.se/bug/?i=20992
|
|
[55] = https://curl.se/bug/?i=20929
|
|
[57] = https://curl.se/bug/?i=20918
|
|
[58] = https://curl.se/bug/?i=20923
|
|
[59] = https://curl.se/bug/?i=20919
|
|
[60] = https://curl.se/bug/?i=21018
|
|
[61] = https://curl.se/bug/?i=20909
|
|
[62] = https://curl.se/bug/?i=20915
|
|
[70] = https://curl.se/bug/?i=21007
|
|
[71] = https://curl.se/bug/?i=21006
|
|
[72] = https://curl.se/bug/?i=21003
|
|
[73] = https://curl.se/bug/?i=21005
|
|
[75] = https://curl.se/bug/?i=21001
|
|
[78] = https://curl.se/bug/?i=20993
|
|
[79] = https://curl.se/bug/?i=20989
|
|
[80] = https://curl.se/bug/?i=20988
|
|
[81] = https://curl.se/bug/?i=20997
|
|
[82] = https://curl.se/bug/?i=20996
|
|
[83] = https://curl.se/bug/?i=20991
|
|
[84] = https://curl.se/bug/?i=20990
|
|
[85] = https://curl.se/bug/?i=20987
|
|
[86] = https://curl.se/bug/?i=20999
|
|
[88] = https://curl.se/bug/?i=20983
|
|
[89] = https://curl.se/bug/?i=20980
|
|
[92] = https://curl.se/bug/?i=20978
|
|
[94] = https://curl.se/bug/?i=20892
|
|
[95] = https://curl.se/bug/?i=20949
|
|
[97] = https://curl.se/bug/?i=20974
|
|
[98] = https://curl.se/bug/?i=20967
|
|
[99] = https://curl.se/bug/?i=20975
|
|
[100] = https://curl.se/bug/?i=20966
|
|
[101] = https://curl.se/bug/?i=20969
|
|
[102] = https://curl.se/bug/?i=20963
|
|
[103] = https://curl.se/bug/?i=20965
|