Path to this page:
Subject: CVS commit: pkgsrc/www/php-http
From: Filip Hajny
Date: 2015-04-08 21:57:23
Message id: 20150408195723.49B7098@cvs.netbsd.org
Log Message:
Update php-http to 2.4.3, based on patches provided by rodent@NetBSD.org.
Not backwards compatible with 1.x. Now depends on php-propro and php-raphf.
Upstream changelog:
2.4.3
* Fixed bug #69357 (HTTP/1.1 100 Continue overriding subsequent 200 response
code with PUT request)
2.4.2
* Fixed bug 69076 (http\Url throws Exception on empty querystring)
* Fixed bug 69313 (http\Client doesn't send GET body)
+ Added libidn2 and UIDNA as fallbacks for IDN support
- Deferred warnings/exceptions of the client, so callbacks for the
currently failing requests will still be called
2.4.1
* Fixed build with PHP <= 5.4 (Remi)
2.4.0
* Split off pecl/apfd and pecl/json_post
2.3.2
* Fixed bug with http\QueryString::offsetSet() resetting the complete
query string
2.3.1
* Fixed build on platforms that need stddef.h to define ptrdiff_t
(e.g. CentOS 7.5)
2.3.0
+ Preliminiary HTTP2 support for http\Client (libcurl with nghttp2 support)
+ Improved performance of HTTP info parser (request/response line)
+ Improved performance of updating client observers
+ Improved performance of http\Env\Response output to streams
+ Improved the error messages of the header parser
+ Added http\Header\Parser class
+ Added http\Client::configure() method accepting an array with the following
options for libcurl:
. maxconnects (int, size of the connection cache)
. max_host_connections (int, max number of connections to a single host,
libcurl >= 7.30.0)
. max_pipeline_length (int, max number of requests in a pipeline,
libcurl >= 7.30.0)
. max_total_connections (int, max number of simultaneous open connections
of this client, libcurl >= 7.30.0)
. pipelining (bool, whether to enable HTTP/1.1 pipelining)
. chunk_length_penalty_size (int, chunk length threshold for pipelining,
libcurl >= 7.30.0)
. content_length_penalty_size (int, size threshold for pipelining,
libcurl >= 7.30.0)
. pipelining_server_bl (array, list of server software names to blacklist
for pipelining, libcurl >= 7.30.0)
. pipelining_site_bl (array, list of server host names to blacklist
for pipelining, libcurl >= 7.30.0)
. use_eventloop (bool, whether to use libevent, libcurl+libevent)
+ Added http\Client::getAvailableOptions() and
http\Client::getAvailableConfiguration() methods
+ Added support for HTTP2 if libcurl was built with nghttp2 support.
+ Added http\Client\Curl\HTTP_VERSION_2_0 constant (libcurl >= 7.33.0)
+ Added http\Client\Curl\TLS_AUTH_SRP constant (libcurl >= 7.21.4)
+ Added pinned_publickey SSL request option (libcurl >= 7.39.0)
+ Added tlsauthtype, tlsauthuser and tlsauthpass SSL request option
(libcurl >= 7.21.4)
+ Added verifystatus (a.k.a OCSP) SSL request option (libcurl >= 7.41.0)
+ Added proxyheader request option (libcurl >= 7.37.0)
+ Added unix_socket_path request option (libcurl >= 7.40.0)
* Fixed compress request option
* Fixed parsing authorities of CONNECT messages
* Fixed parsing Content-Range messages
* Fixed http\Env\Response to default to chunked encoding over streams
* Fixed superfluous output of Content-Length:0 headers
* Fixed persistent easy handles to be only created for persistent
multi handles
* Fixed the header parser to accept not-yet-complete header lines
* Fixed http\Message::toStream() crash in ZTS mode
* Fixed the message stream parser to handle intermediary data bigger than 4k
* Fixed the message stream parser to handle single header lines without EOL
* Fixed http\Message\Body to not generate stat based etags
for temporary streams
- Deprecated http\Client::enablePipelining(), use
http\Client::configure(["pipelining" => true]) instead
- Deprecated http\Client::enableEvents(), use
http\Client::configure(["use_eventloop" => true]) instead
- Removed the cookies entry from the transfer info, wich was very slow
and generated a Netscape formatted list of cookies
- Changed the header parser to reject illegal characters
2.2.1
* Fixed Bug #69000 (http\Url breaks down with very long URL query strings)
2.2.0
- var_dump(http\Message) no longer automatically creates an empty body
+ Added http\Message\Parser class
+ Made http\Client::once() and http\Client::wait() available when using events
+ Added http\Url::PARSE_MBLOC, http\Url::PARSE_MBUTF8,
http\Url::PARSE_TOIDN and http\Url::PARSE_TOPCT constants
+ Added http\Env\Response::setCookie()
+ Added http\Env\Request::getCookie()
2.1.4
* Fixed bug #68353 (QsoSSL support removed in libcurl 7.39)
* Fixed bug #68149 (duplicate content-length with libcurl < 7.23)
* Fixed bug #66891 (Unexpected HTTP 401 after NTLM authentication)
2.1.3
* Fix build with libcurl < 7.26 (Remi)
2.1.2
+ Added missing request option constants: POSTREDIR_303, AUTH_SPNEGO
(libcurl >= 7.38.0), SSL_VERSION_TLSv1_{0,1,2} (libcurl >= 7.34)
* Fixed bug #68083 (PUT method not working after DELETE)
* Fixed bug #68009 (Segmentation fault after calling exit(0) after a request)
* Fixed bug #68000 (Extension does not build on FreeBSD)
2.1.1
* Fix httpVersion retrieval on bigendian (Remi)
* Fix etag/crc32b on bigendian (Remi)
2.1.0
- Removed port and scheme guessing of http\Url for portability
* Fixed PHP-5.3 compatibility
* Fixed PHP-5.4 compatibility
* Fixed possible bus error on shutdown when using events
* Fixed sovereignty of clients when using events
* Fixed a possible crash with http\Encoding\Stream\Dechunk::decode($unencoded)
* Fixed a leak in http\Client\Curl options
* Fixed bug #67733 (Compile error with libevent 2.x)
+ Added RFC5987 support in http\Params
+ Improved synthetic HTTP message parsing performace for ~20%
+ Added request options if libcurl has builtin c-ares support:
dns_interface, dns_local_ip4, dns_local_ip6 (all libcurl >= 7.33.0)
+ Added request options:
expect_100_timeout (libcurl >= 7.36.0), tcp_nodelay
+ Added transfer info:
curlcode, tls_session (libcurl >= 7.34.0), only available during transfer
2.0.7
* General improvements to the test suite
* Fixed http\Env\Response::send() ignoring some write errors
* Fixed bug #67528 (RFC compliant default user agent)
* Fixed a garbage collector issue with JSON POSTs
* Fixed refcount issue and double free of message bodies
* Fixed use after free if the http\Client::enqueue() closure returns TRUE
* Fixed bug #67584 (http\Client\Response not initialized as response
on failure)
2.0.6
+ Added "uploaded" progress state
* Fixed bug #67089 (Segmentaion fault with ZTS)
* Fixed compatibility with PHP-5.6+
* Fixed re-use of request messages which content length remained untouched
when the body was reset
2.0.5
* Fix rare crash with uninitialized CURLOPT_HTTPHEADER
* Fix build with -Werror=format-security (Remi)
* Fix build with extenal libs needed by libcurl
2.0.4
* Removed the pecl/event conflict
* Fixed bug #66388 (Crash on POST with Content-Length:0 and untouched body)
2.0.3
* Fixed typo
2.0.2
* Fixed bug #66250 (shutdown crash as shared extension)
2.0.1
* Fixed a bug with multiple ob_start(http\Env\Response) while
replacing the body
* Fixed build on Windows with libevent2
2.0.0
Extended HTTP support. Again. Keep in mind that it's got the major version 2,
because it's incompatible with pecl_http v1.
* Introduces the http namespace.
* Message bodies have been remodeled to use PHP temporary streams instead
of in-memory buffers.
* The utterly misunderstood HttpResponse class has been reimplemented
as http\Env\Response inheriting http\Message.
* Currently, there's only one Exception class left, http\Exception.
* Errors triggered by the extension can be configured statically by
http\Object::$defaultErrorHandling or inherited http\Object->errorHandling.
* The request ecosystem has been modularized to support different libraries,
though for the moment only libcurl is supported.
Files: