Release Notes: HttpDeflateStream and HttpInflateStream classes were added along with ob_deflatehandler, ob_inflatehandler, HttpRequest::getRawRequestMessage, and ::getRawResponseMessage. A 'resetcookies' request option was added. All methods and properties with "URI" in their name were changed to "URL". HttpRequest properties were changed to be private. Memory corruptions within HttpRequest were fixed.
Release Notes: http_negotiate_content_type() was added. A bug in http_negotiate_*() which was triggered when a client sent spaces within accept headers was fixed. Support for etag hashing through libmhash was removed. The HTTP_ETAG_* and HttpResponse::ETAG_* constants were removed. The http.etag_mode INI setting was changed to accept a string specifying the hash algorithm to use for generating etags. CRC32, MD5, and SHA1 are available out of the box, with MD5 being the default. If pecl/hash is available, any algorithm this extension provides can be used.
Release Notes: This release adds an INI setting http.force_exit that can be used to disable script termination in case of redirects and positive cache hits (instead, standard output will be discarded). It adds experimental http.chunked_encode and chunked_decode stream filters. Fixed bugs: a warning about an invalid curl handle at HttpRequestPool destruction; http_get_request_headers() modified $_SERVER array; message parser required "=" in Content-Range response message headers; and errors in directly setting HttpMessage property values.
Release Notes: This release adds experimental thread safety for builds linking against libcurl-gnutls, improves the chunked decoder to be more tolerant and fail-proof, changes the license to the revised BSD, changes HttpMessage properties not to be accessible by reference or array index, makes HttpRequest history logging disabled by default, and fixes shared builds within the PHP source tree on Linux and parallel builds with ext/zlib on Win32, a bug which caused HttpRequest warnings to be hidden, object deallocation, http_support() pretending there's no SSL in non-threadsafe builds, and the message parser choking on headers containing HTTP/1.x.
Release Notes: Ext/zlib independent GZIP support was added. HttpRequestPool::getAttachedRequests() and getFinishedRequests() were added.
Release Notes: The documentation was updated. An optional third parameter was added to HttpRequest::__construct() to accept an array with options. Compression functions were added. http_support() was added for probing features that depend on external libraries. http_absolute_uri() was renamed to http_build_uri(). The negotiator signature was changed to fill the second parameter with the results array. Several ETag issues were fixed. HttpRequestPools detach() and attach() methods were fixed when the iterator is active. Parsing messages with Content-Range headers was fixed. Parsing messages with another Transfer-Encoding than chunked was fixed.
Release Notes: Caching by Last-Modified with dates in October has been fixed.
Release Notes: This release adds ETag hashing through PHP's CRC32() implementation, HTTP_ETAG_MHASH_*, HttpMessage::TYPE_*, HttpRequest::AUTH_*, HttpRequest::METH_*, and HttpResponse::ETAG_* constants, the missing HttpMessage::setBody(), missing support for raw post data in HttpRequest, and a new language/charset negotiator. It changes HttpMessage::toString([include_parent = true]) to false and renames HTTP_GET constants to HTTP_METH_GET. It fixes PHP-5.0 building and protected property access. php_info() now shows supported ETag hash algorithms.