| Curl and libcurl 7.49.0 |
| |
| Public curl releases: 154 |
| Command line options: 185 |
| 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] |
| o curl: remove support for --ftpport, -http-request and --socks |
| (deprecated versions since around 10 years) |
| |
| 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] |
| o checksrc: got rid of the whitelist files |
| o sendf: added ability to call recv() before send() as workaround [32] |
| o NTLM: check for NULL pointer before dereferencing [33] |
| o openssl: builds with OpenSSL 1.1.0-pre5 [34] |
| o configure: ac_cv_ -> curl_cv_ for all cached vars [35] |
| o winbuild: add mbedtls support [36] |
| o curl: make --ftp-create-dirs retry on failure [37] |
| o PolarSSL: implement public key pinning |
| o multi: accidentally used resolved host name instead of proxy [38] |
| o CURLINFO_TLS_SESSION.3: clarify TLS library support before 7.48.0 |
| o CONNECT_ONLY: don't close connection on GSS 401/407 reponses [39] |
| o opts: Fix some syntax errors in example code fragments [40] |
| o mbedtls: Fix session resume [41] |
| o test1139: verifies libcurl option man page presence |
| o CURLINFO_TLS_SSL_PTR.3: Clarify SSL pointer availability [42] |
| o curl: make --disable work as long form of -q |
| o curl: use --telnet-option as documented |
| o curl.1: document --ftp-ssl-reqd, --krb4 and --ntlm-wb |
| o curl: -h output lacked --proxy-header and --ntlm-wb |
| o curl -J: make it work even without http:// scheme on URL [43] |
| o lib: include curl_printf.h as one of the last headers [44] |
| o tests: handle path properly on Msys/Cygwin [45] |
| o curl.1: --mail-rcpt can be used multiple times [46] |
| o CURLOPT_ACCEPT_ENCODING.3: clarified [47] |
| o docs: fixed lots of broken man page references |
| o tls: make setting pinnedkey option fail if not supported [48] |
| o test1140: run nroff-scan to verify man pages |
| o http: make sure a blank header overrides accept_decoding [49] |
| o connections: do not reuse non-HTTP proxies on different ports [50] |
| o connect: fix invalid "Network is unreachable" errors [51] |
| o TLS: move the ALPN/NPN enable bits to the connection [52] |
| o TLS: SSL_peek is not a const operation [53] |
| o http2: Add space between colon and header value [54] |
| o darwinssl: fix certificate verification disable on OS X 10.8 [55] |
| o mprintf: Fix processing of width and prec args |
| o ftp wildcard: segfault due to init only in multi_perform [56] |
| |
| 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, Anders Bakken, |
| Antonio Larrosa, Bru Rom, Cory Benfield, Damien Vielpeau, Dan Cristian, |
| Daniel Stenberg, David Benjamin, Diego Bes, Dusty Mabe, Evgeny Grin, |
| Henrik Gaßmann, Irfan Adilovic, Isaac Boukris, Joel Depooter, John Wanghui, |
| Jonathan Cardoso Machado, Joonas Kuorilehto, Juan RP, Kai Noda, Kamil Dudka, |
| Leif W, Linus Nordberg, Marcel Raad, Marquis de Muesli, Michael Kaufmann, |
| Michael Osipov, Moti Avrahami, Oleg Pudeyev, Patrick Monnerat, Per Malmberg, |
| Ray Satiro, Rod Widdowson, Steve Holme, Tatsuhiro Tsujikawa, Theodore Dubois, |
| Thomas Glanzmann, Travis Burtrum, Viktor Szakáts, |
| (42 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 |
| [32] = https://curl.haxx.se/bug/?i=657 |
| [33] = https://curl.haxx.se/bug/?i=765 |
| [34] = https://curl.haxx.se/bug/?i=763 |
| [35] = https://curl.haxx.se/bug/?i=766 |
| [36] = https://curl.haxx.se/bug/?i=606 |
| [37] = https://curl.haxx.se/mail/archive-2016-04/0021.html |
| [38] = https://curl.haxx.se/mail/lib-2016-04/0084.html |
| [39] = https://curl.haxx.se/bug/?i=655 |
| [40] = https://curl.haxx.se/bug/?i=779 |
| [41] = https://curl.haxx.se/mail/lib-2016-04/0095.html |
| [42] = https://curl.haxx.se/mail/lib-2016-04/0126.html |
| [43] = https://curl.haxx.se/bug/?i=760 |
| [44] = https://curl.haxx.se/bug/?i=743 |
| [45] = https://curl.haxx.se/bug/?i=675 |
| [46] = https://curl.haxx.se/bug/?i=784 |
| [47] = https://curl.haxx.se/bug/?i=785 |
| [48] = https://curl.haxx.se/bug/?i=781 |
| [49] = https://curl.haxx.se/bug/?i=785 |
| [50] = https://curl.haxx.se/bug/?i=648 |
| [51] = https://curl.haxx.se/bug/?i=794 |
| [52] = https://curl.haxx.se/bug/?i=789 |
| [53] = https://curl.haxx.se/bug/?i=795 |
| [54] = https://curl.haxx.se/bug/?i=797 |
| [55] = https://curl.haxx.se/bug/?i=802 |
| [56] = https://curl.haxx.se/bug/?i=800 |