Moving phpunit.xml to phpunit.xml.dist.  Moving library/ to src/
[Common] Adding a Monolog log adapter.  Fixing the ZendLogAdapter and updating logging unit tests.  Adding Monolog as a submodule and adding to to the test bootstrap.
[Service] Adding a ClientInterface so that it is possible to use other classes like OAuth or SoapClient with Guzzle by extending the class and implementing Guzzle\Service\ClientInterface.  Removing public access modifiers from interfaces.
Removing verbose docblock headers from every class
Cleaning up the EventManager class.  Using spl_object_hash as event keys.
Cleaning up the Common namespace
[Tests] Fixing tests after PHPUnit upgrade
[Tests] Adding .travis.yml Removing logging from node server Fixing history plugin test Fixing bzip2 test Fixing timestamp test
[Tests] Getting code coverage back to 100%
Guzzle 2.0 Adopting composer for dependency management Updating LICENSE, travis build file, making better use of git ignores, and remove unused build target Removing @author tags.  Use the commit history for a changelog. Moving files from build folder to / Adding min build target to product a Guzzle only phar with no autoloader [Common] Accepting ZF1 or ZF2 cache in ZendCacheAdapter [Common] Optimizing Stream wrapper and EntityBody abstractions. [Common] [Http] Migrating from Guzzle event system to the Symfony2 event dispatcher [Common] Moved Inflector and Inspector to Service namespace [Http] Simplifying Guzzle\Guzzle curl detection [Http] Removing Guzzle\Http\Pool and now using Guzzle\Http\Curl\CurlMulti [Http] The helper methods from Guzzle\Http\Message\RequestFactory have been removed to prevent confusion and encourage developers to use Guzzle\Http\Client to create requests. [Http] Clients can now send one or more requests in an array using the send() method, so the batch() method was removed. [Http] Updating curl multi to allow blocking calls while sending other transfers [Http] Making the Request::hasHeader method more intuitive.  Guzzle\Http\Message\AbstractMessage::hasHeader() now returns true if the header is found using exact matching.  If the header is found using a regex or case-insensitive match, then it will return the name of the found header. [Http] Removing content-type guessing from EntityBody based on file extension and solely using finfo. [Http] Adding basic auth plugin [Http] Cleaning up CookieJar and CurlMulti [Http] Removing custom rawurlencode from QueryString because PHP 5.3 now properly deals with tilde characters. [Http] Minor optimization to parsing messages in RequestFactory [Http] Adding Guzzle\Http\Client for developers that don't need commands or service descriptions [Http] Making it easier to set a global User-Agent header for a Guzzle\Http\Client [Http] Fixing the discrepancies between the ClientInterface and Guzzle\Http\Client [Http] Adding the ability to set and retrieve tokenized headers from Requests and Responses [Service] Ditching NIH filters and using the Symfony2 validator [Service] Moving most service building logic to the ServiceBuilder::factory method so that it is easier to build custom config readers. [Service] Allowing deep nested command inheritance. [Service] Cleaning up Inflector caching. [Service] Getting rid of concept of can_batch because everything is now sent in parallel. [Service] Adding a JSON description builder. [Service] Cleaning up ResourceIteratorApplyBatched. [Service] Removing caching stuff from ServiceBuilder because the data being cached is extremely fast to generate. [Service] Added a method to serialize the ServiceDescription in case a ServiceDescription needs to be cached in an application. [Service] Making description builders use static methods. [Service] Adding support to include other description files for XML and JSON description builders. [Service] Adding support for filters to ApiCommands [Service] Using {{}} instead of $. to reference other services as a dependency for another service
Readability and cyclomatic complexity tweaks
[Common] Fixing monolog log adapter log levels.  Adding a check to CurlHandleTest to ensure that the body of a request is sent in a chunked PUT request.
Docblock fixes
[Common] [BC] Renaming ZendLogAdapter to Zf1LogAdater. Adding a Zf2LogAdapter. Renaming ZendCacheAdapter to Zf1CacheAdapter.  Adding Zf2CacheAdapter to support Zend Framework 2 caching. Updating the cache interface to allow passing options to cache methods. Removing the constructor and removing getCachedObject from CacheAdapterInterface. Adding a ClosureCacheAdapter. [Service] Adding the ability to use magic call method behavior for executing commands by name.  Closes #39. [Tests] Fixing a logging unit test so that it does not spit out to stdout Separating test dependencies from Guzzle deps by adding a composer-test.json. Adding unit testing capabilities to the Guzzle phar files. Updating travis-ci script to use new composer file and adding code coverage to travis runs [Build] Fixing guzzle-min.phar warning that tried to load index.php Adding a test-init phing target to help getting setup for testing. Fixing composer run in travis
[Common] Adding a CacheAdapterFactory so that you can generate cache adapters in your service config files
[Common] Adding a "cache." prefix to cache settings
Breaking / Potentially breaking changes:     1. Adopting a marker interface for Guzzle exceptions.         A. All exceptions emitted from Guzzle are now wrapped with a Guzzle namespaced exception.         B. Guzzle\Common\GuzzleExceptionInterface was renamed to Guzzle\Common\GuzzleException         C. Guzzle\Common\ExceptionCollection was renamed to Guzzle\Common\Exception\ExceptionCollection     2. Using Header objects for Request and Response objects         A. When you call $request->getHeader('X'), you will get back a Guzzle\Http\Message\Header object that contains all of the headers that case insensitively match.  This object can be cast to a string or iterated like an array.  You can pass true in the second argument to retrieve the header as a string.         B. Removing the old Guzzle\Common\Collection based searching arguments from most of the request and response header methods.  All retrievals are case-insensitive and return Header objects.     3. Changing the two headers added by the cache plugin to just one header with key and ttl.     4. Changing Guzzle\Http\Message\Response::factory() to fromMessage().     5. Removing the NullObject return value from ServiceDescriptions and instead simply returning null

New Features / enhancements:

    1. Adding Guzzle\Http\Message\AbstractMessage::addHeaders()
    2. Making it simpler to create service descriptions using a unified factory method that delegates to other factories.
    3. Better handling of ports and hosts in Guzzle\Http\Url

Note: This is a noisy diff because I'm removing trailing whitespace and adding a new line at the end of each source file.
Lots of refactoring for *greatly* improved performance (4-5x faster)

[Http] cache.* parameters should be prefixed with 'params.' now.

Adding the ability to set arbitrary curl options that don't map to constants (disable_wire, progress, etc)

Added a check to the CurlMulti object that prevents sending a request when the curl multi resource has been destroyed.  This could possibly happen when issuing requests from a destructor.

Adding the ability to disable type validation of configuration options

Adding a cache for all requests owned by a curl multi object

Creating the polling event external to the main CurlMulti loop

Hardening the CurlMulti class so that curl handles that are finished sending are removed from the multi handle.  Adding validation test

[Common] BC: Simplifying Guzzle\Common\Collection so that it is more performant.

[Service] Adding the ability to disable validation on the Inpector class.  Disabling validation on first instantiating commands so that defaults are added but nothing is check until attempting to execute a command.

Using class properties instead of a Collection for ApiCommand

BC: Using a custom validation system that allows a flyweight
implementation for much faster validation. No longer using Symfony2
Validation component.
[Common] Optimizing configuration injection.  No longer supporting the {{}} format for configuration injection.  You must use {} from now on.
Fixing typo and fixing type tests