Haibo Huang | 3194407 | 2019-11-06 02:28:57 -0800 | [diff] [blame] | 1 | curl and libcurl 7.67.0 |
Lucas Eckels | 9bd90e6 | 2012-08-06 15:07:02 -0700 | [diff] [blame] | 2 | |
Haibo Huang | 3194407 | 2019-11-06 02:28:57 -0800 | [diff] [blame] | 3 | Public curl releases: 186 |
| 4 | Command line options: 226 |
Haibo Huang | 445085a | 2019-09-11 13:33:50 -0700 | [diff] [blame] | 5 | curl_easy_setopt() options: 269 |
| 6 | Public functions in libcurl: 81 |
Haibo Huang | 3194407 | 2019-11-06 02:28:57 -0800 | [diff] [blame] | 7 | Contributors: 2056 |
Lucas Eckels | 9bd90e6 | 2012-08-06 15:07:02 -0700 | [diff] [blame] | 8 | |
Haibo Huang | 445085a | 2019-09-11 13:33:50 -0700 | [diff] [blame] | 9 | This release includes the following changes: |
| 10 | |
Haibo Huang | 3194407 | 2019-11-06 02:28:57 -0800 | [diff] [blame] | 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] |
Haibo Huang | 445085a | 2019-09-11 13:33:50 -0700 | [diff] [blame] | 14 | |
Lucas Eckels | 9bd90e6 | 2012-08-06 15:07:02 -0700 | [diff] [blame] | 15 | This release includes the following bugfixes: |
| 16 | |
Haibo Huang | 3194407 | 2019-11-06 02:28:57 -0800 | [diff] [blame] | 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] |
Lucas Eckels | 9bd90e6 | 2012-08-06 15:07:02 -0700 | [diff] [blame] | 142 | |
| 143 | This release includes the following known bugs: |
| 144 | |
Alex Deymo | d15eaac | 2016-06-28 14:49:26 -0700 | [diff] [blame] | 145 | o see docs/KNOWN_BUGS (https://curl.haxx.se/docs/knownbugs.html) |
Lucas Eckels | 9bd90e6 | 2012-08-06 15:07:02 -0700 | [diff] [blame] | 146 | |
| 147 | This release would not have looked like this without help, code, reports and |
| 148 | advice from friends like these: |
| 149 | |
Haibo Huang | 3194407 | 2019-11-06 02:28:57 -0800 | [diff] [blame] | 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) |
Lucas Eckels | 9bd90e6 | 2012-08-06 15:07:02 -0700 | [diff] [blame] | 168 | |
| 169 | Thanks! (and sorry if I forgot to mention someone) |
Bertrand SIMONNET | e6cd738 | 2015-07-01 15:39:44 -0700 | [diff] [blame] | 170 | |
| 171 | References to bug reports and discussions on issues: |
| 172 | |
Haibo Huang | 3194407 | 2019-11-06 02:28:57 -0800 | [diff] [blame] | 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 |