1curl and libcurl 7.64.1 2 3 Public curl releases: 180 4 Command line options: 221 5 curl_easy_setopt() options: 267 6 Public functions in libcurl: 80 7 Contributors: 1929 8 9This release includes the following changes: 10 11 o alt-svc: experiemental support added [74] 12 o configure: add --with-amissl [84] 13 14This release includes the following bugfixes: 15 16 o AppVeyor: add MinGW-w64 and classic Mingw builds [55] 17 o AppVeyor: switch VS 2015 builds to VS 2017 image [49] 18 o CURLU: fix NULL dereference when used over proxy [73] 19 o Curl_easy: remove req.maxfd - never used! [58] 20 o Curl_now: figure out windows version in win32_init: [11] 21 o Curl_resolv: fix a gcc -Werror=maybe-uninitialized warning [20] 22 o DoH: inherit some SSL options from user's easy handle [80] 23 o Secure Transport: no more "darwinssl" [56] 24 o Secure Transport: tvOS 11 is required for ALPN support [94] 25 o cirrus: Added FreeBSD builds using Cirrus CI 26 o cleanup: make local functions static [5] 27 o cli tool: do not use mime.h private structures [27] 28 o cmdline-opts/proxytunnel.d: the option tunnnels all protocols [83] 29 o configure: add additional libraries to check for LDAP support [45] 30 o configure: remove the unused fdopen macro [40] 31 o configure: show features as well in the final summary [15] 32 o conncache: use conn->data to know if a transfer owns it [95] 33 o connection: never reuse CONNECT_ONLY connections [35] 34 o connection_check: restore original conn->data after the check [14] 35 o connection_check: set ->data to the transfer doing the check [3] 36 o cookie: Add support for cookie prefixes [29] 37 o cookies: dotless names can set cookies again [81] 38 o cookies: fix NULL dereference if flushing cookies with no CookieInfo set [47] 39 o curl.1: --user and --proxy-user are hidden from ps output [86] 40 o curl.1: mark the argument to --cookie as <data|filename> [87] 41 o curl.h: use __has_declspec_attribute for shared builds [52] 42 o curl: display --version features sorted alphabetically [51] 43 o curl: fix FreeBSD compiler warning in the --xattr code [2] 44 o curl: remove MANUAL from -M output [38] 45 o curl_easy_duphandle.3: clarify that a duped handle has no shares [64] 46 o curl_multi_remove_handle.3: use at any time, just not from within callbacks 47 o curl_url.3: this API is not experimental anymore 48 o dns: release sharelock as soon as possible [1] 49 o docs: update max-redirs.d phrasing [59] 50 o easy: fix win32 init to work without CURL_GLOBAL_WIN32 [30] 51 o examples/10-at-a-time.c: improve readability and simplify 52 o examples/cacertinmem.c: use multiple certificates for loading CA-chain [54] 53 o examples/crawler: Fix the Accept-Encoding setting 54 o examples/ephiperfifo.c: various fixes [63] 55 o examples/externalsocket: add missing close socket calls [78] 56 o examples/http2-download: cleaned up 57 o examples/http2-serverpush: add some sensible error checks [31] 58 o examples/http2-upload: cleaned up 59 o examples/httpcustomheader: Value stored to 'res' is never read 60 o examples/postinmemory: Potential leak of memory pointed to by 'chunk.memory' 61 o examples/sftpuploadresume: Value stored to 'result' is never read 62 o examples: only include <curl/curl.h> [70] 63 o examples: remove recursive calls to curl_multi_socket_action [42] 64 o examples: remove superfluous null-pointer checks 65 o file: fix "Checking if unsigned variable 'readcount' is less than zero." [90] 66 o fnmatch: disable if FTP is disabled [25] 67 o gnutls: remove call to deprecated gnutls_compression_get_name [66] 68 o gopher: remove check for path == NULL [69] 69 o gssapi: fix deprecated header warnings [16] 70 o hostip: make create_hostcache_id avoid alloc + free [4] 71 o http2: multi_connchanged() moved from multi.c, only used for h2 [21] 72 o http2: verify :athority in push promise requests [37] 73 o http: make adding a blank header thread-safe [33] 74 o http: send payload when (proxy) authentication is done [89] 75 o http: set state.infilesize when sending multipart formposts [57] 76 o makefile: make checksrc and hugefile commands "silent" [85] 77 o mbedtls: make it build even if MBEDTLS_VERSION_C isn't set [24] 78 o mbedtls: release sessionid resources on error [28] 79 o memdebug: log pointer before freeing its data [91] 80 o memdebug: make debug-specific functions use curl_dbg_ prefix [82] 81 o mime: put the boundary buffer into the curl_mime struct [18] 82 o multi: call multi_done on connect timeouts, fixes CURLINFO_TOTAL_TIME [43] 83 o multi: remove verbose "Expire in" ... messages [23] 84 o multi: removed unused code for request retries [79] 85 o multi: support verbose conncache closure handle [72] 86 o negotiate: fix for HTTP POST with Negotiate [88] 87 o openssl: add support for TLS ASYNC state [46] 88 o openssl: if cert type is ENG and no key specified, key is ENG too [93] 89 o pretransfer: don't strlen() POSTFIELDS set for GET requests [22] 90 o rand: Fix a mismatch between comments in source and header [32] 91 o runtests: detect "schannel" as an alias for "winssl" [50] 92 o schannel: be quiet - remove verbose output [19] 93 o schannel: close TLS before removing conn from cache [10] 94 o schannel: support CALG_ECDH_EPHEM algorithm [44] 95 o scripts/completion.pl: also generate fish completion file [67] 96 o singlesocket: fix the 'sincebefore' placement [36] 97 o source: fix two 'nread' may be used uninitialized warnings [68] 98 o ssh: fix Condition '!status' is always true [60] 99 o ssh: loop the state machine if not done and not blocking [71] 100 o strerror: make the strerror function use local buffers [48] 101 o system_win32: move win32_init here from easy.c [65] 102 o test578: make it read data from the correct test 103 o tests: Fixed XML validation errors in some test files 104 o tests: add stderr comparison to the test suite [26] 105 o tests: fix multiple may be used uninitialized warnings 106 o threaded-resolver: shutdown the resolver thread without error message [61] 107 o tool_cb_wrt: fix writing to Windows null device NUL [96] 108 o tool_getpass: termios.h is present on AmigaOS 3, but no tcgetattr/tcsetattr [84] 109 o tool_operate: build on AmigaOS [84] 110 o tool_operate: fix typecheck warning [9] 111 o transfer.c: do not compute length of undefined hex buffer 112 o travis: add build using gnutls [75] 113 o travis: add scan-build [13] 114 o travis: bump the used wolfSSL version to 4.0.0 [92] 115 o travis: enable valgrind for the iconv tests [12] 116 o travis: use updated compiler versions: clang 7 and gcc 8 [77] 117 o unit1307: require FTP support [17] 118 o unit1651: survive curl_easy_init() fails 119 o url/idnconvert: remove scan for <= 32 ascii values [6] 120 o url: change conn shutdown order to ensure SOCKETFUNCTION callbacks [39] 121 o urlapi: reduce variable scope, remove unreachable 'break' [7] 122 o urldata: convert bools to bitfields and move to end [53] 123 o urldata: simplify bytecounters [62] 124 o urlglob: Argument with 'nonnull' attribute passed null 125 o version.c: silent scan-build even when librtmp is not enabled 126 o vtls: rename some of the SSL functions [84] 127 o wolfssl: stop custom-adding curves [41] 128 o x509asn1: "Dereference of null pointer" 129 o x509asn1: cleanup and unify code layout [34] 130 o zsh.pl: escape ':' character [8] 131 o zsh.pl: update regex to better match curl -h output [8] 132 133This release includes the following known bugs: 134 135 o see docs/KNOWN_BUGS (https://curl.haxx.se/docs/knownbugs.html) 136 137This release would not have looked like this without help, code, reports and 138advice from friends like these: 139 140 accountantM on github, Alessandro Ghedini, Andre Guibert de Bruet, 141 Arnaud Rebillout, Bernd Mueller, Björn Stenberg, buzo-ffm on github, 142 Chris Araman, Christian Schmitz, Chris Young, d912e3 on github, Dan Fandrich, 143 Daniel Gustafsson, Daniel Lublin, Daniel Stenberg, David Garske, 144 David Woodhouse, Dominik Hölzl, Don J Olmstead, Eric Curtin, Frank Gevaerts, 145 Gisle Vanem, James Brown, Jan Alexander Steffens, jnbr on github, 146 MAntoniak on github, Marcel Raad, Marc Schlatter, Matt McClure, Michael Felt, 147 Michael Schmid, Michael Wallner, Michał Antoniak, nedres on github, 148 nianxuejie on github, Nick Zitzmann, Nicolas Grekas, Patrick Monnerat, 149 Paul Groke, Pavel Löbl, Ray Satiro, Renaud Allard, Romain Geissler, 150 Sara Golemon, Simon Legner, tholin on github, Tim Rühsen, Volker Schmid, 151 wesinator on github, 152 (49 contributors) 153 154 Thanks! (and sorry if I forgot to mention someone) 155 156References to bug reports and discussions on issues: 157 158 [1] = https://curl.haxx.se/bug/?i=3516 159 [2] = https://curl.haxx.se/bug/?i=3550 160 [3] = https://curl.haxx.se/bug/?i=3541 161 [4] = https://curl.haxx.se/bug/?i=3544 162 [5] = https://curl.haxx.se/bug/?i=3538 163 [6] = https://curl.haxx.se/bug/?i=3539 164 [7] = https://curl.haxx.se/bug/?i=3540 165 [8] = https://bugs.debian.org/921452 166 [9] = https://curl.haxx.se/bug/?i=3534 167 [10] = https://curl.haxx.se/bug/?i=3412 168 [11] = https://curl.haxx.se/bug/?i=3572 169 [12] = https://curl.haxx.se/bug/?i=3571 170 [13] = https://curl.haxx.se/bug/?i=3564 171 [14] = https://curl.haxx.se/bug/?i=3542 172 [15] = https://curl.haxx.se/bug/?i=3569 173 [16] = https://curl.haxx.se/bug/?i=3566 174 [17] = https://curl.haxx.se/bug/?i=3565 175 [18] = https://curl.haxx.se/bug/?i=3561 176 [19] = https://curl.haxx.se/bug/?i=3552 177 [20] = https://curl.haxx.se/bug/?i=3562 178 [21] = https://curl.haxx.se/bug/?i=3557 179 [22] = https://curl.haxx.se/bug/?i=3548 180 [23] = https://curl.haxx.se/mail/archive-2019-02/0013.html 181 [24] = https://curl.haxx.se/bug/?i=3553 182 [25] = https://curl.haxx.se/bug/?i=3551 183 [26] = https://curl.haxx.se/bug/?i=3536 184 [27] = https://curl.haxx.se/bug/?i=3532 185 [28] = https://curl.haxx.se/bug/?i=3574 186 [29] = https://curl.haxx.se/bug/?i=3554 187 [30] = https://curl.haxx.se/bug/?i=3313 188 [31] = https://curl.haxx.se/bug/?i=3580 189 [32] = https://curl.haxx.se/bug/?i=3584 190 [33] = https://curl.haxx.se/bug/?i=3578 191 [34] = https://curl.haxx.se/bug/?i=3582 192 [35] = https://curl.haxx.se/mail/lib-2019-02/0064.html 193 [36] = https://curl.haxx.se/bug/?i=3585 194 [37] = https://curl.haxx.se/bug/?i=3577 195 [38] = https://curl.haxx.se/bug/?i=3587 196 [39] = https://curl.haxx.se/mail/lib-2019-02/0101.html 197 [40] = https://curl.haxx.se/bug/?i=3600 198 [41] = https://curl.haxx.se/bug/?i=3599 199 [42] = https://curl.haxx.se/bug/?i=3537 200 [43] = https://curl.haxx.se/bug/?i=3602 201 [44] = https://curl.haxx.se/bug/?i=3608 202 [45] = https://curl.haxx.se/bug/?i=3595 203 [46] = https://curl.haxx.se/bug/?i=3591 204 [47] = https://curl.haxx.se/bug/?i=3613 205 [48] = https://curl.haxx.se/bug/?i=3612 206 [49] = https://curl.haxx.se/bug/?i=3606 207 [50] = https://curl.haxx.se/bug/?i=3609 208 [51] = https://curl.haxx.se/bug/?i=3611 209 [52] = https://curl.haxx.se/bug/?i=3616 210 [53] = https://curl.haxx.se/bug/?i=3610 211 [54] = https://curl.haxx.se/bug/?i=3421 212 [55] = https://curl.haxx.se/bug/?i=3623 213 [56] = https://curl.haxx.se/bug/?i=3619 214 [57] = https://curl.haxx.se/mail/archive-2019-02/0023.html 215 [58] = https://curl.haxx.se/bug/?i=3626 216 [59] = https://curl.haxx.se/bug/?i=3631 217 [60] = https://curl.haxx.se/bug/?i=3628 218 [61] = https://curl.haxx.se/bug/?i=3629 219 [62] = https://curl.haxx.se/bug/?i=3627 220 [63] = https://curl.haxx.se/bug/?i=3632 221 [64] = https://curl.haxx.se/bug/?i=3592 222 [65] = https://curl.haxx.se/bug/?i=3625 223 [66] = https://curl.haxx.se/bug/?i=3636 224 [67] = https://curl.haxx.se/bug/?i=3545 225 [68] = https://curl.haxx.se/bug/?i=3546 226 [69] = https://curl.haxx.se/bug/?i=3617 227 [70] = https://curl.haxx.se/bug/?i=3645 228 [71] = https://curl.haxx.se/bug/?i=3506 229 [72] = https://curl.haxx.se/bug/?i=3618 230 [73] = https://curl.haxx.se/bug/?i=3641 231 [74] = https://curl.haxx.se/bug/?i=3498 232 [76] = https://curl.haxx.se/bug/?i=3637 233 [77] = https://curl.haxx.se/bug/?i=3670 234 [78] = https://curl.haxx.se/bug/?i=3663 235 [79] = https://curl.haxx.se/bug/?i=3666 236 [80] = https://curl.haxx.se/bug/?i=3660 237 [81] = https://curl.haxx.se/bug/?i=3649 238 [82] = https://curl.haxx.se/bug/?i=3656 239 [83] = https://curl.haxx.se/bug/?i=3658 240 [84] = https://curl.haxx.se/bug/?i=3677 241 [85] = https://curl.haxx.se/bug/?i=3681 242 [86] = https://curl.haxx.se/bug/?i=3680 243 [87] = https://curl.haxx.se/bug/?i=3682 244 [88] = https://curl.haxx.se/bug/?i=1261 245 [89] = https://curl.haxx.se/bug/?i=2431 246 [90] = https://curl.haxx.se/bug/?i=3672 247 [91] = https://curl.haxx.se/bug/?i=3671 248 [92] = https://curl.haxx.se/bug/?i=3697 249 [93] = https://curl.haxx.se/bug/?i=3692 250 [94] = https://curl.haxx.se/bug/?i=3689 251 [95] = https://curl.haxx.se/bug/?i=3686 252 [96] = https://github.com/curl/curl/issues/3175#issuecomment-439068724 253 254