To get to know what version of curl you have installed, run
or use the shorthand version:
The output from that command line is typically four lines, out of which some will be rather long and might very well wrap in your terminal window.
An example output from a Debian Linux as of June 2020:
curl 7.68.0 (x86_64-pc-linux-gnu) libcurl/7.68.0 OpenSSL/1.1.1g zlib/1.2.11 brotli/1.0.7 libidn2/2.3.0 libpsl/0.21.0 (+libidn2/2.3.0) libssh2/1.8.0 nghttp2/1.41.0 librtmp/2.3Release-Date: 2020-01-08Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftpFeatures: AsynchDNS brotli GSS-API HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets
while the same command line invoked on a Windows 10 machine on the same date looks like:
curl 7.55.1 (Windows) libcurl/7.55.1 WinSSLRelease-Date: [unreleased]Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftpFeatures: AsynchDNS IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL
The meaning of the four lines?
The first line starts with
curl and first shows the main version number of the tool. Then follows the "platform" the tool was built for within parentheses and the libcurl version. Those three fields are common for all curl builds.
If the curl version number has
-DEV appended to it, it means the version is built straight from a in-development source code and it is not an officially released and "blessed" version.
The rest of this line contains names of third party components this build of curl uses, often with their invidual version number next to it with a slash separator. Like
nghttp2/1.41.0. This can for example tell you which TLS backends this curl uses.
Line 1 may contain one or more TLS libraries. curl can be built to support more than one TLS library which then makes curl - at startup - select which particular backend to use for this invoke.
If curl supports more than one TLS library like this, the ones that are not selected by default will be listed within parentheses. Thus, if you do not specify which backend to use use (with the
CURL_SSL_BACKEND environment variable) the one listed without parentheses will be used.
This line shows the date this curl version was released by the curl project, and it can also show a secondary "Patch date" if it has been updated somehow after it was originally released.
[unreleased] if curl was built another way than from a release tarball, and as you can see above that's how Microsft did it for Windows 10 and the curl project does not recommend it.
This is a list of all transfer protocols (URL schemes really) in alphabetical order that this curl build supports. All names are shown in lowercase letters.
As of curl 7.71.1 this list can contain these protocols:
dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, mqtt, pop3, pop3s, rtmp, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet and tftp
The list of features this build of curl supports. If the name is present in the list, that feature is enabled. If the name isn't present, that feature is not enabled.
Features that can be present there:
alt-svc - Support for the alt-svc: header
AsynchDNS - This curl uses asynchronous name resolves. Asynchronous name resolves can be done using either the c-ares or the threaded resolver backends.
brotli - support for automatic brotli compression over HTTP(S)
CharConv - curl was built with support for character set conversions (like EBCDIC)
Debug - This curl uses a libcurl built with Debug. This enables more error-tracking and memory debugging etc. For curl-developers only!
GSS-API - GSS-API authentication is enabled
HTTP2 - HTTP/2 support has been built-in.
HTTP3 - HTTP/3 support has been built-in.
HTTPS-proxy - This curl is built to support HTTPS proxy.
IDN - This curl supports IDN - international domain names.
IPv6 - You can use IPv6 with this.
krb4 - Krb4 for FTP is supported
Largefile - This curl supports transfers of large files, files larger than 2GB.
libz - Automatic gzip decompression of compressed files over HTTP is supported.
Metalink - This curl supports Metalink
MultiSSL - This curl supports multiple TLS backends.
NTLM - NTLM authentication is supported.
NTLM_WB - NTLM authentication is supported.
PSL - PSL is short for Public Suffix List and means that this curl has been built with knowledge about "public suffixes".
SPNEGO - SPNEGO authentication is supported.
SSL - SSL versions of various protocols are supported, such as HTTPS, FTPS, POP3S and so on.
SSPI - SSPI is supported
TLS-SRP - SRP (Secure Remote Password) authentication is supported for TLS.
UnixSockets - Unix sockets support is provided.