update for 4.1.0
authorMichael Wallner <mike@php.net>
Tue, 9 Mar 2021 07:05:13 +0000 (08:05 +0100)
committerMichael Wallner <mike@php.net>
Tue, 9 Mar 2021 07:05:20 +0000 (08:05 +0100)
http.md
http.stub.php
http/Client/Curl.md
http/Client/Curl/: Changelog.md
http/Client/Curl/Versions.md

diff --git a/http.md b/http.md
index a88e734dcf412e2e3a383c09698943fc6fbf7df7..443b75f5ee678d30d35029a167c688c15743ff5a 100644 (file)
--- a/http.md
+++ b/http.md
@@ -95,7 +95,7 @@ There are usually different styles of SSL support for libcurl available, so you
 This extension unconditionally depends on the pre-loaded presence of the following PHP extensions:
 
 * raphf
-* propro
+* propro (only until < 4.0.0, resp. PHP 8)
 * spl
 
 
@@ -109,7 +109,7 @@ Please ensure that all extension on which pecl/http depends, are loaded before i
 
        ; obligatory deps
        extension = raphf.so
-       extension = propro.so
+       extension = propro.so (PHP < 8.0, ext-http < 3.0 only)
 
        ; if shared deps were enabled
        extension = hash.so
@@ -119,12 +119,6 @@ Please ensure that all extension on which pecl/http depends, are loaded before i
        ; finally load pecl/http
        extension = http.so
 
-## Conflicts:
-
-pecl/http-v2 conflicts with the following extensions:
-
-* http-v1
-* event (only until <= 2.0.3)
 
 ## INI Directives:
 
index bcb4cc690fd6f09270c9d75b8dafc84cbb1b9eb6..204a3a5afcf8fe94a78e47b7093b54dedb98710f 100644 (file)
@@ -1503,7 +1503,7 @@ class QueryString implements \Serializable, \ArrayAccess, \IteratorAggregate {
        /**
         * Cast requested value to bool.
         */
-       const TYPE_BOOL = 16;
+       const TYPE_BOOL = 17;
        /**
         * Cast requested value to int.
         */
@@ -1926,19 +1926,22 @@ class Url  {
 }
 /**
  * The http\Client\Curl namespace holds option value constants specific to the curl driver of the http\Client.
+ * 
+ * Head down for the [list of available request options](http/Client/Curl#Options:) as well as the
+ * [list of available client configuration options](http/Client/Curl#Configuration:).
  */
 namespace http\Client\Curl;
 /**
  * Bitmask of available libcurl features.
  *   See http\Client\Curl\Features namespace.
  */
-const FEATURES = 4179869;
+const FEATURES = 88065949;
 /**
  * List of library versions of or linked into libcurl,
  *   e.g. "libcurl/7.50.0 OpenSSL/1.0.2h zlib/1.2.8 libidn/1.32 nghttp2/1.12.0".
  *   See http\Client\Curl\Versions namespace.
  */
-const VERSIONS = 'libcurl/7.64.0 OpenSSL/1.1.1d zlib/1.2.11 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) libssh2/1.8.0 nghttp2/1.36.0 librtmp/2.3';
+const VERSIONS = 'libcurl/7.75.0 OpenSSL/1.1.1j zlib/1.2.11 zstd/1.4.8 libidn2/2.3.0 libpsl/0.21.1 (+libidn2/2.3.0) libssh2/1.9.0 nghttp2/1.41.0';
 /**
  * Use HTTP/1.0 protocol version.
  */
@@ -1952,25 +1955,37 @@ const HTTP_VERSION_1_1 = 2;
  */
 const HTTP_VERSION_2_0 = 3;
 /**
- * Attempt to use version 2 for HTTPS, version 1.1 for HTTP. Available if libcurl is v7.47.0 or more recent and was built with nghttp2 support.
+ * Attempt to use version 2 for HTTPS, version 1.1 for HTTP. Available if libcurl is v7.47.0 or more recent and was built with http2 support.
  */
 const HTTP_VERSION_2TLS = 4;
+/**
+ * Declare prior knowledge that the server supports plain (non-TLS) HTTP/2. Available if libcurl is v7.49.0 or more recent and was built with http2 support.
+ */
+const HTTP_VERSION_2_PRIOR_KNOWLEDGE = 5;
+/**
+ * Force usage of HTTP/3. See also http\Client\Curl::$altsvc. Available if libcurl is v7.66.0 or more recent.
+ */
+const HTTP_VERSION_3 = 30;
 /**
  * Use any HTTP protocol version.
  */
 const HTTP_VERSION_ANY = 0;
 /**
- * Use TLS v1.0 encryption.
+ * Use TLS v1.0 encryption. Available if libcurl is v7.34.0 or more recent.
  */
 const SSL_VERSION_TLSv1_0 = 4;
 /**
- * Use TLS v1.1 encryption.
+ * Use TLS v1.1 encryption. Available if libcurl is v7.34.0 or more recent.
  */
 const SSL_VERSION_TLSv1_1 = 5;
 /**
- * Use TLS v1.2 encryption.
+ * Use TLS v1.2 encryption. Available if libcurl is v7.34.0 or more recent.
  */
 const SSL_VERSION_TLSv1_2 = 6;
+/**
+ * Use TLS v1.3 encryption. Available if libcurl is v7.52.0 or more recent.
+ */
+const SSL_VERSION_TLSv1_3 = 7;
 /**
  * Use any TLS v1 encryption.
  */
@@ -1987,6 +2002,26 @@ const SSL_VERSION_SSLv3 = 3;
  * Use any encryption.
  */
 const SSL_VERSION_ANY = 0;
+/**
+ * Use max default encryption. To be bitwise ORed to a http\Client\Curl\SSL_VERSION_ constant. Available if libcurl is v7.54.0 or more recent.
+ */
+const SSL_VERSION_MAX_DEFAULT = 65536;
+/**
+ * Use upt to TLS v1.0 encryption. To be bitwise ORed to a http\Client\Curl\SSL_VERSION_ constant. Available if libcurl is v7.54.0 or more recent.
+ */
+const SSL_VERSION_MAX_TLSv1_0 = 262144;
+/**
+ * Use up to TLS v1.1 encryption. To be bitwise ORed to a http\Client\Curl\SSL_VERSION_ constant. Available if libcurl is v7.54.0 or more recent.
+ */
+const SSL_VERSION_MAX_TLSv1_1 = 327680;
+/**
+ * Use up to TLS v1.2 encryption. To be bitwise ORed to a http\Client\Curl\SSL_VERSION_ constant. Available if libcurl is v7.54.0 or more recent.
+ */
+const SSL_VERSION_MAX_TLSv1_2 = 393216;
+/**
+ * Use up to TLS v1.3 encryption. To be bitwise ORed to a http\Client\Curl\SSL_VERSION_ constant. Available if libcurl is v7.54.0 or more recent.
+ */
+const SSL_VERSION_MAX_TLSv1_3 = 458752;
 /**
  * Use TLS SRP authentication. Available if libcurl is v7.21.4 or more recent and was built with gnutls or openssl with TLS-SRP support.
  */
@@ -2003,6 +2038,10 @@ const IPRESOLVE_V6 = 2;
  * Use any resolver.
  */
 const IPRESOLVE_ANY = 0;
+/**
+ * Don't use authentication.
+ */
+const AUTH_NONE = 0;
 /**
  * Use Basic authentication.
  */
@@ -2027,6 +2066,14 @@ const AUTH_GSSNEG = 4;
  * Use HTTP Netgotiate authentication (SPNEGO, RFC4559). Available if libcurl is v7.38.0 or more recent.
  */
 const AUTH_SPNEGO = 4;
+/**
+ * Bearer authentication. Set bearer with http\Client\Curl::$xoauth2_bearer request option. Available if libcurl is v7.61.0 or more recent.
+ */
+const AUTH_BEARER = 64;
+/**
+ * Use AWS SIGv4 authentication. Available if libcurl is v7.75.0 or more recent.
+ */
+const AUTH_AWS_SIGV4 = NULL;
 /**
  * Use any authentication.
  */
@@ -2038,11 +2085,11 @@ const PROXY_SOCKS4 = 4;
 /**
  * Use SOCKSv4a proxy protocol.
  */
-const PROXY_SOCKS4A = 5;
+const PROXY_SOCKS4A = 6;
 /**
  * Use SOCKS5h proxy protocol.
  */
-const PROXY_SOCKS5_HOSTNAME = 5;
+const PROXY_SOCKS5_HOSTNAME = 7;
 /**
  * Use SOCKS5 proxy protoccol.
  */
@@ -2071,6 +2118,30 @@ const POSTREDIR_303 = 4;
  * Keep POSTing on any redirect. Available if libcurl is v7.19.1 or more recent.
  */
 const POSTREDIR_ALL = 7;
+/**
+ * Do only read from but not write to the Alt-Svc cache file. Available if libcurl is v7.64.1 or more recent.
+ */
+const ALTSVC_READONLYFILE = 4;
+/**
+ * Accept alternative services offered over HTTP/1.1. Available if libcurl is v7.64.1 or more recent.
+ */
+const ALTSVC_H1 = 8;
+/**
+ * Accept alternative services offered over HTTP/2. Available if libcurl is v7.64.1 or more recent.
+ */
+const ALTSVC_H2 = 16;
+/**
+ * Accept alternative services offered over HTTP/3. Available if libcurl is v7.64.1 or more recent.
+ */
+const ALTSVC_H3 = 32;
+/**
+ * Enable the cache. Available if libcurl is v7.74.0 or more recent.
+ */
+const HSTS_ENABLE = 1;
+/**
+ * Do only read from but not write to the HSTS cache file. Available if libcurl is v7.74.0 or more recent.
+ */
+const HSTS_READONLYFILE = 2;
 namespace http\Client;
 /**
  * The http\Client\Request class provides an HTTP message implementation tailored to represent a request message to be sent by the client.
@@ -2370,19 +2441,16 @@ const TLSAUTH_SRP = 16384;
 const UNIX_SOCKETS = 524288;
 /**
  * CURL version constants.
- * 
- * > ***NOTE:***
- * > These constants have been added in v2.6.0, resp. v3.1.0.
  */
 namespace http\Client\Curl\Versions;
 /**
  * Version string of libcurl, e.g. "7.50.0".
  */
-const CURL = '7.64.0';
+const CURL = '7.75.0';
 /**
  * Version string of the SSL/TLS library, e.g. "OpenSSL/1.0.2h".
  */
-const SSL = 'OpenSSL/1.1.1d';
+const SSL = 'OpenSSL/1.1.1j';
 /**
  * Version string of the zlib compression library, e.g. "1.2.8".
  */
@@ -2394,7 +2462,39 @@ const ARES = NULL;
 /**
  * Version string of the IDN library, e.g. "1.32".
  */
-const IDN = NULL;
+const IDN = '2.3.0';
+/**
+ * Version string of the iconv library. Added in v4.1.0.
+ */
+const ICONV = '';
+/**
+ * Version string of the brotli library. Added in v4.1.0. Available if libcurl is v7.57.0 or more recent.
+ */
+const BROTLI = NULL;
+/**
+ * Version string of nghttp2. Added in v4.1.0. Available if libcurl is v7.66.0 or more recent.
+ */
+const NGHTTP2 = '1.41.0';
+/**
+ * Version string of quiche/nghttp3. Added in v4.1.0. Available if libcurl is v7.66.0 or more recent.
+ */
+const QUIC = NULL;
+/**
+ * Default path to the certificate bundle file. Added in v4.1.0. Available if libcurl is v7.70.0 or more recent.
+ */
+const CAINFO = '/etc/ssl/certs/ca-certificates.crt';
+/**
+ * Default path to the certificate bundle directory. Added in v4.1.0. Available if libcurl is v7.70.0 or more recent.
+ */
+const CAPATH = NULL;
+/**
+ * Version string of the zstd library. Added in v4.1.0. Available if libcurl is v7.72.0 or more recent.
+ */
+const ZSTD = '1.4.8';
+/**
+ * Version string of the hyper library. Added in v4.1.0. Available if libcurl is v7.75.0 or more recent.
+ */
+const HYPER = NULL;
 namespace http\Encoding;
 /**
  * Base class for encoding stream implementations.
@@ -2564,39 +2664,39 @@ class Enbrotli extends \http\Encoding\Stream {
        /**
         * Default compression level.
         */
-       const LEVEL_DEF = NULL;
+       const LEVEL_DEF = 4;
        /**
         * Least compression level.
         */
-       const LEVEL_MIN = NULL;
+       const LEVEL_MIN = 1;
        /**
         * Greatest compression level.
         */
-       const LEVEL_MAX = NULL;
+       const LEVEL_MAX = 11;
        /**
         * Default window bits.
         */
-       const WBITS_DEF = NULL;
+       const WBITS_DEF = 352;
        /**
         * Minimum window bits.
         */
-       const WBITS_MIN = NULL;
+       const WBITS_MIN = 160;
        /**
         * Maximum window bits.
         */
-       const WBITS_MAX = NULL;
+       const WBITS_MAX = 384;
        /**
         * Default compression mode.
         */
-       const MODE_GENERIC = NULL;
+       const MODE_GENERIC = 0;
        /**
         * Compression mode for UTF-8 formatted text.
         */
-       const MODE_TEXT = NULL;
+       const MODE_TEXT = 4096;
        /**
         * Compression mode used in WOFF 2.0.
         */
-       const MODE_FONT = NULL;
+       const MODE_FONT = 8192;
        /**
         * Encode data with brotli encoding.
         * 
index 3e4f3d7bf3b65845a7cf804ddbfad83cb9a27358..c5fbfa5012c53d1c44753df29849894de4d66535 100644 (file)
@@ -2,9 +2,12 @@
 
 The http\Client\Curl namespace holds option value constants specific to the curl driver of the http\Client.
 
+Head down for the [list of available request options](http/Client/Curl#Options:) as well as the 
+[list of available client configuration options](http/Client/Curl#Configuration:).
+
 ## Constants:
 
-### Features and Versions:
+### Features and Versions
 
 * FEATURES  
   Bitmask of available libcurl features.  
@@ -23,18 +26,24 @@ The http\Client\Curl namespace holds option value constants specific to the curl
 * HTTP_VERSION_2_0  
   Attempt to use HTTP/2 protocol version. Available if libcurl is v7.33.0 or more recent and was built with nghttp2 support.
 * HTTP_VERSION_2TLS  
-  Attempt to use version 2 for HTTPS, version 1.1 for HTTP. Available if libcurl is v7.47.0 or more recent and was built with nghttp2 support.
+  Attempt to use version 2 for HTTPS, version 1.1 for HTTP. Available if libcurl is v7.47.0 or more recent and was built with http2 support.
+* HTTP_VERSION_2_PRIOR_KNOWLEDGE  
+  Declare prior knowledge that the server supports plain (non-TLS) HTTP/2. Available if libcurl is v7.49.0 or more recent and was built with http2 support.
+* HTTP_VERSION_3  
+  Force usage of HTTP/3. See also http\Client\Curl::$altsvc. Available if libcurl is v7.66.0 or more recent.
 * HTTP_VERSION_ANY  
   Use any HTTP protocol version.
   
 ### SSL Protocol Version
 
 * SSL_VERSION_TLSv1_0  
-  Use TLS v1.0 encryption.
+  Use TLS v1.0 encryption. Available if libcurl is v7.34.0 or more recent.
 * SSL_VERSION_TLSv1_1  
-  Use TLS v1.1 encryption.
+  Use TLS v1.1 encryption. Available if libcurl is v7.34.0 or more recent.
 * SSL_VERSION_TLSv1_2  
-  Use TLS v1.2 encryption.
+  Use TLS v1.2 encryption. Available if libcurl is v7.34.0 or more recent.
+* SSL_VERSION_TLSv1_3  
+  Use TLS v1.3 encryption. Available if libcurl is v7.52.0 or more recent.
 * SSL_VERSION_TLSv1  
   Use any TLS v1 encryption.
 * SSL_VERSION_SSLv2  
@@ -43,6 +52,16 @@ The http\Client\Curl namespace holds option value constants specific to the curl
   Use SSL v3 encryption.
 * SSL_VERSION_ANY  
   Use any encryption.
+* SSL_VERSION_MAX_DEFAULT  
+  Use max default encryption. To be bitwise ORed to a http\Client\Curl\SSL_VERSION_ constant. Available if libcurl is v7.54.0 or more recent.
+* SSL_VERSION_MAX_TLSv1_0  
+  Use upt to TLS v1.0 encryption. To be bitwise ORed to a http\Client\Curl\SSL_VERSION_ constant. Available if libcurl is v7.54.0 or more recent.
+* SSL_VERSION_MAX_TLSv1_1  
+  Use up to TLS v1.1 encryption. To be bitwise ORed to a http\Client\Curl\SSL_VERSION_ constant. Available if libcurl is v7.54.0 or more recent.
+* SSL_VERSION_MAX_TLSv1_2  
+  Use up to TLS v1.2 encryption. To be bitwise ORed to a http\Client\Curl\SSL_VERSION_ constant. Available if libcurl is v7.54.0 or more recent.
+* SSL_VERSION_MAX_TLSv1_3  
+  Use up to TLS v1.3 encryption. To be bitwise ORed to a http\Client\Curl\SSL_VERSION_ constant. Available if libcurl is v7.54.0 or more recent.
 
 ### TLS Auth Types
 
@@ -60,6 +79,8 @@ The http\Client\Curl namespace holds option value constants specific to the curl
 
 ### Authentication Type
 
+* AUTH_NONE  
+  Don't use authentication.
 * AUTH_BASIC  
   Use Basic authentication.
 * AUTH_DIGEST  
@@ -72,6 +93,10 @@ The http\Client\Curl namespace holds option value constants specific to the curl
   Use GSS-Negotiate authentication.
 * AUTH_SPNEGO  
   Use HTTP Netgotiate authentication (SPNEGO, RFC4559). Available if libcurl is v7.38.0 or more recent.
+* AUTH_BEARER  
+  Bearer authentication. Set bearer with http\Client\Curl::$xoauth2_bearer request option. Available if libcurl is v7.61.0 or more recent.
+* AUTH_AWS_SIGV4  
+  Use AWS SIGv4 authentication. Available if libcurl is v7.75.0 or more recent.
 * AUTH_ANY  
   Use any authentication.
 
@@ -101,6 +126,23 @@ The http\Client\Curl namespace holds option value constants specific to the curl
 * POSTREDIR_ALL  
   Keep POSTing on any redirect. Available if libcurl is v7.19.1 or more recent.
 
+### Alt-Svc Cache Control
+
+* ALTSVC_READONLYFILE  
+  Do only read from but not write to the Alt-Svc cache file. Available if libcurl is v7.64.1 or more recent.
+* ALTSVC_H1  
+  Accept alternative services offered over HTTP/1.1. Available if libcurl is v7.64.1 or more recent.
+* ALTSVC_H2  
+  Accept alternative services offered over HTTP/2. Available if libcurl is v7.64.1 or more recent.
+* ALTSVC_H3  
+  Accept alternative services offered over HTTP/3. Available if libcurl is v7.64.1 or more recent.
+
+### HSTS Cache Control
+
+* HSTS_ENABLE  
+  Enable the cache. Available if libcurl is v7.74.0 or more recent.
+* HSTS_READONLYFILE  
+  Do only read from but not write to the HSTS cache file. Available if libcurl is v7.74.0 or more recent.
 
 ## Options:
 
@@ -109,6 +151,8 @@ The option names used here are more or less derived from the corresponding CURLO
 
 * int $protocol  
   The HTTP protocol version. See http\Client\Curl\HTTP_VERSION_* constants.
+* bool $http09_allowed  
+  Allow HTTP/0.9 responses. Available if libcurl is v7.64.0 or more recent. Prior to v7.64.0, responses without headers were treated as HTTP/0.9 responses and uncoditionally allowed. Enable this option to restore that behavior.
 
 ### Proxies
 
@@ -130,6 +174,14 @@ The option names used here are more or less derived from the corresponding CURLO
   List of key/value pairs of headers which should only be sent to a proxy. Available if libcurl is v7.37.0 or more recent.
 * string $proxy_service_name  
   Proxy service name. The default service name is "HTTP" for HTTP based proxies and "rcmd" for SOCKS5. Available if libcurl is v7.43.0 or more recent and has built-in GSSAPI support.
+* int $socks5_auth  
+  SOCKS5 proxy authentication type. Available if libcurl is v7.55.0 or more recent.  
+  Available settings:  
+  * http\Client\Curl\AUTH_NONE
+  * http\Client\Curl\AUTH_BASIC
+  * http\Client\Curl\AUTH_GSSNEG
+* bool $haproxy_protocol  
+  Send special [HAProxy protocol](https://github.com/haproxy/haproxy/blob/master/doc/proxy-protocol.txt) preamble. Available if libcurl is v7.60.0 or more recent.
 
 ### DNS
 
@@ -147,7 +199,11 @@ The option names used here are more or less derived from the corresponding CURLO
   The local IPv4 ***address*** that the resolver should bind to. Available if libcurl is v7.33.0 or more recent and has built-in c-ares support.
 * string $dns_local_ip6  
   The local IPv6 ***address*** that the resolver should bind to. Available if libcurl is v7.33.0 or more recent and has built-in c-ares support.
-
+* bool $dns_shuffle_addresses  
+  Enforce shuffling DNS addresses returned from the system. Available if libcurl is v7.60.0 or more recent.
+* string $doh_url  
+  URL to use for DNS-over-HTTPS. Note the HTTPS. Available if libcurl is v7.62.0 or more recent.
+  
 ### Limits
 
 * int $low_speed_limit  
@@ -156,6 +212,8 @@ The option names used here are more or less derived from the corresponding CURLO
   Maximum time in seconds the transfer can be below $low_speed_limit before cancelling.
 * int $maxfilesize  
   Maximum download size.
+* int $maxage_conn  
+  Maximum time in seconds an idle connection is checked to still be alive for a new transfer. Defaults to 118 seconds. Available if libcurl is v7.65.0 or more recent.
 
 ### Connection handling
 
@@ -182,8 +240,12 @@ The option names used here are more or less derived from the corresponding CURLO
   Interval in seconds to wait between sending keepalive probes. Available if libcurl is v7.25.0 or more recent.
 * bool $tcp_nodelay  
   Disable [Nagle's algotrithm](http://tools.ietf.org/html/rfc896).
+* bool $tcp_fastopen  
+  Enable [TCP Fast Open](http://tools.ietf.org/html/rfc7413) on supported platforms.
 * string $unix_socket_path  
-  Connect to the webserver listening at $unix_socket_path instead of opening a TCP connection to it. Available if libcurl is v7.40.0 or more recent.
+  Connect to the webserver listening at $unix_socket_path instead of opening a TCP connection to it. Available if libcurl is v7.40.0 or more recent and has built-in unix socket support.
+* string $abstract_unix_socket  
+  Similar to $unix_socket_path but for abstract namespaces independent of the filesystem. The preceding NULL byte is adedd automatically. Available if libcurl is v7.53.0 on supporting platforms and has built-in unix socket support.
 * bool $path_as_is  
   Do *not* squash sequences of "/../" or "/./" that may exist in the URL's path.
 
@@ -195,6 +257,10 @@ The option names used here are more or less derived from the corresponding CURLO
   See http\Client\Curl\AUTH_* constants.
 * string $service_name  
   The name of the service for DIGEST-MD5, SPNEGO and KERBEROS5 authentication mechanisms. The default service name is "HTTP". Available if libcurl is v7.43.0 or more recent.
+* string $xoauth2_bearer  
+  Bearer token for http\Client\Curl\AUTH_BEARER. Available if libcurl is v7.61.0 or more recent.
+* string $aws_sigv4  
+  Provide AWS V4 signature authentication in the form of `provider1[:provider2[:region[:service]]]`. Defaults to `aws:amz` if http\Client\Curl\AUTH_AWS_SIGV4 was used for $httpauthtype. Available if libcurl is v7.75.0 or more recent.
 
 ### Redirection
 
@@ -226,6 +292,14 @@ The option names used here are more or less derived from the corresponding CURLO
   Whether to request compressed content (through Accept-Encoding).
 * int $lastmodified  
   Custom If-(Un)Modified since time. If less than zero, the current time will be added.
+* string $altsvc  
+  Specify a file name to use as `Alt-Svc` cache. Available if libcurl is v7.64.1 or more recent.
+* int $altsvc_ctrl  
+  Specify how to handle `Alt-Svc` announcements as a bitmask of http\Client\Curl\ALTSVC_* constants. Available if libcurl is v7.64.1 or more recent.
+* string $hsts  
+  Specify a file name to use as HSTS cache. Availalbe if libcurl is v7.74.0 or more recent.
+* int $hsts_ctrl  
+  Specify how to handle the HSTS cache as a bitmask of http\Client\Curl\HSTS_* constatns. Available if libcurl is v7.74.0
 
 ### Resume/Ranges
 
@@ -287,7 +361,7 @@ The option names used here are more or less derived from the corresponding CURLO
   * string $egdsocket  
     A Entropy Gathering Daemon socket.
   * string $issuercert  
-    CA PEM cert for peer verification. Available if libcurl is v7.19.0 or more recent.
+    CA PEM cert file for peer verification. Available if libcurl is v7.19.0 or more recent.
   * string $crlfile  
     File with the concatenation of CRL in PEM format. Available if libcurl was built with OpenSSL support.
   * bool $certinfo  
@@ -298,12 +372,55 @@ The option names used here are more or less derived from the corresponding CURLO
     TLS_AUTH_* constant. Available if libcurl is v7.21.4 or more recent.
   * string $tlsauthuser  
     TLS-SRP username. Available if libcurl is v7.21.4 or more recent.
-  * string $lsauthpass  
+  * string $tlsauthpass  
     TLS-SRP password. Available if libcurl is v7.21.4 or more recent.
   * bool $verifystatus  
     Enable OCSP. Available if libcurl is v7.41.0 or more recent and was built with OpenSSL, GnuTLS or NSS support.
   * bool $falsestart  
     Whether false start should be used during the TLS handshake. Available if libcurl is v7.42.0 or more recent and was built with NSS or SecureTransport support.
+  * string $tls13_ciphers  
+    TLSv1.3 cipher list. Available if libcurl is v7.61.0 or more recent.
+* array $proxy_ssl  
+  Subarray of SSL related options to use for the proxy:  
+  > See the respective $ssl options above for descriptions.  
+  * string $cert  
+    Available if libcurl is v7.52.0 or more recent.
+  * string $certtype  
+    Available if libcurl is v7.52.0 or more recent.
+  * string $key  
+    Available if libcurl is v7.52.0 or more recent.
+  * string $keytype  
+    Available if libcurl is v7.52.0 or more recent.
+  * string $keypasswd  
+    Available if libcurl is v7.52.0 or more recent.
+  * int $version  
+    Available if libcurl is v7.52.0 or more recent.
+  * bool $verifypeer  
+    Available if libcurl is v7.52.0 or more recent.
+  * bool $verifyhost  
+    Available if libcurl is v7.52.0 or more recent.
+  * string $cipher_list  
+    Available if libcurl is v7.52.0 or more recent.
+  * string $cainfo  
+    Available if libcurl is v7.52.0 or more recent.
+  * string $capath  
+    Available if libcurl is v7.52.0 or more recent.
+  * string $crlfile  
+    Available if libcurl is v7.52.0 or more recent.
+  * string $pinned_publickey  
+    Available if libcurl is v7.52.0 or more recent.
+  * int $tlsauthtype  
+    Available if libcurl is v7.52.0 or more recent.
+  * string $tlsauthuser  
+    Available if libcurl is v7.52.0 or more recent.
+  * string $tlsauthpass  
+    Available if libcurl is v7.52.0 or more recent.
+  * string $pinned_publickey  
+    Available if libcurl is v7.59.0 or more recent.
+  * string $tls13_ciphers  
+    Available if libcurl is v7.61.0 or more recent.
+  * string $issuercert  
+    Available if libcurl is v7.71.0 or more recent.
 
 ## Configuration:
 
@@ -315,16 +432,18 @@ The option names used here are more or less derived from the corresponding CURLO
   Maximum number of requests in a pipeline. Available if libcurl is v7.30.0 or more recent.
 * int $max_total_connections  
   Maximum number of simultaneous open connections of this client. Available if libcurl is v7.30.0 or more recent.
+* int $max_concurrent_streams  
+  Maximum count of simultanous streams to support over one HTTP/2 connection. Defaults to 100. Available if libcurl is v7.67.0 or more recent.
 * bool $pipelining  
-  Whether to enable HTTP/1.1 pipelining.
+  Whether to enable HTTP/1.1 pipelining. Available if libcurl is **not** v7.62.0 or more recent.
 * int $chunk_length_penalty_size  
-  Chunk length threshold for pipelining; no more requests on this pipeline if exceeded. Available if libcurl is v7.30.0 or more recent.
+  Chunk length threshold for pipelining; no more requests on this pipeline if exceeded. Available if libcurl is v7.30.0 or more recent, but less than v7.62.0.
 * int $content_length_penalty_size  
-  Size threshold for pipelining; no more requests on this pipeline if exceeded. Available if libcurl is v7.30.0 or more recent.
+  Size threshold for pipelining; no more requests on this pipeline if exceeded. Available if libcurl is v7.30.0 or more recent, but less than v7.62.0.
 * array $pipelining_server_bl  
-  Simple list of server software names to blacklist for pipelining. Available if libcurl is v7.30.0 or more recent.
+  Simple list of server software names to blacklist for pipelining. Available if libcurl is v7.30.0 or more recent, but less than v7.62.0.
 * array $pipelining_site_bl  
-  Simple list of server host names to blacklist for pipelining. Available if libcurl is v7.30.0 or more recent.
+  Simple list of server host names to blacklist for pipelining. Available if libcurl is v7.30.0 or more recent, but less than v7.62.0.
 * mixed $use_eventloop  
   Whether to use an event loop. This option accepts either bool, whether to use
   the internal event loop, or an instance of an http\Client\Curl\User implementation.
index 457079b9de9a45bd5fc51fd1d44c93558a5195a5..b65c2ebd8f5c5aaa7a9052ce122f8568eda6450a 100644 (file)
@@ -7,6 +7,7 @@
                * $dns_local_ip6
                * $expect_100_timeout
 0. v2.1.2
+
        * Added request option constants:
                * http\Client\Curl\POSTREDIR_303
                * http\Client\Curl\AUTH_SPNEGO
                * http\Client\Curl\Versions
        * Added interfaces:
                * http\Client\Curl\User
+0. v4.1.0
+       * Added request options:
+               * http\Client\Curl::$abstract_unix_socket
+               * http\Client\Curl::$altsvc
+               * http\Client\Curl::$altsvc_ctrl
+               * http\Client\Curl::$aws_sigv4
+               * http\Client\Curl::$doh_url
+               * http\Client\Curl::$dns_shuffle_addresses
+               * http\Client\Curl::$haproxy_protocol
+               * http\Client\Curl::$hsts
+               * http\Client\Curl::$hsts_ctrl
+               * http\Client\Curl::$http09_allowed
+               * http\Client\Curl::$maxage_conn
+               * http\Client\Curl::$pinned_publickey
+               * http\Client\Curl::$proxy_ssl
+               * http\Client\Curl::$socks5_auth
+               * http\Client\Curl::$tcp_fastopen
+               * http\Client\Curl::$tls13_ciphers
+               * http\Client\Curl::$xoauth2_bearer
+       * Added request option constants:
+               * http\Client\Curl\AUTH_AWS_SIGV4
+               * http\Client\Curl\AUTH_BEARER
+               * http\Client\Curl\AUTH_NONE
+               * http\Client\Curl\HTTP_VERSION_2_PRIOR_KNOWLEDGE
+               * http\Client\Curl\HTTP_VERSION_3
+               * http\Client\Curl\SSL_VERSION_MAX_*
+               * http\Client\Curl\SSL_VERSION_TLSv1_3
+       * Added library version constants:
+               * http\Client\Curl\Versions\BROTLI
+               * http\Client\Curl\Versions\CAINFO
+               * http\Client\Curl\Versions\CAPATH
+               * http\Client\Curl\Versions\HYPER
+               * http\Client\Curl\Versions\ICONV
+               * http\Client\Curl\Versions\NGHTTP2
+               * http\Client\Curl\Versions\QUIC
+               * http\Client\Curl\Versions\ZSTD
index 44c50dc1b4214318cd273648edb4eced7ff74b6a..e1ec4671efb77caf2868c36383b21a1108298ec9 100644 (file)
@@ -2,9 +2,6 @@
 
 CURL version constants.
 
-> ***NOTE:***  
-> These constants have been added in v2.6.0, resp. v3.1.0.
-
 ## Constants:
 
 * CURL  
@@ -17,3 +14,19 @@ CURL version constants.
   Version string of the c-ares library, e.g. "1.11.0".
 * IDN  
   Version string of the IDN library, e.g. "1.32".
+* ICONV  
+  Version string of the iconv library. Added in v4.1.0.
+* BROTLI  
+  Version string of the brotli library. Added in v4.1.0. Available if libcurl is v7.57.0 or more recent.
+* NGHTTP2  
+  Version string of nghttp2. Added in v4.1.0. Available if libcurl is v7.66.0 or more recent.
+* QUIC  
+  Version string of quiche/nghttp3. Added in v4.1.0. Available if libcurl is v7.66.0 or more recent.
+* CAINFO  
+  Default path to the certificate bundle file. Added in v4.1.0. Available if libcurl is v7.70.0 or more recent.
+* CAPATH  
+  Default path to the certificate bundle directory. Added in v4.1.0. Available if libcurl is v7.70.0 or more recent.
+* ZSTD  
+  Version string of the zstd library. Added in v4.1.0. Available if libcurl is v7.72.0 or more recent.
+* HYPER  
+  Version string of the hyper library. Added in v4.1.0. Available if libcurl is v7.75.0 or more recent.