summaryrefslogtreecommitdiff
path: root/RELEASE-NOTES
blob: e281f1cf87add61085470ccab1384255789adb69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
curl and libcurl 7.80.0

 Public curl releases:         204
 Command line options:         243
 curl_easy_setopt() options:   294
 Public functions in libcurl:  86
 Contributors:                 2527

This release includes the following changes:

 o CURLOPT_MAXLIFETIME_CONN: maximum allowed lifetime for conn reuse [25]
 o CURLOPT_PREREQFUNCTION: add new callback [17]
 o libssh2: add SHA256 fingerprint support [4]
 o urlapi: add curl_url_strerror() [21]
 o urlapi: support UNC paths in file: URLs on Windows [20]
 o wolfssl: allow setting of groups/curves [22]

This release includes the following bugfixes:

 o aws-sigv4: make signature work when post data is binary [68]
 o BINDINGS: URL updates [30]
 o build: remove checks for WinSock 1 [36]
 o c-hyper: don't abort CONNECT responses early when auth-in-progress [71]
 o c-hyper: make Curl_http propagate errors better [50]
 o c-hyper: make CURLOPT_SUPPRESS_CONNECT_HEADERS work [97]
 o c-hyper: make test 217 run [74]
 o c-hyper: use hyper_request_set_uri_parts to make h2 better [39]
 o checksrc: ignore preprocessor lines [64]
 o CI/makefiles: introduce dedicated test target [34]
 o ci: update Lift config to match requirements of curl build [1]
 o cirrus: remove FreeBSD 11.4 from the matrix [62]
 o cirrus: switch to openldap24-client [63]
 o cleanup: constify unmodified static structs [2]
 o cmake: add CURL_ENABLE_SSL option [46]
 o cmake: fix error getting LOCATION property on non-imported target [59]
 o CMake: restore support for SecureTransport on iOS [103]
 o cmake: with OpenSSL, define OPENSSL_SUPPRESS_DEPRECATED [14]
 o cmdline-opts: made the 'Added:' field mandatory [37]
 o configure.ac: replace krb5-config with pkg-config [80]
 o configure: when hyper is selected, deselect nghttp2 [94]
 o connect: use sysaddr_un from sys/un.h or custom-defined for windows [23]
 o curl-confopts.m4:  remove --enable/disable-hidden-symbols [70]
 o curl-openssl.m4: modify library order for openssl linking [40]
 o curl-openssl: pass argument to sed single-quoted [15]
 o curl.1: remove mentions of really old version changes [38]
 o curl: actually append "-" to --range without number only [57]
 o curl: correct grammar in generated libcurl code [53]
 o curl: print help descriptions in an aligned right column [16]
 o curl_gssapi: fix link error on macOS Monterey [55]
 o curl_multi_socket_action.3: add a "RETURN VALUE" section [106]
 o curl_ntlm_core: use OpenSSL only if DES is available [42]
 o CURLOPT_HTTPHEADER.3: add descripion for specific headers [35]
 o docs/HTTP3: improve build instructions [102]
 o docs/Makefile.am: repair 'make html' [52]
 o docs: fix typo in CURLOPT_TRAILERFUNCTION example [93]
 o docs: provide "RETURN VALUE" section for more func manpages [105]
 o doh: remove experimental code for DoH with GET [61]
 o examples/htmltidy: correct wrong printf() use [66]
 o examples/imap-append: fix end-of-data check [7]
 o gen.pl: insert the current date and version in generated man page [11]
 o http2: make getsock not wait for write if there's no remote window [56]
 o HTTP3: fix the HTTP/3 Explained book link [27]
 o http: fix Basic auth with empty name field in URL [24]
 o http: reject HTTP response codes < 100 [92]
 o http: remove assert that breaks hyper [47]
 o http: set content length earlier [67]
 o http_proxy: make hyper CONNECT() return the correct error code [51]
 o http_proxy: multiple CONNECT with hyper done better [78]
 o hyper: disable test 1294 since hyper doesn't allow such crazy headers [96]
 o hyper: does not support disabling CURLOPT_HTTP_TRANSFER_DECODING [72]
 o hyper: pass the CONNECT line to the debug callback [79]
 o INSTALL: update symbol hiding option [77]
 o lib/mk-ca-bundle.pl: skip certs passed Not Valid After date [18]
 o lib: avoid fallthrough cases in switch statements [33]
 o libcurl.rc: switch out the copyright symbol for plain ASCII [5]
 o libssh2: Get the version at runtime if possible [12]
 o llist: remove redundant code, branch will not be executed [10]
 o Makefile.m32: fix to not require OpenSSL with -libssh2 or -rtmp options [100]
 o maketgz: redirect updatemanpages.pl output to /dev/null
 o man pages: require all to use the same section header order [101]
 o manpage: adjust the asterisk in some SYNOPSIS sections [82]
 o md5: fix compilation with OpenSSL 3.0 API [43]
 o misc: fix a few issues on MidnightBSD [28]
 o misc: fix typos in docs and comments [3]
 o ngtcp2: fix QUIC transport parameter version [6]
 o NTLM: use DES_set_key_unchecked with OpenSSL [13]
 o openssl: if verifypeer is not requested, skip the CA loading [69]
 o openssl: with OpenSSL 1.1.0+ a failed RAND_status means goaway [44]
 o sasl: binary messages [31]
 o scripts/delta: count command line options in the new file
 o sendf: accept zero-length data in Curl_client_write() [95]
 o sha256: use high-level EVP interface for OpenSSL [41]
 o sws: fix memory leak on exit [49]
 o test1160: edited to work with hyper [83]
 o test1185: verify checksrc [58]
 o test1266/1267: disabled on hyper: no HTTP/0.9 support [99]
 o test1287: make work on hyper [98]
 o test207: accept a different error code for hyper [76]
 o test262: don't attempt with hyper [73]
 o test552: updated to work with hyper [87]
 o test559: add 'HTTP' in keywords [86]
 o tests: disable test 2043 [54]
 o tests: use python3 in test 1451 [48]
 o tls: remove newline from three infof() calls [85]
 o tool_cb_prg: make resumed upload progress bar show better [9]
 o tool_listhelp: easier generated with gen.pl [19]
 o tool_main: fix typo in comment [29]
 o URL-SYNTAX: add IMAP UID SEARCH example [81]
 o url: check the return value of curl_url() [75]
 o url: set "k->size" -1 at start of request [60]
 o urlapi: skip a strlen(), pass in zero [65]
 o urlapi: URL decode percent-encoded host names [26]
 o version_win32: use actual version instead of manifested version [45]
 o vtls: Fix a memory leak if an SSL session cannot be added to the cache [8]
 o wolfssl: use for SHA256, MD4, MD5, and setting DES odd parity [32]

This release includes the following known bugs:

 o see docs/KNOWN_BUGS (https://curl.se/docs/knownbugs.html)

This release would not have looked like this without help, code, reports and
advice from friends like these:

  8U61ife on github, a1346054 on github, Abhinav Singh, Alexander Chuykov,
  Alexander Kanavin, Anthony Hu, beslick5 on github, billionai on github,
  Bo Anderson, Boris Rasin, Daniel Gustafsson, Daniel Stenberg, David Cook,
  David Hu, Eddie Lumpkin, Érico Nogueira, Erik Stenlund, Gisle Vanem,
  Gleb Ivanovsky, h1zzz on github, Harry Sintonen, Hayden Roche,
  Jakub Zakrzewski, Jan Mazur, Jeffrey Tolar, Joel Depooter, Josip Medved,
  Jun-ya Kato, Kerem Kat, Kirill Efimov, Lucas Holt, Malik Idrees Hasan Khan,
  Marcel Raad, Marc Hörsken, Mats Lindestam, Max Dymond, Michael Afanasiev,
  Michael Baentsch, Michael Kaufmann, Momoka Yamamoto, Noam Moshe,
  orycho on github, Patrick Monnerat, Rafał Mikrut, Randall S. Becker,
  Raul Onitza-Klugman, Ray Satiro, Ricardo Martins, Rick Lane,
  Rikard Falkeborn, Roy Li, Ryan Mast, Samuel Henrique, Sean Molenaar,
  Sergey Markelov, sergio-nsk on github, Sharon Brizinov, Stathis Kapnidis,
  Steini2000 on github, Thomas M. DuBuisson, tlahn on github, Viktor Szakats,
  Vitaly Varyvdin, Wyatt O'Day, x2018 on github, Борис Верховский,
  (66 contributors)

References to bug reports and discussions on issues:

 [1] = https://curl.se/bug/?i=7761
 [2] = https://curl.se/bug/?i=7759
 [3] = https://curl.se/bug/?i=7747
 [4] = https://curl.se/bug/?i=7646
 [5] = https://curl.se/bug/?i=7765
 [6] = https://curl.se/bug/?i=7771
 [7] = https://curl.se/bug/?i=7774
 [8] = https://curl.se/bug/?i=7683
 [9] = https://curl.se/bug/?i=7760
 [10] = https://curl.se/bug/?i=7770
 [11] = https://curl.se/bug/?i=7782
 [12] = https://curl.se/bug/?i=7768
 [13] = https://curl.se/bug/?i=7779
 [14] = https://curl.se/bug/?i=7767
 [15] = https://curl.se/bug/?i=7758
 [16] = https://curl.se/bug/?i=7792
 [17] = https://curl.se/bug/?i=7477
 [18] = https://curl.se/bug/?i=7801
 [19] = https://curl.se/bug/?i=7787
 [20] = https://curl.se/bug/?i=7366
 [21] = https://curl.se/bug/?i=7605
 [22] = https://curl.se/bug/?i=7728
 [23] = https://curl.se/bug/?i=7737
 [24] = https://curl.se/bug/?i=7819
 [25] = https://curl.se/mail/lib-2021-09/0058.html
 [26] = https://curl.se/bug/?i=7830
 [27] = https://curl.se/bug/?i=7813
 [28] = https://curl.se/bug/?i=7812
 [29] = https://curl.se/bug/?i=7811
 [30] = https://curl.se/bug/?i=7809
 [31] = https://curl.se/bug/?i=6930
 [32] = https://curl.se/bug/?i=7806
 [33] = https://curl.se/bug/?i=7322
 [34] = https://curl.se/bug/?i=7785
 [35] = https://curl.se/bug/?i=7829
 [36] = https://curl.se/bug/?i=7778
 [37] = https://curl.se/bug/?i=7786
 [38] = https://curl.se/bug/?i=7786
 [39] = https://curl.se/bug/?i=7679
 [40] = https://curl.se/bug/?i=7826
 [41] = https://curl.se/bug/?i=7808
 [42] = https://curl.se/bug/?i=7808
 [43] = https://curl.se/bug/?i=7808
 [44] = https://curl.se/bug/?i=7840
 [45] = https://curl.se/bug/?i=7742
 [46] = https://curl.se/bug/?i=7822
 [47] = https://curl.se/bug/?i=7852
 [48] = https://curl.se/bug/?i=7899
 [49] = https://curl.se/bug/?i=7849
 [50] = https://curl.se/bug/?i=7851
 [51] = https://curl.se/bug/?i=7825
 [52] = https://curl.se/bug/?i=7853
 [53] = https://curl.se/bug/?i=7802
 [54] = https://curl.se/bug/?i=7845
 [55] = https://curl.se/bug/?i=7657
 [56] = https://curl.se/bug/?i=7821
 [57] = https://curl.se/bug/?i=7837
 [58] = https://curl.se/bug/?i=7866
 [59] = https://curl.se/bug/?i=7885
 [60] = https://curl.se/bug/?i=7871
 [61] = https://curl.se/bug/?i=7870
 [62] = https://curl.se/bug/?i=7869
 [63] = https://curl.se/bug/?i=7868
 [64] = https://curl.se/bug/?i=7863
 [65] = https://curl.se/bug/?i=7862
 [66] = https://curl.se/bug/?i=7860
 [67] = https://github.com/curl/curl/commit/8a16e54#r57374914
 [68] = https://curl.se/bug/?i=7844
 [69] = https://curl.se/bug/?i=7892
 [70] = https://curl.se/bug/?i=7891
 [71] = https://curl.se/bug/?i=7889
 [72] = https://curl.se/bug/?i=7889
 [73] = https://curl.se/bug/?i=7889
 [74] = https://curl.se/bug/?i=7889
 [75] = https://curl.se/bug/?i=7917
 [76] = https://curl.se/bug/?i=7889
 [77] = https://curl.se/bug/?i=7890
 [78] = https://curl.se/bug/?i=7888
 [79] = https://curl.se/bug/?i=7887
 [80] = https://curl.se/bug/?i=7916
 [81] = https://github.com/curl/curl/issues/7626
 [82] = https://curl.se/bug/?i=7884
 [83] = https://curl.se/bug/?i=7912
 [85] = https://curl.se/bug/?i=7879
 [86] = https://curl.se/bug/?i=7911
 [87] = https://curl.se/bug/?i=7911
 [92] = https://curl.se/bug/?i=7909
 [93] = https://curl.se/bug/?i=7910
 [94] = https://curl.se/bug/?i=7908
 [95] = https://curl.se/bug/?i=7898
 [96] = https://curl.se/bug/?i=7905
 [97] = https://curl.se/bug/?i=7905
 [98] = https://curl.se/bug/?i=7905
 [99] = https://curl.se/bug/?i=7905
 [100] = https://curl.se/bug/?i=7895
 [101] = https://curl.se/bug/?i=7904
 [102] = https://curl.se/bug/?i=7842
 [103] = https://curl.se/bug/?i=7501
 [105] = https://curl.se/bug/?i=7902
 [106] = https://curl.se/bug/?i=7901