trAvis - MANAGER
Edit File: CHANGELOG
++*** Version 2.2.1 (stable) - API 2.2.0 (stable) - 2014-01-16 * Fixed a bogus timeout Exception in Socket adapter after waiting for "100 Continue" response: the same one-second timeout was used for further socket operations if explicit 'timeout' parameter was not set. Thanks to Andrea Brancatelli (abrancatelli at schema31 dot it) for the report. * Bundled a separate LICENSE file (request #20175). Updated phrasing and links to mention 3-Clause BSD license the package actually uses. *** Version 2.2.0 (stable) - API 2.2.0 (stable) - 2014-01-12 New features * Socket adapter will send "Expect: 100-continue" header and wait for "100 Continue" response by default before sending large request body (request #19233). This can be disabled by setting an empty "Expect" header, the same way as done with Curl adapter (see bug #15937) * It is possible to specify a local IP address to bind to using 'local_ip' configuration parameter (request #19515) Other changes and fixes * An infinite loop was possible when using a stream wrapper instead of a regular file with MultipartBody (bug #19934) * Socket adapter will properly send chunked request body if "Transfer-Encoding: chunked" header is set for the request (bug #20125) * Updated Public Suffix List to the latest version and updated its download script * Unit tests fixes *** Version 2.1.1 (stable) - API 2.1.0 (stable) - 2012-04-08 Fixes for SOCKS5 proxies support in Socket adapter *** Version 2.1.0 (stable) - API 2.1.0 (stable) - 2012-04-07 New features: * Mock adapter can return responses based on request URL (request #19276) * Support for SOCKS5 proxies, added 'proxy_type' configuration parameter (request #19332) * Proxy configuration may be given as an URL, e.g. $request->setConfig('proxy', 'socks5://localhost:1080'); Other changes and fixes: * Coding standards fixes (request #14990) * Unit tests now run from SVN checkout and under PHPUnit 3.6.x * Explicit dependency on PEAR (until PEAR_Exception is a separate package) * Get rid of track_errors, use a more robust solution (bug #19337) * Additional class_exists() check in setAdapter() (request #19344) * Public suffix list updated to current version *** Version 2.0.0 (stable) - API 2.0.0 (stable) - 2011-10-20 2.0.0RC2 repackaged as stable and depending on stable Net_URL2. No code changes. *** Version 2.0.0RC2 (beta) - API 2.0.0 (stable) - 2011-10-01 * Added an accessor method for HTTP_Request2_Response::$phrases (request #18716) * HTTP_Request2::send() throws an exception if URL is not provided rather than dies with a fatal error (bug #18755) * Public Suffix List updated to current version *** Version 2.0.0RC1 (beta) - API 2.0.0 (stable) - 2011-05-06 SSL options for Curl Adapter are always set, this prevents errors when redirecting from HTTP to HTTPS (bug #18443) *** Version 2.0.0beta3 (beta) - API 2.0.0 (beta) - 2011-04-03 * Added getEffectiveUrl() method to Response object, it returns the URL response was received from, possibly after redirects (request #18412) * Curl Adapter didn't send body for PUT requests sometimes (bug #18421) *** Version 2.0.0beta2 (beta) - API 2.0.0 (beta) - 2011-03-25 * Unit tests can now be run under recent PHPUnit versions (3.5+) * Public Suffix List updated to current version * PHP warning produced by stream_socket_client() in Socket adapter is now added to Exception message (bug #18331) *** Version 2.0.0beta1 (beta) - API 2.0.0 (beta) - 2011-02-27 Additions and changes: * Implemented cookie jar that allows to store and pass cookies across HTTP requests (see request #18225) * Added several specialized subclasses of HTTP_Request2_Exception, they are now thrown instead of the parent. Also added error codes and possibility to get native error code (as returned by stream_socket_client() and curl_errno()) (request #16762) * An additional 'sentBody' event is now sent to Observers (request #16828) * setBody() and addUpload() can now accept file pointers (request #16863) Bugfixes: * Incorrect check in Socket Adapter prevented Keep-alive from working in some cases (bug #17031) *** Version 0.6.0 (alpha) - API 0.6.0 (alpha) - 2011-02-14 Additions and changes: * Added test suite that interacts with a webserver. Please refer to tests/NetworkConfig.php.dist for instructions. * Packaging changes: docs/ and tests/ contents are installed without redundant subdirectories. * Added a $replace parameter to HTTP_Request2::setHeader() that controls whether new header value will overwrite previous one or be appended to it (request #17507) Bugfixes: * Fixed a typo in Curl Adapter that prevented 'strict_redirects' from working * Curl Adapter will throw an exception if CURLOPT_FOLLOWLOCATION can not be enabled due to PHP setup (bug #17450) * Allow parameters in manually set Content-Type headers (bug #17460) * Properly reset redirect limit if multiple requests are performed with the same instance of Socket Adapter (bug #17826) * Response::getBody() no longer tries to decode empty strings (bug #18169) *** Version 0.5.2 (alpha) - API 0.5.0 (alpha) - 2010-04-21 * magic_quotes_runtime PHP setting could be incorrectly enabled after performing the request (bug #16440) * Unit tests fixes (bugs #17079, #17106, #17326) * Observer_Log now appends to the log file rather than rewrites it (thanks to troelskn at gmail dot com for reporting) *** Version 0.5.1 (alpha) - API 0.5.0 (alpha) - 2009-11-21 * Content-Type request header is no longer removed for POST and PUT requests with empty request body (request #16799). * CURLOPT_NOBODY option is now set when doing HEAD requests with Curl adapter. *** Version 0.5.0 (alpha) - API 0.5.0 (alpha) - 2009-11-18 * Redirect support added, new configuration parameters 'follow_redirects', 'max_redirects' and 'strict_redirects' available * Implemented workaround for PHP bug #47204, Curl Adapter can now handle Digest authentication and redirects when doing POST requests, unfortunately this requires loading the entire request body into memory. * Config parameter 'use_brackets' is propagated to created instances of Net_URL2 * Prevent memory leaks due to circular references (request #16646) * Fixed a misleading error message when timing out due to default_socket_timeout * HTTP_Request2::setBody() can now accept an instance of HTTP_Request2_MultipartBody without trying to convert it to string * Calling HTTP_Request2::setBody() now clears post parameters and uploads *** Version 0.4.1 (alpha) - API 0.4.0 (alpha) - 2009-09-14 * Decoding of gzipped responses failed if mbstring.func_overload was enabled (bug #16555) * Changed boundary generation in multipart bodies to work correctly with rapidshare.com, added first usage example: file uploading to rapidshare.com * Added forgotten optional dependency on OpenSSL PHP extension *** Version 0.4.0 (alpha) - API 0.4.0 (alpha) - 2009-05-03 * Added 'store_body' config parameter, if set to false it will prevent storing the response body in Response object (request #15881) * HTTP_Request2::setHeader() method now works as documented, setHeader('name') will remove the 'name' header, while setHeader('name', '') will set 'name' header to empty value (bug #15937) * Custom 'Host' header will not be overwritten by generated one (bug #16146) * When trying to reuse the connected socket in Socket adapter, make sure that it is still connected (bug #16149) *** Version 0.3.0 (alpha) - API 0.3.0 (alpha) - 2009-01-28 API changes: * Removed HTTP_Request2::getConfigValue() method Feature additions: * Added digest authentication (RFC 2617) support to Socket adapter. Thanks to Tom Snyder (tomsn at inetoffice dot com) who sent me a prototype implementation for HTTP_Request a couple of years ago. * Added HTTPS proxy support to Socket adapter, this works through CONNECT request described in RFC 2817. * Mock adapter can now throw an Exception instead of returning a response if Exception object is added via its addResponse() method (request #15629) Other changes and fixes: * Support RFC 3986 by not encoding '~' in POST body (request #15368) * Prevent an error with particular versions of PHP and Curl (bug #15617) * Regular expressions used in HTTP_Request2 are now class constants (request #15630) * Curl adapter now throws an exception in case of malformed (non-HTTP) response rather than dies with a fatal error (bug #15716) * Curl handle wasn't closed in Curl adapter in case of error (bug #15721) * Curl adapter sent an extra 'sentHeaders' event and returned bogus response status when server returned 100-Continue response (bug #15785) *** Version 0.2.0 (alpha) - API 0.2.0 (alpha) - 2009-01-07 API changes: * HTTP_Request2::getConfigValue() is deprecated and will be removed in next release. Use HTTP_Request2::getConfig(). * Changed HTTP_Request2::setConfig() to accept a pair of parameter name and parameter value in addition to array('parameter name' => 'value') * Added HTTP_Request2::getConfig() method that can return a single configuration parameter or the whole configuration array Other additions and changes: * Added a debug Observer that can log request progress to a file or an instance of PEAR::Log (thanks to David Jean Louis, request #15424) * Added a new 'timeout' parameter that limits total number of seconds a request can take (see requests #5735 and #8964) * Added various SSL protocol options: 'ssl_verify_peer', 'ssl_verify_host', 'ssl_cafile', 'ssl_capath', 'ssl_local_cert', 'ssl_passphrase'. Note that 'ssl_verify_host' option behaves differently in Socket and Curl Adapters: http://bugs.php.net/bug.php?id=47030 Fixes: * Fixed 'data error' when processing response encoded by 'deflate' encoding (bug #15305) * Curl Adapter now passes full request headers in 'sentHeaders' event *** Version 0.1.0 (alpha) - API 0.1.0 (alpha) - 2008-11-17 Initial release. The features supported are mostly the same as those of HTTP_Request, with the following additional feature requests implemented: * cURL extension support (request #5463) * It is now possible to monitor the file upload progress with Observers (request #7630) * Added 'sentHeaders' notification providing the request headers to the Observers (request #7633) * Added support for 'deflate' encoding (request #11246)