All Versions
116
Latest Version
Avg Release Cycle
59 days
Latest Release
600 days ago

Changelog History
Page 9

  • v3.4.1 Changes

    April 16, 2013
    • ๐Ÿ”จ Large refactoring to how CurlMulti handles work. There is now a proxy that sits in front of a pool of CurlMulti handles. This greatly simplifies the implementation, fixes a couple bugs, and provides a small performance boost.
    • Exceptions are now properly grouped when sending requests in parallel
    • Redirects are now properly aggregated when a multi transaction fails
    • Redirects now set the response on the original object even in the event of a failure
    • ๐Ÿ› Bug fix: Model names are now properly set even when using $refs
    • โž• Added support for PHP 5.5's CurlFile to prevent warnings with the deprecated @ syntax
    • โž• Added support for oauth_callback in OAuth signatures
    • โž• Added support for oauth_verifier in OAuth signatures
    • โž• Added support to attempt to retrieve a command first literally, then ucfirst, the with inflection
  • v3.4.0 Changes

    April 11, 2013
    • ๐Ÿ› Bug fix: URLs are now resolved correctly based on https://tools.ietf.org/html/rfc3986#section-5.2. #289
    • ๐Ÿ› Bug fix: Absolute URLs with a path in a service description will now properly override the base URL. #289
    • ๐Ÿ› Bug fix: Parsing a query string with a single PHP array value will now result in an array. #263
    • ๐Ÿ› Bug fix: Better normalization of the User-Agent header to prevent duplicate headers. #264.
    • ๐Ÿ› Bug fix: Added number type to service descriptions.
    • ๐Ÿ› Bug fix: empty parameters are removed from an OAuth signature
    • ๐Ÿ› Bug fix: Revalidating a cache entry prefers the Last-Modified over the Date header
    • ๐Ÿ› Bug fix: Fixed "array to string" error when validating a union of types in a service description
    • ๐Ÿ› Bug fix: Removed code that attempted to determine the size of a stream when data is written to the stream
    • ๐Ÿ› Bug fix: Not including an oauth_token if the value is null in the OauthPlugin.
    • ๐Ÿ› Bug fix: Now correctly aggregating successful requests and failed requests in CurlMulti when a redirect occurs.
    • 0๏ธโƒฃ The new default CURLOPT_TIMEOUT setting has been increased to 150 seconds so that Guzzle works on poor connections.
    • โž• Added a feature to EntityEnclosingRequest::setBody() that will automatically set the Content-Type of the request if the Content-Type can be determined based on the entity body or the path of the request.
    • โž• Added the ability to overwrite configuration settings in a client when grabbing a throwaway client from a builder.
    • โž• Added support for a PSR-3 LogAdapter.
    • โž• Added a command.after_prepare event
    • โž• Added oauth_callback parameter to the OauthPlugin
    • โž• Added the ability to create a custom stream class when using a stream factory
    • โž• Added a CachingEntityBody decorator
    • โž• Added support for additionalParameters in service descriptions to define how custom parameters are serialized.
    • The bundled SSL certificate is now provided in the phar file and extracted when running Guzzle from a phar.
    • You can now send any EntityEnclosingRequest with POST fields or POST files and cURL will handle creating bodies
    • POST requests using a custom entity body are now treated exactly like PUT requests but with a custom cURL method. This means that the redirect behavior of POST requests with custom bodies will not be the same as POST requests that use POST fields or files (the latter is only used when emulating a form POST in the browser).
    • Lots of cleanup to CurlHandle::factory and RequestFactory::createRequest
  • v3.3.1 Changes

    March 10, 2013
    • โž• Added the ability to create PHP streaming responses from HTTP requests
    • ๐Ÿ› Bug fix: Running any filters when parsing response headers with service descriptions
    • ๐Ÿ› Bug fix: OauthPlugin fixes to allow for multi-dimensional array signing, and sorting parameters before signing
    • ๐Ÿ› Bug fix: Removed the adding of default empty arrays and false Booleans to responses in order to be consistent across response location visitors.
    • ๐Ÿ› Bug fix: Removed the possibility of creating configuration files with circular dependencies
    • RequestFactory::create() now uses the key of a POST file when setting the POST file name
    • โž• Added xmlAllowEmpty to serialize an XML body even if no XML specific parameters are set
  • v3.3.0 Changes

    March 03, 2013
    • ๐ŸŽ A large number of performance optimizations have been made
    • ๐Ÿ› Bug fix: Added 'wb' as a valid write mode for streams
    • ๐Ÿ› Bug fix: Guzzle\Http\Message\Response::json() now allows scalar values to be returned
    • ๐Ÿ› Bug fix: Fixed bug in Guzzle\Http\Message\Response where wrapping quotes were stripped from getEtag()
    • ๐Ÿšš BC: Removed Guzzle\Http\Utils class
    • BC: Setting a service description on a client will no longer modify the client's command factories.
    • BC: Emitting IO events from a RequestMediator is now a parameter that must be set in a request's curl options using the 'emit_io' key. This was previously set under a request's parameters using 'curl.emit_io'
    • BC: Guzzle\Stream\Stream::getWrapper() and Guzzle\Stream\Stream::getSteamType() are no longer converted to lowercase
    • Operation parameter objects are now lazy loaded internally
    • โž• Added ErrorResponsePlugin that can throw errors for responses defined in service description operations' errorResponses
    • โž• Added support for instantiating responseType=class responseClass classes. Classes must implement Guzzle\Service\Command\ResponseClassInterface
    • โž• Added support for additionalProperties for top-level parameters in responseType=model responseClasses. These additional properties also support locations and can be used to parse JSON responses where the outermost part of the JSON is an array
    • โž• Added support for nested renaming of JSON models (rename sentAs to name)
    • ๐Ÿ”Œ CachePlugin
      • Added support for stale-if-error so that the CachePlugin can now serve stale content from the cache on error
      • Debug headers can now added to cached response in the CachePlugin
  • v3.2.0 Changes

    February 14, 2013
    • CurlMulti is no longer reused globally. A new multi object is created per-client. This helps to isolate clients.
    • 0๏ธโƒฃ URLs with no path no longer contain a "/" by default
    • Guzzle\Http\QueryString does no longer manages the leading "?". This is now handled in Guzzle\Http\Url.
    • ๐Ÿ‘€ BadResponseException no longer includes the full request and response message
    • โž• Adding setData() to Guzzle\Service\Description\ServiceDescriptionInterface
    • โž• Adding getResponseBody() to Guzzle\Http\Message\RequestInterface
    • โšก๏ธ Various updates to classes to use ServiceDescriptionInterface type hints rather than ServiceDescription
    • Header values can now be normalized into distinct values when multiple headers are combined with a comma separated list
    • xmlEncoding can now be customized for the XML declaration of a XML service description operation
    • Guzzle\Http\QueryString now uses Guzzle\Http\QueryAggregator\QueryAggregatorInterface objects to add custom value aggregation and no longer uses callbacks
    • The URL encoding implementation of Guzzle\Http\QueryString can now be customized
    • ๐Ÿ› Bug fix: Filters were not always invoked for array service description parameters
    • ๐Ÿ› Bug fix: Redirects now use a target response body rather than a temporary response body
    • ๐Ÿ› Bug fix: The default exponential backoff BackoffPlugin was not giving when the request threshold was exceeded
    • ๐Ÿ› Bug fix: Guzzle now takes the first found value when grabbing Cache-Control directives
  • v3.1.2 Changes

    January 27, 2013
    • ๐Ÿ”จ Refactored how operation responses are parsed. Visitors now include a before() method responsible for parsing the response body. For example, the XmlVisitor now parses the XML response into an array in the before() method.
    • ๐Ÿ›  Fixed an issue where cURL would not automatically decompress responses when the Accept-Encoding header was sent
    • CURLOPT_SSL_VERIFYHOST is never set to 1 because it is deprecated (see 5e0ff2ef20f839e19d1eeb298f90ba3598784444)
    • ๐Ÿ›  Fixed a bug where redirect responses were not chained correctly using getPreviousResponse()
    • 0๏ธโƒฃ Setting default headers on a client after setting the user-agent will not erase the user-agent setting
  • v3.1.1 Changes

    January 20, 2013
    • โž• Adding wildcard support to Guzzle\Common\Collection::getPath()
    • โž• Adding alias support to ServiceBuilder configs
    • โž• Adding Guzzle\Service\Resource\CompositeResourceIteratorFactory and cleaning up factory interface
  • v3.1.0 Changes

    January 12, 2013
    • ๐Ÿ‘€ BC: CurlException now extends from RequestException rather than BadResponseException
    • ๐Ÿ”Œ BC: Renamed Guzzle\Plugin\Cache\CanCacheStrategyInterface::canCache() to canCacheRequest() and added CanCacheResponse()
    • โž• Added getData to ServiceDescriptionInterface
    • โž• Added context array to RequestInterface::setState()
    • ๐Ÿ› Bug: Removing hard dependency on the BackoffPlugin from Guzzle\Http
    • ๐Ÿ› Bug: Adding required content-type when JSON request visitor adds JSON to a command
    • ๐Ÿ› Bug: Fixing the serialization of a service description with custom data
    • Made it easier to deal with exceptions thrown when transferring commands or requests in parallel by providing an array of successful and failed responses
    • ๐Ÿšš Moved getPath from Guzzle\Service\Resource\Model to Guzzle\Common\Collection
    • โž• Added Guzzle\Http\IoEmittingEntityBody
    • ๐Ÿšš Moved command filtration from validators to location visitors
    • โž• Added extends attributes to service description parameters
    • โž• Added getModels to ServiceDescriptionInterface
  • v3.0.7 Changes

    December 19, 2012
    • ๐Ÿ›  Fixing phar detection when forcing a cacert to system if null or true
    • ๐Ÿ‘ Allowing filename to be passed to Guzzle\Http\Message\Request::setResponseBody()
    • Cleaning up Guzzle\Common\Collection::inject method
    • โž• Adding a response_body location to service descriptions
  • v3.0.6 Changes

    December 09, 2012
    • ๐ŸŽ CurlMulti performance improvements
    • โž• Adding setErrorResponses() to Operation
    • composer.json tweaks