• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1curl and libcurl 7.67.0
2
3 Public curl releases:         186
4 Command line options:         226
5 curl_easy_setopt() options:   269
6 Public functions in libcurl:  81
7 Contributors:                 2056
8
9This release includes the following changes:
10
11 o curl: added --no-progress-meter [73]
12 o setopt: CURLMOPT_MAX_CONCURRENT_STREAMS is new [55]
13 o urlapi: CURLU_NO_AUTHORITY allows empty authority/host part [22]
14
15This release includes the following bugfixes:
16
17 o BINDINGS: five new bindings addded
18 o CURLOPT_TIMEOUT.3: Clarify transfer timeout time includes queue time [78]
19 o CURLOPT_TIMEOUT.3: remove the mention of "minutes" [74]
20 o ESNI: initial build/setup support [71]
21 o FTP: FTPFILE_NOCWD: avoid redundant CWDs [28]
22 o FTP: allow "rubbish" prepended to the SIZE response [15]
23 o FTP: remove trailing slash from path for LIST/MLSD [6]
24 o FTP: skip CWD to entry dir when target is absolute [16]
25 o FTP: url-decode path before evaluation [36]
26 o HTTP3.md: move -p for mkdir, remove -j for make [46]
27 o HTTP3: fix invalid use of sendto for connected UDP socket [109]
28 o HTTP3: fix ngtcp2 Windows build [93]
29 o HTTP3: fix prefix parameter for ngtcp2 build [40]
30 o HTTP3: fix typo somehere1 > somewhere1 [108]
31 o HTTP3: show an --alt-svc using example too
32 o INSTALL: add missing space for configure commands [106]
33 o INSTALL: add vcpkg installation instructions [35]
34 o README: minor grammar fix [39]
35 o altsvc: accept quoted ma and persist values [60]
36 o altsvc: both backends run h3-23 now [31]
37 o appveyor: Add MSVC ARM64 build [87]
38 o appveyor: Use two parallel compilation on appveyor with CMake [98]
39 o appveyor: add --disable-proxy autotools build [94]
40 o appveyor: add 32-bit MinGW-w64 build [58]
41 o appveyor: add a winbuild [14]
42 o appveyor: add a winbuild that uses VS2017 [84]
43 o appveyor: make winbuilds with DEBUG=no/yes and VS 2015/2017 [95]
44 o appveyor: publish artifacts on appveyor [105]
45 o appveyor: upgrade VS2017 to VS2019 [29]
46 o asyn-thread: make use of Curl_socketpair() where available [85]
47 o asyn-thread: s/AF_LOCAL/AF_UNIX for Solaris [3]
48 o build: Remove unused HAVE_LIBSSL and HAVE_LIBCRYPTO defines [77]
49 o checksrc: fix uninitialized variable warning [57]
50 o chunked-encoding: stop hiding the CURLE_BAD_CONTENT_ENCODING error [56]
51 o cirrus: Increase the git clone depth
52 o cirrus: Switch the FreeBSD 11.x build to 11.3 and add a 13.0 build
53 o cirrus: switch off blackhole status on the freebsd CI machines [72]
54 o cleanups: 21 various PVS-Studio warnings [24]
55 o configure: only say ipv6 enabled when the variable is set [110]
56 o configure: remove all cyassl references [90]
57 o conn-reuse: requests wanting NTLM can reuse non-NTLM connections [99]
58 o connect: return CURLE_OPERATION_TIMEDOUT for errno == ETIMEDOUT [72]
59 o connect: silence sign-compare warning [83]
60 o cookie: avoid harmless use after free [69]
61 o cookie: pass in the correct cookie amount to qsort() [27]
62 o cookies: change argument type for Curl_flush_cookies [67]
63 o cookies: using a share with cookies shouldn't enable the cookie engine [63]
64 o copyrights: update copyright notices to 2019 [101]
65 o curl: create easy handles on-demand and not ahead of time [54]
66 o curl: ensure HTTP 429 triggers --retry [64]
67 o curl: exit the create_transfers loop on errors [33]
68 o curl: fix memory leaked by parse_metalink() [17]
69 o curl: load large files with -d @ much faster [19]
70 o docs/HTTP3: fix `--with-ssl` ngtcp2 configure flag [21]
71 o docs: added multi-event.c example [75]
72 o docs: disambiguate CURLUPART_HOST is for host name (ie no port) [62]
73 o docs: note on failed handles not being counted by curl_multi_perform [70]
74 o doh: allow only http and https in debug mode [48]
75 o doh: avoid truncating DNS QTYPE to lower octet [23]
76 o doh: clean up dangling DOH memory on easy close [9]
77 o doh: fix (harmless) buffer overrun [13]
78 o doh: fix undefined behaviour and open up for gcc and clang optimization [12]
79 o doh: return early if there is no time left [48]
80 o examples/sslbackend: fix -Wchar-subscripts warning [89]
81 o examples: remove the "this exact code has not been verified"
82 o git: add tests/server/disabled to .gitignore [59]
83 o gnutls: make gnutls_bye() not wait for response on shutdown [104]
84 o http2: expire a timeout at end of stream [88]
85 o http2: prevent dup'ed handles to send dummy PRIORITY frames [68]
86 o http2: relax verification of :authority in push promise requests [8]
87 o http2_recv: a closed stream trumps pause state [88]
88 o http: lowercase headernames for HTTP/2 and HTTP/3 [49]
89 o ldap: Stop using wide char version of ldapp_err2string [1]
90 o ldap: fix OOM error on missing query string [76]
91 o mbedtls: add error message for cert validity starting in the future [102]
92 o mime: when disabled, avoid C99 macro [7]
93 o ngtcp2: adapt to API change [66]
94 o ngtcp2: compile with latest ngtcp2 + nghttp3 draft-23 [25]
95 o ngtcp2: remove fprintf() calls [43]
96 o openssl: close_notify on the FTP data connection doesn't mean closure [20]
97 o openssl: fix compiler warning with LibreSSL [34]
98 o openssl: use strerror on SSL_ERROR_SYSCALL [41]
99 o os400: getpeername() and getsockname() return ebcdic AF_UNIX sockaddr [47]
100 o parsedate: fix date parsing disabled builds [18]
101 o quiche: don't close connection at end of stream
102 o quiche: persist connection details (fixes -I with --http3) [11]
103 o quiche: set 'drain' when returning without having drained the queues
104 o quiche: update HTTP/3 config creation to new API [61]
105 o redirect: handle redirects to absolute URLs containing spaces [52]
106 o runtests: get textaware info from curl instead of perl [86]
107 o schannel: reverse the order of certinfo insertions [96]
108 o schannel_verify: Fix concurrent openings of CA file [103]
109 o security: silence conversion warning [83]
110 o setopt: handle ALTSVC set to NULL
111 o setopt: make it easier to add new enum values [4]
112 o setopt: store CURLOPT_RTSP_SERVER_CSEQ correctly [24]
113 o smb: check for full size message before reading message details [10]
114 o smbserver: fix Python 3 compatibility [82]
115 o socks: Fix destination host shown on SOCKS5 error [32]
116 o test1162: disable MSYS2's POSIX path conversion
117 o test1591: fix spelling of http feature [97]
118 o tests: add `connect to non-listen` keywords [91]
119 o tests: fix narrowing conversion warnings [37]
120 o tests: fix the test 3001 cert failures [100]
121 o tests: makes tests succeed when using --disable-proxy [81]
122 o tests: use %FILE_PWD for file:// URLs [92]
123 o tests: use port 2 instead of 60000 for a safer non-listening port [72]
124 o tool_operate: Fix retry sleep time shown to user when Retry-After [79]
125 o travis: Add an ARM64 build
126 o url: Curl_free_request_state() should also free doh handles [107]
127 o url: don't set appconnect time for non-ssl/non-ssh connections [42]
128 o url: fix the NULL hostname compiler warning [44]
129 o url: normalize CURLINFO_EFFECTIVE_URL [80]
130 o url: only reuse TLS connections with matching pinning [5]
131 o urlapi: avoid index underflow for short ipv6 hostnames [26]
132 o urlapi: fix URL encoding when setting a full URL [53]
133 o urlapi: fix unused variable warning [57]
134 o urlapi: question mark within fragment is still fragment [45]
135 o urldata: use 'bool' for the bit type on MSVC compilers [30]
136 o vtls: Fix comment typo about macosx-version-min compiler flag [38]
137 o vtls: fix narrowing conversion warnings [50]
138 o winbuild/MakefileBuild.vc: Add vssh [2]
139 o winbuild/MakefileBuild.vc: Fix line endings
140 o winbuild: Add manifest to curl.exe for proper OS version detection [51]
141 o winbuild: add ENABLE_UNICODE option [65]
142
143This release includes the following known bugs:
144
145 o see docs/KNOWN_BUGS (https://curl.haxx.se/docs/knownbugs.html)
146
147This release would not have looked like this without help, code, reports and
148advice from friends like these:
149
150  Alessandro Ghedini, Alex Konev, Alex Samorukov, Andrei Valeriu BICA,
151  Barry Pollard, Bastien Bouclet, Bernhard Walle, Bylon2 on github,
152  Christophe Dervieux, Christoph M. Becker, Dagobert Michelsen, Dan Fandrich,
153  Daniel Silverstone, Daniel Stenberg, Denis Chaplygin, Emil Engler,
154  Francois Rivard, George Liu, Gilles Vollant, Griffin Downs, Harry Sintonen,
155  Ilya Kosarev, infinnovation-dev on github, Jacob Barthelmeh, Javier Blazquez,
156  Jens Finkhaeuser, Jeremy Lainé, Jeroen Ooms, Jimmy Gaussen, Joel Depooter,
157  Jojojov on github, jzinn on github, Kamil Dudka, Kunal Ekawde, Lucas Pardue,
158  Lucas Severo, Marcel Hernandez, Marcel Raad, Martin Gartner, Max Dymond,
159  Michael Kaufmann, Michał Janiszewski, momala454 on github,
160  Nathaniel J. Smith, Niall O'Reilly, nico-abram on github,
161  Nikos Mavrogiannopoulos, Patrick Monnerat, Paul B. Omta, Paul Dreik,
162  Peter Sumatra, Philippe Marguinaud, Piotr Komborski, Ray Satiro,
163  Richard Alcock, Roland Hieber, Samuel Surtees, Sebastian Haglund,
164  Spezifant on github, Stian Soiland-Reyes, SumatraPeter on github,
165  Tatsuhiro Tsujikawa, Tom van der Woerdt, Trivikram Kamat,
166  Valerii Zapodovnikov, Vilhelm Prytz, Yechiel Kalmenson, Zenju on github,
167  (68 contributors)
168
169        Thanks! (and sorry if I forgot to mention someone)
170
171References to bug reports and discussions on issues:
172
173 [1] = https://curl.haxx.se/bug/?i=4272
174 [2] = https://curl.haxx.se/bug/?i=4322
175 [3] = https://curl.haxx.se/bug/?i=4328
176 [4] = https://curl.haxx.se/bug/?i=4321
177 [5] = https://curl.haxx.se/mail/lib-2019-09/0061.html
178 [6] = https://curl.haxx.se/bug/?i=4348
179 [7] = https://curl.haxx.se/bug/?i=4368
180 [8] = https://curl.haxx.se/bug/?i=4365
181 [9] = https://curl.haxx.se/bug/?i=4366
182 [10] = https://curl.haxx.se/bug/?i=4363
183 [11] = https://curl.haxx.se/bug/?i=4358
184 [12] = https://curl.haxx.se/bug/?i=4350
185 [13] = https://curl.haxx.se/bug/?i=4352
186 [14] = https://curl.haxx.se/bug/?i=4324
187 [15] = https://curl.haxx.se/bug/?i=4339
188 [16] = https://curl.haxx.se/bug/?i=4332
189 [17] = https://curl.haxx.se/bug/?i=4326
190 [18] = https://curl.haxx.se/bug/?i=4325
191 [19] = https://curl.haxx.se/bug/?i=4336
192 [20] = https://curl.haxx.se/bug/?i=4329
193 [21] = https://curl.haxx.se/bug/?i=4338
194 [22] = https://curl.haxx.se/bug/?i=4349
195 [23] = https://curl.haxx.se/bug/?i=4381
196 [24] = https://curl.haxx.se/bug/?i=4374
197 [25] = https://curl.haxx.se/bug/?i=4392
198 [26] = https://curl.haxx.se/bug/?i=4389
199 [27] = https://curl.haxx.se/bug/?i=4386
200 [28] = https://curl.haxx.se/bug/?i=4382
201 [29] = https://curl.haxx.se/bug/?i=4383
202 [30] = https://curl.haxx.se/bug/?i=4387
203 [31] = https://curl.haxx.se/bug/?i=4395
204 [32] = https://curl.haxx.se/bug/?i=4394
205 [33] = https://curl.haxx.se/bug/?i=4393
206 [34] = https://curl.haxx.se/bug/?i=4397
207 [35] = https://curl.haxx.se/bug/?i=4435
208 [36] = https://curl.haxx.se/bug/?i=4428
209 [37] = https://curl.haxx.se/bug/?i=4415
210 [38] = https://curl.haxx.se/bug/?i=4425
211 [39] = https://curl.haxx.se/bug/?i=4431
212 [40] = https://curl.haxx.se/bug/?i=4430
213 [41] = https://curl.haxx.se/bug/?i=4411
214 [42] = https://curl.haxx.se/bug/?i=3760
215 [43] = https://curl.haxx.se/bug/?i=4421
216 [44] = https://curl.haxx.se/bug/?i=4403
217 [45] = https://curl.haxx.se/bug/?i=4412
218 [46] = https://curl.haxx.se/bug/?i=4407
219 [47] = https://curl.haxx.se/bug/?i=4214
220 [48] = https://curl.haxx.se/bug/?i=4406
221 [49] = https://curl.haxx.se/bug/?i=4400
222 [50] = https://curl.haxx.se/bug/?i=4398
223 [51] = https://curl.haxx.se/bug/?i=4399
224 [52] = https://curl.haxx.se/bug/?i=4445
225 [53] = https://curl.haxx.se/bug/?i=4447
226 [54] = https://curl.haxx.se/bug/?i=4393
227 [55] = https://curl.haxx.se/bug/?i=4410
228 [56] = https://curl.haxx.se/bug/?i=4310
229 [57] = https://curl.haxx.se/bug/?i=4444
230 [58] = https://curl.haxx.se/bug/?i=4433
231 [59] = https://curl.haxx.se/bug/?i=4441
232 [60] = https://curl.haxx.se/bug/?i=4443
233 [61] = https://curl.haxx.se/bug/?i=4437
234 [62] = https://curl.haxx.se/bug/?i=4424
235 [63] = https://curl.haxx.se/bug/?i=4429
236 [64] = https://curl.haxx.se/bug/?i=4465
237 [65] = https://curl.haxx.se/bug/?i=4308
238 [66] = https://curl.haxx.se/bug/?i=4457
239 [67] = https://curl.haxx.se/bug/?i=4455
240 [68] = https://curl.haxx.se/bug/?i=4303
241 [69] = https://curl.haxx.se/bug/?i=4454
242 [70] = https://curl.haxx.se/bug/?i=4446
243 [71] = https://curl.haxx.se/bug/?i=4011
244 [72] = https://curl.haxx.se/bug/?i=4461
245 [73] = https://curl.haxx.se/bug/?i=4422
246 [74] = https://curl.haxx.se/bug/?i=4469
247 [75] = https://curl.haxx.se/bug/?i=4471
248 [76] = https://curl.haxx.se/bug/?i=4467
249 [77] = https://curl.haxx.se/bug/?i=4460
250 [78] = https://curl.haxx.se/bug/?i=4486
251 [79] = https://curl.haxx.se/bug/?i=4498
252 [80] = https://curl.haxx.se/bug/?i=4491
253 [81] = https://curl.haxx.se/bug/?i=4488
254 [82] = https://curl.haxx.se/bug/?i=4484
255 [83] = https://curl.haxx.se/bug/?i=4483
256 [84] = https://curl.haxx.se/bug/?i=4482
257 [85] = https://curl.haxx.se/bug/?i=4466
258 [86] = https://curl.haxx.se/bug/?i=4506
259 [87] = https://curl.haxx.se/bug/?i=4507
260 [88] = https://curl.haxx.se/bug/?i=4496
261 [89] = https://curl.haxx.se/bug/?i=4503
262 [90] = https://curl.haxx.se/bug/?i=4502
263 [91] = https://curl.haxx.se/bug/?i=4511
264 [92] = https://curl.haxx.se/bug/?i=4512
265 [93] = https://curl.haxx.se/bug/?i=4531
266 [94] = https://curl.haxx.se/bug/?i=4526
267 [95] = https://curl.haxx.se/bug/?i=4523
268 [96] = https://curl.haxx.se/bug/?i=4518
269 [97] = https://curl.haxx.se/bug/?i=4520
270 [98] = https://curl.haxx.se/bug/?i=4508
271 [99] = https://curl.haxx.se/bug/?i=4499
272 [100] = https://curl.haxx.se/bug/?i=4551
273 [101] = https://curl.haxx.se/bug/?i=4547
274 [102] = https://curl.haxx.se/bug/?i=4552
275 [103] = https://curl.haxx.se/mail/lib-2019-10/0104.html
276 [104] = https://curl.haxx.se/bug/?i=4487
277 [105] = https://curl.haxx.se/bug/?i=4509
278 [106] = https://curl.haxx.se/bug/?i=4539
279 [107] = https://curl.haxx.se/bug/?i=4463
280 [108] = https://curl.haxx.se/bug/?i=4535
281 [109] = https://curl.haxx.se/bug/?i=4529
282 [110] = https://curl.haxx.se/bug/?i=4555
283