All Versions
116
Latest Version
Avg Release Cycle
59 days
Latest Release
600 days ago
Changelog History
Page 9
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 fromgetEtag()
- ๐ 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()
andGuzzle\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