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