Curl and libcurl 7.49.0 Public curl releases: 154 Command line options: 183 curl_easy_setopt() options: 224 Public functions in libcurl: 61 Contributors: 1364 This release includes the following changes: o schannel: Add ALPN support [2] o SSH: support CURLINFO_FILETIME o SSH: new CURLOPT_QUOTE command "statvfs" [5] o wolfssl: Add ALPN support [18] o http2: added --http2-prior-knowledge [16] o http2: added CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE [17] o libcurl: added CURLOPT_CONNECT_TO [26] o curl: added --connect-to [27] o libcurl: added CURLOPT_TCP_FASTOPEN [28] o curl: added --tcp-fastopen [29] This release includes the following bugfixes: o checksrc.bat: Updated the help to be consistent with generate.bat o checksrc.bat: Added support for scanning the tests and examples o openssl: fix ERR_remove_thread_state() for boringssl/libressl [1] o openssl: boringssl provides the same numbering as openssl o multi: fix "Operation timed out after" timer [3] o url: don't use bad offset in tld_check_name to show error [4] o sshserver.pl: use quotes for given options o Makefile.am: skip the scripts dir [6] o curl: warn for --capath use if not supported by libcurl [7] o http2: fix connection reuse [8] o GSS: make Curl_gss_log_error more verbose [9] o build-wolfssl: Allow a broader range of ciphers (Visual Studio) o wolfssl: Use ECC supported curves extension [10] o openssl: Fix compilation warnings o Curl_add_buffer_send: avoid possible NULL dereference o SOCKS5_gssapi_negotiate: don't assume little-endian ints o strerror: don't bit shift a signed integer [11] o url: Corrected get protocol family for FTP and LDAP o curl/mprintf.h: remove support for _MPRINTF_REPLACE o upload: missing rewind call could make libcurl hang [12] o IMAP: check pointer before dereferencing it [13] o build: Changed the Visual Studio projects warning level from 3 to 4 o checksrc: now stricter, wider checks, code cleaned up o checksrc: added docs/CHECKSRC.md o curl_sasl: Fixed potential null pointer utilisation [14] o krb5: Fixed missing client response when mutual authentication enabled o krb5: Only process challenge when present o krb5: Only generate a SPN when its not known o formdata: use appropriate fopen() macros o curl.1: -w filename_effective was introduced in 7.26.0 o http2: make use of the nghttp2 error callback [15] o http2: fix connection reuse when PING comes after last DATA [19] o curl.1: change example for -F [20] o HTTP2: Add a space character after the status code [21] o curl.1: use example.com more o mbedtls.c: changed private prefix to mbed_ o mbedtls: implement and provide *_data_pending() to avoid hang [22] o mbedtls: fix MBEDTLS_DEBUG builds o ftp/imap/pop3/smtp: Allow the service name to be overridden o CURLOPT_SOCKS5_GSSAPI_SERVICE: Merged with CURLOPT_PROXY_SERVICE_NAME o build: include scripts/ in the dist o http2: Add handling stream level error [23] o http2: Improve header parsing [24] o makefile.vc6: use d suffix on debug object [25] o configure: remove check for libresolve [30] o scripts/make: use $(EXEEXT) for executables [31] 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: Alessandro Ghedini, Alexis La Goutte, Anatol Belski, Damien Vielpeau, Dan Cristian, Daniel Stenberg, David Benjamin, Diego Bes, Dusty Mabe, Evgeny Grin, Irfan Adilovic, Isaac Boukris, Joel Depooter, Joonas Kuorilehto, Juan RP, Marcel Raad, Marquis de Muesli, Michael Kaufmann, Michael Osipov, Patrick Monnerat, Ray Satiro, Rod Widdowson, Steve Holme, Tatsuhiro Tsujikawa, Theodore Dubois, Viktor Szakáts, (26 contributors) Thanks! (and sorry if I forgot to mention someone) References to bug reports and discussions on issues: [1] = https://twitter.com/xtraemeat/status/712564874098917376 [2] = https://curl.haxx.se/bug/?i=724 [3] = https://curl.haxx.se/bug/?i=619 [4] = https://curl.haxx.se/bug/?i=731 [5] = https://curl.haxx.se/bug/?i=677 [6] = https://curl.haxx.se/bug/?i=620 [7] = https://curl.haxx.se/bug/?i=492 [8] = https://curl.haxx.se/bug/?i=736 [9] = https://curl.haxx.se/bug/?i=738 [10] = https://github.com/wolfSSL/wolfssl/issues/366 [11] = https://curl.haxx.se/bug/?i=744 [12] = https://curl.haxx.se/bug/?i=741 [13] = https://curl.haxx.se/bug/?i=747 [14] = https://curl.haxx.se/bug/?i=745 [15] = https://curl.haxx.se/bug/?i=722 [16] = https://curl.haxx.se/docs/manpage.html#--http2-prior-knowledge [17] = https://curl.haxx.se/libcurl/c/CURLOPT_HTTP_VERSION.html [18] = https://curl.haxx.se/docs/http2.html [19] = https://curl.haxx.se/bug/?i=750 [20] = https://curl.haxx.se/bug/?i=752 [21] = https://curl.haxx.se/bug/?i=755 [22] = https://curl.haxx.se/bug/?i=737 [23] = https://curl.haxx.se/bug/?i=663 [24] = https://curl.haxx.se/bug/?i=663 [25] = https://curl.haxx.se/bug/?i=769 [26] = https://curl.haxx.se/libcurl/c/CURLOPT_CONNECT_TO.html [27] = https://curl.haxx.se/docs/manpage.html#--connect-to [28] = https://curl.haxx.se/libcurl/c/CURLOPT_TCP_FASTOPEN.html [29] = https://curl.haxx.se/docs/manpage.html#--tcp-fastopen [30] = https://curl.haxx.se/bug/?i=770 [31] = https://curl.haxx.se/bug/?i=771