Curl and libcurl 7.21.4

 Public curl releases:         120
 Command line options:         143
 curl_easy_setopt() options:   185
 Public functions in libcurl:  58
 Known libcurl bindings:       39
 Contributors:                 834

This release includes the following changes:

 o CURLINFO_FTP_ENTRY_PATH now supports SFTP
 o introduced new framework for unit-testing
 o IDN: use win32 API if told to
 o ares: ask for both IPv4 and IPv6 addresses
 o HTTP: do Negotiate authentication using SSPI on windows
 o Windows build: alternative makefile
 o TLS-SRP: support added when using GnuTLS

This release includes the following bugfixes:

 o SMTP: add brackets for MAIL FROM
 o ossl_seed: no more RAND_screen (on Windows)
 o multi: connect fail => use next IP address
 o use the timeout when using multiple IP addresses similar to how
   the easy interface does it
 o cookies: tricked dotcounter fixed
 o pubkey_show: allocate buffer to fit any-size result
 o Curl_nss_connect: avoid PATH_MAX
 o Curl_do: avoid using stale conn pointer
 o tftpd test server: avoid buffer overflow report from glibc
 o nss: avoid CURLE_OUT_OF_MEMORY given a file name without any slash
 o nss: fix a bug in handling of CURLOPT_CAPATH
 o CMake: Use upstream CheckTypeSize module
 o OpenSSL get_cert_chain: support larger data sets
 o SCP/SFTP transfers: acknowledge speedcheck
 o GnuTLS builds: fix memory leak
 o connect problem: use UDP correctly
 o Borland C++ makefile tweaks
 o OpenSSL: improved error message on SSL_CTX_new failures
 o HTTP: memory leak on multiple Location:
 o ares_query_completed_cb: don't touch invalid data
 o ares: memory leak fix
 o mk-ca-bundle: use new cacert url
 o Curl_gmtime: added a portable gmtime and check for NULL
 o curl.1: typo in -v description
 o CURLOPT_SOCKOPTFUNCTION: return proper error code
 o --keepalive-time: warn if not supported properly
 o file: add support for CURLOPT_TIMECONDITION
 o nss: avoid memory leaks and failure of NSS shutdown
 o multi: fix CURLM_STATE_TOOFAST for multi_socket

This release includes the following known bugs:

 o see docs/KNOWN_BUGS (http://curl.haxx.se/docs/knownbugs.html)

This release would not have looked like this without help, code, reports and
advice from friends like these:

 Amr Shahin, Andreas Olsson, Bjoern Sikora, Brad Hards, Brad King,
 Dan Fandrich, Daniel Mentz, Darshan Mody, Dave Reisner, Eric Hu,
 Guenter Knauf, Ian D Allen, John Bradshaw, Julien Chaffraix, Kamil Dudka,
 Luke Amery, Marcel Roelofs, Martin Lemke, Nicholas Maniscalco,
 Pasha Kuznetsov, Patrick Monnerat, Paul Howarth, Pedro Larroy, Pierre Joye,
 Quinn Slack, Samuel Thibault, Tommie Gannert, Vsevolod Novikov, Yang Tse

        Thanks! (and sorry if I forgot to mention someone)
