curl and libcurl 7.65.2 Public curl releases: 183 Command line options: 221 curl_easy_setopt() options: 268 Public functions in libcurl: 80 Contributors: 1965 This release includes the following bugfixes: o CIPHERS.md: Explain Schannel error SEC_E_ALGORITHM_MISMATCH [64] o CMake: Convert errant elseif() to else() [58] o CMake: Fix finding Brotli on case-sensitive file systems [61] o CURLMOPT_SOCKETFUNCTION.3: clarified [8] o CURLMOPT_SOCKETFUNCTION.3: fix typo o CURLOPT_CAINFO.3: polished wording [9] o CURLOPT_HEADEROPT.3: Fix example [46] o CURLOPT_RANGE.3: Caution against using it for HTTP PUT [62] o CURLOPT_SEEKDATA.3: fix variable name [63] o DEPRECATE: fixup versions and spelling [55] o bindlocal: detect and avoid IP version mismatches in bind() [1] o build: fix Codacy warnings [6] o buildconf.bat: fix header filename [59] o c-ares: honor port numbers in CURLOPT_DNS_SERVERS [37] o config-os400: add getpeername and getsockname defines [27] o configure: --disable-progress-meter [29] o configure: fix --disable-code-coverage [60] o configure: fix typo '--disable-http-uath' [41] o configure: more --disable switches to toggle off individual features [7] o configure: remove CURL_DISABLE_TLS_SRP [19] o conn_maxage: move the check to prune_dead_connections() [24] o curl: skip CURLOPT_PROXY_CAPATH for disabled-proxy builds [38] o curl_multi_wait.3: escape backslash in example [44] o docs: Explain behavior change in --tlsv1. options since 7.54 [66] o docs: Fix links to OpenSSL docs o docs: fix string suggesting HTTP/2 is not the default [40] o examples/fopen: fix comparison [6] o examples/htmltitle: use C++ casts between pointer types [6] o headers: Remove no longer exported functions [57] o http2: call done_sending on end of upload [36] o http2: don't call stream-close on already closed streams [32] o http2: remove CURL_DISABLE_TYPECHECK define o http: allow overriding timecond with custom header [53] o http: clarify header buffer size calculation o krb5: fix compiler warning [15] o lib: Use UTF-8 encoding in comments [47] o libcurl-tutorial.3: Fix small typo (mutipart -> multipart) [3] o libcurl: Restrict redirect schemes to HTTP, HTTPS, FTP and FTPS [51] o multi: enable multiplexing by default (again) [34] o multi: fix the transfer hashes in the socket hash entries [17] o multi: make sure 'data' can present in several sockhash entries [2] o netrc: Return the correct error code when out of memory [28] o nss: don't set unused parameter [49] o nss: inspect returnvalue of token check [65] o nss: only cache valid CRL entries [48] o nss: support using libnss on macOS [50] o openssl: define HAVE_SSL_GET_SHUTDOWN based on version number [52] o openssl: disable engine if OPENSSL_NO_UI_CONSOLE is defined [43] o openssl: fix pubkey/signature algorithm detection in certinfo [25] o openssl: remove outdated comment [20] o os400: make vsetopt() non-static as Curl_vsetopt() for os400 support [12] o quote.d: asterisk prefix works for SFTP as well [16] o runtests: keep logfiles around by default [26] o runtests: report single test time + total duration [13] o smb: Use the correct error code for access denied on file open [54] o sws: remove unused variables [6] o system_win32: fix clang warning [56] o system_win32: fix typo o test1165: verify that CURL_DISABLE_ symbols are in sync o test1521: adapt to SLISTPOINT o test1523: test CURLOPT_LOW_SPEED_LIMIT o test153: fix content-length to avoid occasional hang [39] o test188/189: fix Content-Length [22] o tests: have runtests figure out disabled features [23] o tests: support non-localhost HOSTIP for dict/smb servers [30] o tests: update fixed IP for hostip/clientip split [35] o tool_cb_prg: Fix integer overflow in progress bar [10] o travis: disable threaded resolver for coverage build o travis: enable alt-svc for coverage build o travis: enable brotli for all xenial jobs o travis: enable libssh2 for coverage build o travis: enable warnings-as-errors for coverage build o travis: update scan-build job to xenial [5] o typecheck: CURLOPT_CONNECT_TO takes an slist too [31] o typecheck: add 3 missing strings and a callback data pointer [33] o unit1654: cleanup on memory failure [14] o unpause: trigger a timeout for event-based transfers [4] o url: Fix CURLOPT_MAXAGE_CONN time comparison [18] o win32: make DLL loading a no-op for UWP [42] o winbuild: Change Makefile to honor ENABLE_OPENSSL_AUTO_LOAD_CONFIG [45] o winbuild: use WITH_PREFIX if given [21] o wolfssl: refer to it as wolfSSL only [11] 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: 1ocalhost on github, aasivov on github, AceCrow on Github, Alessandro Ghedini, Alex Grebenschikov, Ben Voris, Bjarni Ingi Gislason, Brian Carpenter, Caleb Raitto, Christopher Head, Cliff Crosland, Daniel Gustafsson, Daniel Stenberg, Gaël Portay, Gergely Nagy, Giorgos Oikonomou, Gisle Vanem, Jakub Zakrzewski, James Brown, Jan Chren, jonrumsey on github, Juergen Hoetzel, Koen Dergent, Kunal Ekawde, Kyle Edwards, Linos Giannopoulos, Marcel Raad, Michael Brehm, Michael Wallner, MrSorcus on github, Niklas Hambüchen, Patrick Monnerat, pendrek at hackerone, Peter Simonyi, Ray Satiro, Richard Alcock, Rich Mirch, Shankar Jadhavar, sstruchtrup on github, Stefano Simonelli, Stephan Szabo, Steve Holme, Thomas Gamper, Tom van der Woerdt, Vasily Lobaskin, Viktor Szakats, (46 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=3993 [2] = https://curl.haxx.se/bug/?i=3986 [3] = https://curl.haxx.se/bug/?i=4000 [4] = https://curl.haxx.se/bug/?i=3994 [5] = https://curl.haxx.se/bug/?i=3999 [6] = https://curl.haxx.se/bug/?i=3975 [7] = https://curl.haxx.se/bug/?i=4009 [8] = https://curl.haxx.se/bug/?i=4006 [9] = https://curl.haxx.se/mail/lib-2019-06/0019.html [10] = https://curl.haxx.se/bug/?i=3984 [11] = https://curl.haxx.se/bug/?i=3903 [12] = https://curl.haxx.se/bug/?i=3833 [13] = https://curl.haxx.se/bug/?i=4027 [14] = https://curl.haxx.se/bug/?i=4021 [15] = https://curl.haxx.se/bug/?i=4020 [16] = https://curl.haxx.se/bug/?i=4017 [17] = https://curl.haxx.se/bug/?i=4012 [18] = https://curl.haxx.se/bug/?i=4013 [19] = https://curl.haxx.se/bug/?i=4010 [20] = https://curl.haxx.se/bug/?i=4033 [21] = https://curl.haxx.se/bug/?i=4031 [22] = https://curl.haxx.se/bug/?i=4034 [23] = https://curl.haxx.se/bug/?i=3950 [24] = https://curl.haxx.se/bug/?i=4029 [25] = https://curl.haxx.se/bug/?i=3706 [26] = https://curl.haxx.se/bug/?i=4035 [27] = https://curl.haxx.se/bug/?i=4037 [28] = https://curl.haxx.se/bug/?i=4036 [29] = https://curl.haxx.se/bug/?i=4023 [30] = https://curl.haxx.se/bug/?i=4048 [31] = https://curl.haxx.se/bug/?i=4042 [32] = https://curl.haxx.se/bug/?i=4055 [33] = https://curl.haxx.se/bug/?i=4050 [34] = https://curl.haxx.se/bug/?i=4051 [35] = https://curl.haxx.se/bug/?i=4070 [36] = https://curl.haxx.se/bug/?i=4068 [37] = https://curl.haxx.se/bug/?i=4066 [38] = https://curl.haxx.se/bug/?i=4061 [39] = https://curl.haxx.se/bug/?i=4065 [40] = https://curl.haxx.se/bug/?i=4075 [41] = https://curl.haxx.se/bug/?i=4076 [42] = https://curl.haxx.se/bug/?i=4072 [43] = https://curl.haxx.se/bug/?i=4073 [44] = https://curl.haxx.se/bug/?i=4079 [45] = https://curl.haxx.se/bug/?i=4086 [46] = https://curl.haxx.se/bug/?i=4090 [47] = https://curl.haxx.se/bug/?i=4087 [48] = https://curl.haxx.se/bug/?i=4053 [49] = https://curl.haxx.se/bug/?i=4054 [50] = https://curl.haxx.se/bug/?i=4046 [51] = https://curl.haxx.se/bug/?i=4094 [52] = https://curl.haxx.se/bug/?i=4100 [53] = https://curl.haxx.se/bug/?i=4103 [54] = https://curl.haxx.se/bug/?i=4095 [55] = https://curl.haxx.se/bug/?i=4107 [56] = https://github.com/curl/curl/commit/48b9ea4#commitcomment-34084597 [57] = https://curl.haxx.se/bug/?i=4096 [58] = https://curl.haxx.se/bug/?i=4101 [59] = https://curl.haxx.se/bug/?i=4102 [60] = https://curl.haxx.se/bug/?i=4099 [61] = https://curl.haxx.se/bug/?i=4117 [62] = https://curl.haxx.se/bug/?i=3814 [63] = https://curl.haxx.se/bug/?i=4118 [64] = https://curl.haxx.se/bug/?i=3389 [65] = https://curl.haxx.se/bug/?i=4110 [66] = https://curl.haxx.se/bug/?i=4097