1 Curl and libcurl 7.58.0 2 3 Public curl releases: 172 4 Command line options: 211 5 curl_easy_setopt() options: 249 6 Public functions in libcurl: 74 7 Contributors: 1685 8 9 This release includes the following changes: 10 11 o new libssh-powered SSH SCP/SFTP back-end 12 o curl-config: add --ssl-backends [10] 13 14 This release includes the following bugfixes: 15 16 o http2: fix incorrect trailer buffer size [40] 17 o http: prevent custom Authorization headers in redirects [55] 18 o travis: add boringssl build [1] 19 o examples/xmlstream.c: don't switch off CURL_GLOBAL_SSL [2] 20 o SSL: Avoid magic allocation of SSL backend specific data [3] 21 o lib: don't export all symbols, just everything curl_* [4] 22 o libssh2: send the correct CURLE error code on scp file not found 23 o libssh2: return CURLE_UPLOAD_FAILED on failure to upload 24 o openssl: enable pkcs12 in boringssl builds [5] 25 o libssh2: remove dead code from SSH_SFTP_QUOTE [6] 26 o sasl_getmesssage: make sure we have a long enough string to pass [7] 27 o conncache: fix several lock issues [8] 28 o threaded-shared-conn.c: new example 29 o conncache: only allow multiplexing within same multi handle [9] 30 o configure: check for netinet/in6.h [11] 31 o URL: tolerate backslash after drive letter for FILE: [12] 32 o openldap: add commented out debug possibilities [13] 33 o include: get netinet/in.h before linux/tcp.h [14] 34 o CONNECT: keep close connection flag in http_connect_state struct [15] 35 o BINDINGS: another PostgreSQL client 36 o curl: limit -# update frequency for unknown total size [16] 37 o configure: add AX_CODE_COVERAGE only if using gcc [17] 38 o curl.h: remove incorrect comment about ERRORBUFFER 39 o openssl: improve data-pending check for https proxy [18] 40 o curl: remove __EMX__ #ifdefs [19] 41 o CURLOPT_PRIVATE.3: fix grammar [20] 42 o sftp: allow quoted commands to use relative paths [21] 43 o CURLOPT_DNS_CACHE_TIMEOUT.3: see also CURLOPT_RESOLVE 44 o RESOLVE: output verbose text when trying to set a duplicate name 45 o openssl: Disable file buffering for Win32 SSLKEYLOGFILE [22] 46 o multi_done: prune DNS cache [23] 47 o tests: update .gitignore for libtests 48 o tests: mark data files as non-executable in git 49 o CURLOPT_DNS_LOCAL_IP4.3: fixed the "SEE ALSO" to not self-reference 50 o curl.1: documented two missing valid exit codes 51 o curl.1: mention http:// and https:// as valid proxy prefixes 52 o vtls: replaced getenv() with curl_getenv() [24] 53 o setopt: less *or equal* than INT_MAX/1000 should be fine [25] 54 o examples/smtp-mail.c: use separate defines for options and mail 55 o curl: support >256 bytes warning messsages [26] 56 o conncache: fix a return code 57 o krb5: fix a potential access of uninitialized memory 58 o rand: add a clang-analyzer work-around 59 o CURLOPT_READFUNCTION.3: refer to argument with correct name [27] 60 o brotli: allow compiling with version 0.6.0 61 o content_encoding: rework zlib_inflate [28] 62 o curl_easy_reset: release mime-related data [29] 63 o examples/rtsp: fix error handling macros [30] 64 o build-openssl.bat: Added support for VC15 65 o build-wolfssl.bat: Added support for VC15 66 o build: Added Visual Studio 2017 project files 67 o winbuild: Added support for VC15 68 o curl: Support size modifiers for --max-filesize [32] 69 o examples/cacertinmem: ignore cert-already-exists error [33] 70 o brotli: data at the end of content can be lost [34] 71 o curl_version_info.3: call the argument 'age' [35] 72 o openssl: fix memory leak of SSLKEYLOGFILE filename 73 o build: remove HAVE_LIMITS_H check [36] 74 o --mail-rcpt: fix short-text description 75 o scripts: allow all perl scripts to be run directly [37] 76 o progress: calculate transfer speed on milliseconds if possible [38] 77 o system.h: check __LONG_MAX__ for defining curl_off_t [31] 78 o easy: fix connection ownership in curl_easy_pause [39] 79 o setopt: reintroduce non-static Curl_vsetopt() for OS400 support [41] 80 o setopt: fix SSLVERSION to allow CURL_SSLVERSION_MAX_ values [42] 81 o configure.ac: append extra linker flags instead of prepending them [43] 82 o HTTP: bail out on negative Content-Length: values [44] 83 o docs: comment about CURLE_READ_ERROR returned by curl_mime_filedata 84 o mime: clone mime tree upon easy handle duplication [45] 85 o openssl: enable SSLKEYLOGFILE support by default [46] 86 o smtp/pop3/imap_get_message: decrease the data length too... [47] 87 o CURLOPT_TCP_NODELAY.3: fix typo [48] 88 o SMB: fix numeric constant suffix and variable types [49] 89 o ftp-wildcard: fix matching an empty string with "*[^a]" [50] 90 o curl_fnmatch: only allow 5 '*' sections in a single pattern 91 o openssl: fix potential memory leak in SSLKEYLOGFILE logic 92 o SSH: Fix state machine for ssh-agent authentication [51] 93 o examples/url2file.c: add missing curl_global_cleanup() call [52] 94 o http2: don't close connection when single transfer is stopped [53] 95 o libcurl-env.3: first version 96 o curl: progress bar refresh, get width using ioctl() [54] 97 o CONNECT_TO: fail attempt to set an IPv6 numerical without IPv6 support [56] 98 99 This release includes the following known bugs: 100 101 o see docs/KNOWN_BUGS (https://curl.haxx.se/docs/knownbugs.html) 102 103 This release would not have looked like this without help, code, reports and 104 advice from friends like these: 105 106 ahodesuka on github, Andreas Schneider, Basuke Suzuki, Brad Spencer, 107 Chester Liu, cmfrolick on github, Craig de Stigter, Daniel Stenberg, 108 Dan Johnson, David Benjamin, Dima Tisnek, Dimitrios Apostolou, 109 Dmitry Kostjuchenko, Dominik Hlzl, Elliot Saba, Frank Gevaerts, Gisle Vanem, 110 guitared on github, Jan Ehrhardt, Johannes Schindelin, John DeHelian, 111 John Hascall, jonrumsey on github, jungle-boogie on github, Kartik Mahajan, 112 Martin Galvan, Matthew Kerwin, Mattias Fornander, Max Dymond, Michael Felt, 113 Michael Gmelin, Michael Kaufmann, Mikalai Ananenka, Nikos Mavrogiannopoulos, 114 Oleg Pudeyev, Patrick Dawson, Patrick Monnerat, Per Malmberg, Pete Lomax, 115 Rainer Canavan, Randall S. Becker, Ray Satiro, Richard Alcock, Robert Kolcun, 116 Sean MacLennan, Stanislav Zidek, Stepan Broz, Steve Holme, 117 Thomas van Hesteren, Tomas Mraz, W. Mark Kubacki, XhstormR on github, 118 Zachary Seguin, Zhouyihai Ding, 119 (54 contributors) 120 121 Thanks! (and sorry if I forgot to mention someone) 122 123 References to bug reports and discussions on issues: 124 125 [1] = https://curl.haxx.se/bug/?i=2118 126 [2] = https://curl.haxx.se/mail/lib-2017-12/0000.html 127 [3] = https://curl.haxx.se/bug/?i=2119 128 [4] = https://curl.haxx.se/bug/?i=2127 129 [5] = https://curl.haxx.se/bug/?i=2134 130 [6] = https://curl.haxx.se/bug/?i=2143 131 [7] = https://curl.haxx.se/bug/?i=2150 132 [8] = https://curl.haxx.se/bug/?i=2132 133 [9] = https://curl.haxx.se/bug/?i=2152 134 [10] = https://curl.haxx.se/bug/?i=2128 135 [11] = https://curl.haxx.se/bug/?i=2146 136 [12] = https://curl.haxx.se/bug/?i=2154 137 [13] = https://curl.haxx.se/bug/?i=2159 138 [14] = https://curl.haxx.se/bug/?i=2160 139 [15] = https://curl.haxx.se/bug/?i=2088 140 [16] = https://curl.haxx.se/bug/?i=2158 141 [17] = https://curl.haxx.se/bug/?i=2076 142 [18] = https://curl.haxx.se/bug/?i=1916 143 [19] = https://curl.haxx.se/bug/?i=2166 144 [20] = https://curl.haxx.se/bug/?i=2168 145 [21] = https://curl.haxx.se/bug/?i=1900 146 [22] = https://github.com/curl/curl/pull/1346#issuecomment-350530901 147 [23] = https://curl.haxx.se/bug/?i=2169 148 [24] = https://curl.haxx.se/bug/?i=2171 149 [25] = https://curl.haxx.se/bug/?i=2173 150 [26] = https://curl.haxx.se/bug/?i=2174 151 [27] = https://curl.haxx.se/bug/?i=2175 152 [28] = https://curl.haxx.se/bug/?i=2068 153 [29] = https://curl.haxx.se/mail/lib-2017-12/0060.html 154 [30] = https://curl.haxx.se/bug/?i=2185 155 [31] = https://curl.haxx.se/bug/?i=2216 156 [32] = https://curl.haxx.se/bug/?i=2179 157 [33] = https://curl.haxx.se/mail/lib-2017-12/0057.html 158 [34] = https://curl.haxx.se/bug/?i=2194 159 [35] = https://curl.haxx.se/mail/lib-2017-12/0074.html 160 [36] = https://curl.haxx.se/bug/?i=2215 161 [37] = https://curl.haxx.se/bug/?i=2222 162 [38] = https://curl.haxx.se/bug/?i=2200 163 [39] = https://curl.haxx.se/bug/?i=2217 164 [40] = https://curl.haxx.se/docs/adv_2018-824a.html 165 [41] = https://curl.haxx.se/bug/?i=2230 166 [42] = https://curl.haxx.se/bug/?i=2225 167 [43] = https://curl.haxx.se/bug/?i=2234 168 [44] = https://curl.haxx.se/bug/?i=2212 169 [45] = https://curl.haxx.se/bug/?i=2235 170 [46] = https://curl.haxx.se/bug/?i=2210 171 [47] = https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5206 172 [48] = https://curl.haxx.se/bug/?i=2239 173 [49] = https://curl.haxx.se/bug/?i=2211 174 [50] = https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5251 175 [51] = https://curl.haxx.se/bug/?i=2248 176 [52] = https://curl.haxx.se/bug/?i=2245 177 [53] = https://curl.haxx.se/bug/?i=2237 178 [54] = https://curl.haxx.se/bug/?i=2242 179 [55] = https://curl.haxx.se/docs/adv_2018-b3bf.html 180 [56] = https://curl.haxx.se/mail/lib-2018-01/0087.html 181