summaryrefslogtreecommitdiff
path: root/RELEASE-NOTES
blob: 9ece29ea9e449a8da83f2b429a16e416d925dba9 (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
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
curl and libcurl 7.73.0

 Public curl releases:         195
 Command line options:         234
 curl_easy_setopt() options:   278
 Public functions in libcurl:  85
 Contributors:                 2264

This release includes the following changes:

 o curl: add --output-dir [25]
 o curl: support XDG_CONFIG_HOME to find .curlrc [3]
 o curl: update --help with categories [77]
 o curl_easy_option_*: new API for meta-data about easy options [40]
 o CURLE_PROXY: new error code [7]
 o mqtt: enable by default [28]
 o sftp: add new quote commands 'atime' and 'mtime' [6]
 o sftp: add the option CURLKHSTAT_FINE_REPLACE [27]
 o tls: add CURLOPT_SSL_EC_CURVES and --curves [29]

This release includes the following bugfixes:

 o altsvc: clone setting in curl_easy_duphandle [60]
 o base64: also build for smtp, pop3 and imap [81]
 o BUGS: convert document to markdown [107]
 o buildconf: invoke 'autoreconf -fi' instead [37]
 o checksrc: verify do-while and spaces between the braces [2]
 o CI/azure: disable test 571 in the msys2 builds [93]
 o CI/azure: MQTT is now enabled by default [64]
 o CI/azure: no longer ignore results of test 1013 [43]
 o CI/travis: add a CI job with openssl3 (from git master) [51]
 o cleanups: avoid curl_ on local variables [53]
 o CMake: add option to enable Unicode on Windows [48]
 o cmake: make HTTP_ONLY also disable MQTT [58]
 o CMake: remove explicit `CMAKE_ANSI_CFLAGS` [45]
 o cmake: remove scary warning [96]
 o cmdline-opts/gen.pl: generate nicer "See Also" in curl.1 [66]
 o configure: fix pkg-config detecting wolfssl [26]
 o configure: let --enable-debug set -Wenum-conversion with gcc >= 10 [56]
 o conn: check for connection being dead before reuse [39]
 o connect.c: remove superfluous 'else' in Curl_getconnectinfo [42]
 o curl.1: add see also no-progress-meter on two spots [67]
 o curl.1: fix typo invokved -> invoked [36]
 o curl: in retry output don't call all problems "transient" [74]
 o curl: make checkpasswd use dynbuf [100]
 o curl: make file2memory use dynbuf [102]
 o curl: make file2string use dynbuf [103]
 o curl: make glob_match_url use dynbuf [101]
 o curl: retry delays in parallel mode no longer sleeps blocking [70]
 o curl: use curlx_dynbuf for realloc when loading config files [73]
 o curl:parallel_transfers: make sure retry readds the transfer [71]
 o curl_get_line: build only if cookies or alt-svc are enabled [13]
 o curl_mime_headers.3: fix the example's use of curl_slist_append [83]
 o Curl_pgrsTime - return new time to avoid timeout integer overflow [32]
 o Curl_send: return error when pre_receive_plain can't malloc [111]
 o dist: add missing CMake Find modules to the distribution [14]
 o docs/LICENSE-MIXING: remove [79]
 o docs/RESOURCES: remove [105]
 o docs/TheArtOfHttpScripting: convert to markdown [106]
 o docs: add description about CI platforms to CONTRIBUTE.md [44]
 o docs: correct non-existing macros in man pages [35]
 o doh: add error message for DOH_DNS_NAME_TOO_LONG [17]
 o dynbuf: make sure Curl_dyn_tail() zero terminates [78]
 o easy_reset: clear retry counter [82]
 o easygetopt: pass a valid enum to avoid compiler warning [75]
 o etag: save and use the full received contents [4]
 o ftp: a 550 response to SIZE returns CURLE_REMOTE_FILE_NOT_FOUND [99]
 o ftp: avoid risk of reading uninitialized integers [76]
 o ftp: get rid of the PPSENDF macro [85]
 o ftp: make a 552 response return CURLE_REMOTE_DISK_FULL [87]
 o ftp: separate FTPS from FTP over "HTTPS proxy" [112]
 o git: ignore libtests in 3XXX area [16]
 o github: use new issue template feature [88]
 o HISTORY: mention alt-svc added in 2019
 o HTTP/3: update to OpenSSL_1_1_1g-quic-draft-29 [41]
 o http: consolidate nghttp2_session_mem_recv() call paths [80]
 o http_proxy: do not count proxy headers in the header bytecount [90]
 o http_proxy: do not crash with HTTPS_PROXY and NO_PROXY set [50]
 o imap: make imap_send use dynbuf for the send buffer management [110]
 o imap: set cselect_bits to CURL_CSELECT_IN initially [104]
 o lib/Makefile.am: bump VERSIONINFO due to new functions [65]
 o lib1560: verify "redirect" to double-slash leading URL [20]
 o lib583: fix enum mixup
 o lib: fix -Wassign-enum warnings [84]
 o lib: make Curl_gethostname accept a const pointer [38]
 o libssh2: pass on the error from ssh_force_knownhost_key_type [47]
 o Makefile.m32: add ability to override zstd libs [ci skip] [10]
 o man pages: switch to https://example.com URLs [86]
 o multi: expand pre-check for socket readiness [21]
 o multi: handle connection state winsock events [31]
 o multi: implement wait using winsock events [22]
 o ngtcp2: adapt to new NGTCP2_PROTO_VER_MAX define [108]
 o ngtcp2: adapt to the new pkt_info arguments [18]
 o ntlm: fix condition for curl_ntlm_core usage [46]
 o openssl: avoid error conditions when importing native CA [52]
 o openssl: consider ALERT_CERTIFICATE_EXPIRED a failed verification [57]
 o openssl: Fix wincrypt symbols conflict with BoringSSL [9]
 o parsedate: tune the date to epoch conversion [95]
 o pause: only trigger a reread if the unpause sticks [92]
 o pingpong: use a dynbuf for the *_pp_sendf() function [113]
 o runtests: allow creating files without newlines [72]
 o runtests: clear pid variables when failing to start a server [12]
 o runtests: make cleardir() erase dot files too [8]
 o schannel: fix memory leak when using get_cert_location [15]
 o scripts: improve the "get latest curl release tag" logic
 o select.h: make socket validation macros test for INVALID_SOCKET [24]
 o select: align poll emulation to return all relevant events [63]
 o select: fix poll-based check not detecting connect failure
 o select: reduce duplication of Curl_poll in Curl_socket_check [23]
 o select: simplify return code handling for poll and select [49]
 o setopt: if the buffer exists, refuse the new BUFFERSIZE [5]
 o setopt: return CURLE_BAD_FUNCTION_ARGUMENT on bad argument [91]
 o socketpair: allow CURL_DISABLE_SOCKETPAIR [11]
 o sockfilt: handle FD_CLOSE winsock event on write socket [30]
 o SSLCERTS: fix English syntax [34]
 o strerror: honor Unicode API choice on Windows [109]
 o symbian: drop support [118]
 o telnet.c: depend on static requirement of WinSock version 2 [61]
 o test1541: remove since it is a known bug [68]
 o test163[12]: require http to be built-in to run [94]
 o test434: test -K use in a single line without newline [59]
 o test971: show test mismatches "inline"
 o tests/data: Fix some mismatched XML tags in test cases
 o tests/FILEFORMAT: document nonewline support for <file>
 o tests/FILEFORMAT: document type=shell for <command>
 o tests: remove pipelining tests [69]
 o tls: fix SRP detection by using the proper #ifdefs [33]
 o tls: provide the CApath verbose log on its own line [1]
 o tool_writeout: add new writeout variable, %{num_headers} [97]
 o travis: add a build using libressl (from git master) [55]
 o url: use blank credentials when using proxy w/o username and password [54]
 o urlapi: use more Curl_safefree [89]
 o vtls: deduplicate client certificates in ssl_config_data [98]
 o win32: drop support for WinSock version 1, require version 2 [62]
 o winbuild: convert the instruction text to README.md [19]

This release includes the following known bugs:

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

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

  Alessandro Ghedini, Anders Bakken, Andrew Barnes, anio on github,
  Antarpreet Singh, beckenc on github, Chris Paulson-Ellis,
  Christian Weisgerber, COFFEETALES on github, Dan Fandrich, Daniel Stenberg,
  Dan Kenigsberg, Diven Qi, Don J Olmstead, Duncan Wilcox, Eli Schwartz,
  Emil Engler, Eric Curtin, fullincome on github, Gergely Nagy, Gisle Vanem,
  Harry Sintonen, htasta on github, ihsinme on github, Ionuț-Francisc Oancea,
  Javier Blazquez, Jeroen Ooms, jmdavitt on github, Kamil Dudka,
  Kunal Chandarana, Laramie Leavitt, Marcel Raad, Marc Hörsken, Martin Bašti,
  Michael Baentsch, Michael Musset, Michael Olbrich, Mingtao Yang,
  Peter Körner, Peter Wu, Quentin Balland, Rasmus Melchior Jacobsen,
  Ray Satiro, rcombs on github, Samuel Marks, Samuel Tranchet,
  sofaboss on github, Stefan Strogin, Tatsuhiro Tsujikawa, Tomas Berger,
  Tom van der Woerdt, Viktor Szakats, xwxbug on github,
  (53 contributors)

        Thanks! (and sorry if I forgot to mention someone)

References to bug reports and discussions on issues:

 [1] = https://curl.haxx.se/bug/?i=5826
 [2] = https://curl.haxx.se/bug/?i=5845
 [3] = https://curl.haxx.se/bug/?i=5829
 [4] = https://curl.haxx.se/bug/?i=5610
 [5] = https://curl.haxx.se/bug/?i=5842
 [6] = https://curl.haxx.se/bug/?i=5810
 [7] = https://curl.haxx.se/bug/?i=5770
 [8] = https://curl.haxx.se/bug/?i=5838
 [9] = https://curl.haxx.se/bug/?i=5669
 [10] = https://curl.haxx.se/bug/?i=5840
 [11] = https://curl.haxx.se/bug/?i=5850
 [12] = https://curl.haxx.se/mail/lib-2020-08/0018.html
 [13] = https://curl.haxx.se/bug/?i=5851
 [14] = https://curl.haxx.se/bug/?i=5836
 [15] = https://curl.haxx.se/bug/?i=5855
 [16] = https://curl.haxx.se/bug/?i=5859
 [17] = https://curl.haxx.se/bug/?i=5863
 [18] = https://curl.haxx.se/bug/?i=5864
 [19] = https://curl.haxx.se/bug/?i=5861
 [20] = https://curl.haxx.se/bug/?i=5849
 [21] = https://curl.haxx.se/bug/?i=5634
 [22] = https://curl.haxx.se/bug/?i=5634
 [23] = https://curl.haxx.se/bug/?i=5707
 [24] = https://curl.haxx.se/bug/?i=5760
 [25] = https://curl.haxx.se/bug/?i=5637
 [26] = https://curl.haxx.se/bug/?i=5848
 [27] = https://curl.haxx.se/bug/?i=5685
 [28] = https://curl.haxx.se/bug/?i=5858
 [29] = https://curl.haxx.se/bug/?i=5892
 [30] = https://curl.haxx.se/bug/?i=5879
 [31] = https://curl.haxx.se/bug/?i=5867
 [32] = https://curl.haxx.se/bug/?i=5583
 [33] = https://curl.haxx.se/bug/?i=5865
 [34] = https://curl.haxx.se/bug/?i=5876
 [35] = https://curl.haxx.se/bug/?i=5846
 [36] = https://curl.haxx.se/bug/?i=5846
 [37] = https://curl.haxx.se/bug/?i=5853
 [38] = https://curl.haxx.se/bug/?i=5866
 [39] = https://curl.haxx.se/bug/?i=5884
 [40] = https://curl.haxx.se/bug/?i=5365
 [41] = https://curl.haxx.se/bug/?i=5871
 [42] = https://curl.haxx.se/bug/?i=5912
 [43] = https://curl.haxx.se/bug/?i=5889
 [44] = https://curl.haxx.se/bug/?i=5882
 [45] = https://curl.haxx.se/bug/?i=5439
 [46] = https://curl.haxx.se/bug/?i=1262
 [47] = https://curl.haxx.se/bug/?i=5909
 [48] = https://curl.haxx.se/bug/?i=5843
 [49] = https://curl.haxx.se/bug/?i=5880
 [50] = https://bugzilla.redhat.com/1873327
 [51] = https://curl.haxx.se/bug/?i=5908
 [52] = https://curl.haxx.se/bug/?i=5907
 [53] = https://curl.haxx.se/bug/?i=5906
 [54] = https://curl.haxx.se/bug/?i=5914
 [55] = https://curl.haxx.se/bug/?i=5932
 [56] = https://curl.haxx.se/bug/?i=5930
 [57] = https://curl.haxx.se/bug/?i=5934
 [58] = https://curl.haxx.se/bug/?i=5931
 [59] = https://curl.haxx.se/bug/?i=5946
 [60] = https://curl.haxx.se/bug/?i=5923
 [61] = https://curl.haxx.se/bug/?i=5854
 [62] = https://curl.haxx.se/bug/?i=5854
 [63] = https://curl.haxx.se/bug/?i=5883
 [64] = https://curl.haxx.se/bug/?i=5903
 [65] = https://curl.haxx.se/bug/?i=5899
 [66] = https://curl.haxx.se/bug/?i=5898
 [67] = https://curl.haxx.se/bug/?i=5897
 [68] = https://curl.haxx.se/bug/?i=5922
 [69] = https://curl.haxx.se/bug/?i=5921
 [70] = https://curl.haxx.se/bug/?i=5917
 [71] = https://curl.haxx.se/bug/?i=5905
 [72] = https://curl.haxx.se/bug/?i=5946
 [73] = https://curl.haxx.se/bug/?i=5946
 [74] = https://curl.haxx.se/bug/?i=5916
 [75] = https://github.com/curl/curl/commit/6ebe63fac23f38df911edc348e8ccc72280f9434#commitcomment-42042843
 [76] = https://curl.haxx.se/bug/?i=5972
 [77] = https://curl.haxx.se/bug/?i=5680
 [78] = https://curl.haxx.se/bug/?i=5959
 [79] = https://curl.haxx.se/bug/?i=5955
 [80] = https://curl.haxx.se/bug/?i=5648
 [81] = https://curl.haxx.se/bug/?i=5937
 [82] = https://curl.haxx.se/bug/?i=5974
 [83] = https://curl.haxx.se/bug/?i=5942
 [84] = https://github.com/curl/curl/commit/879007f8118771f4896334731aaca5850a154675#commitcomment-42087553
 [85] = https://curl.haxx.se/bug/?i=5971
 [86] = https://curl.haxx.se/bug/?i=5969
 [87] = https://curl.haxx.se/bug/?i=6016
 [88] = https://curl.haxx.se/bug/?i=5936
 [89] = https://curl.haxx.se/bug/?i=5968
 [90] = https://curl.haxx.se/bug/?i=5992
 [91] = https://curl.haxx.se/bug/?i=5993
 [92] = https://curl.haxx.se/mail/lib-2020-09/0081.html
 [93] = https://curl.haxx.se/bug/?i=5954
 [94] = https://curl.haxx.se/bug/?i=6014
 [95] = https://curl.haxx.se/bug/?i=5985
 [96] = https://curl.haxx.se/bug/?i=5984
 [97] = https://curl.haxx.se/bug/?i=5947
 [98] = https://curl.haxx.se/bug/?i=5629
 [99] = https://curl.haxx.se/bug/?i=5953
 [100] = https://curl.haxx.se/bug/?i=5952
 [101] = https://curl.haxx.se/bug/?i=5952
 [102] = https://curl.haxx.se/bug/?i=5952
 [103] = https://curl.haxx.se/bug/?i=5952
 [104] = https://curl.haxx.se/bug/?i=5961
 [105] = https://curl.haxx.se/bug/?i=5980
 [106] = https://curl.haxx.se/bug/?i=5981
 [107] = https://curl.haxx.se/bug/?i=5979
 [108] = https://curl.haxx.se/bug/?i=6012
 [109] = https://curl.haxx.se/bug/?i=6005
 [110] = https://curl.haxx.se/bug/?i=6010
 [111] = https://curl.haxx.se/bug/?i=6011
 [112] = https://curl.haxx.se/bug/?i=5523
 [113] = https://curl.haxx.se/bug/?i=6004
 [118] = https://curl.haxx.se/bug/?i=5989