Guzzle comes with a powerful API and complete support for the HTTP/1.1 protocol.
It's main role is to provide a set of ready-made tools that enable developers to send requests to various Web services (API, servers, databases) and query for data.
In layman's terms Guzzle is a simple API client builder. A framework that simplifies the operations needed to create your own Twitter, Facebook, Google, etc. API client.
What is new in this release:
- Fixed a bug with serializing the query request option where the & separator was missing.
- Added a better error message for when body is provided as an array. Please use form_params or multipart instead.
- Various doc fixes.
What is new in version 6.0.1:
- Fixed a bug with serializing the query request option where the & separator was missing.
- Added a better error message for when body is provided as an array. Please use form_params or multipart instead.
- Various doc fixes.
What is new in version 5.2.0:
- Pool class no longer uses recursion when a request is intercepted.
- The size of a Pool can now be dynamically adjusted using a callback.
- Setting a request option to null when creating a request with a client will ensure that the option is not set. This allows you to overwrite default request options on a per-request basis.
- Added the ability to limit which protocols are allowed for redirects by specifying a protocols array in the allow_redirects request option.
- Nested futures due to retries are now resolved when waiting for synchronous responses.
- "0" is now an allowed URI path.
- Query no longer typehints on the $query argument in the constructor, allowing for strings and arrays.
What is new in version 5.0.1:
- Fixed an issue where connection errors still returned response object in error and end events event though the response is unusable. This has been corrected so that a response is not returned in the `getResponse` method of these events if the response did not complete.
- Fixed an issue where transfer statistics were not being populated in the RingBridge.
What is new in version 5.0.0:
- Added support for non-blocking responses based on guzzlehttp/guzzle-ring.
- Added a public API for creating a default HTTP adapter.
- Updated the redirect plugin to be non-blocking so that redirects are sent concurrently. Other plugins like this can now be updated to be non-blocking.
- Added a "progress" event so that you can get upload and download progress events.
- Added GuzzleHttp\Pool which implements FutureInterface and transfers requests concurrently using a capped pool size as efficiently as possible.
- Added hasListeners() to EmitterInterface.
- Removed GuzzleHttp\ClientInterface::sendAll and marked GuzzleHttp\Client::sendAll as deprecated (it's still there, just not the recommended way).
What is new in version 4.2.2:
- Fixed a memory leak in the CurlAdapter when reusing cURL handles.
- No longer using `request_fulluri` in stream adapter proxies.
- Relative redirects are now based on the last response, not the first response.
What is new in version 4.1.6:
- Added helper methods to make it easier to represent messages as strings, including getting the start line and getting headers as a string.
What is new in version 4.1.3:
- Various fixes to multipart/form-data POST uploads
- Wrapping function.php in an if-statement to ensure Guzzle can be used globally and in a Composer install
- Fixed an issue with generating and merging in events to an event array
- POST headers are only applied before sending a request to allow you to change the query aggregator used before uploading
- Added much more robust query string parsing
- Fixed various parsing and normalization issues with URLs
- Fixing an issue where multi-valued headers were not being utilized correctly in the StreamAdapter
What is new in version 4.1.1:
- Fixed an issue related to using custom message factory options in subclasses.
- Fixed an issue with nested form fields in a multi-part POST.
- Fixed an issue with using the `json` request option for POST requests.
- Added `ToArrayInterface` to `GuzzleHttp\Cookie\CookieJar`.
What is new in version 4.1.0:
- Added a `json` request option to easily serialize JSON payloads.
- Added a `GuzzleHttp\json_decode()` wrapper to safely parse JSON.
- Added `setPort()` and `getPort()` to `GuzzleHttp\Message\RequestInterface`.
- Added the ability to provide an emitter to a client in the client constructor.
- Added the ability to persist a cookie session using $_SESSION.
- Added a trait that can be used to add event listeners to an iterator.
- Removed request method constants from RequestInterface.
- Fixed warning when invalid request start-lines are received.
- Updated MessageFactory to work with custom request option methods.
- Updated cacert bundle to latest build.
What is new in version 4.0.0:
- Added `GuzzleHttp\batch()` as a convenience function for sending requests in parallel without needing to write asynchronous code.
- Restructured how events are added to `GuzzleHttp\ClientInterface::sendAll()`.
- Can now pass a callable or an array of associative arrays where each associative array contains the "fn", "priority", and "once" keys.
What is new in version 3.8.1:
- Sending PHP stream requests no longer forces `HTTP/1.0`.
- Adding more information to ExceptionCollection exceptions so that users have more context, including a stack trace of each sub-exception.
- Updated the `$ref` attribute in service descriptions to merge over any existing parameters of a schema (rather than clobbering everything).
- Merging URLs will now use the query string object from the relative URL (thus allowing custom query aggregators).
- Query strings are now parsed in a way that they do no convert empty keys with no value to have a dangling `=`.
- Now properly escaping the regular expression delimiter when matching Cookie domains.
- Network access is now disabled when loading XML documents.
What is new in version 3.8.0:
- Added the ability to define a POST name for a file
- JSON response parsing now properly walks additionalProperties
- cURL error code 18 is now retried automatically in the BackoffPlugin
- Fixed a cURL error when URLs contain fragments
- Fixed an issue in the BackoffPlugin retry event where it was trying to access all exceptions as if they were CurlExceptions
- CURLOPT_PROGRESS function fix for PHP 5.5
- Added the ability for Guzzle to work with older versions of cURL that do not support `CURLOPT_TIMEOUT_MS`
- Fixed a bug that was encountered when parsing empty header parameters
- UriTemplate now has a `setRegex()` method to match the docs
- The `debug` request parameter now checks if it is truthy rather than if it exists
- Setting the `debug` request parameter to true shows verbose cURL output instead of using the LogPlugin
- Added the ability to combine URLs using strict RFC 3986 compliance
- Command objects can now return the validation errors encountered by the command
- Various fixes to cache revalidation
- Various fixes to the AsyncPlugin
- Cleaned up build scripts
What is new in version 3.7.4:
- Minimum PHP version is now properly specified as 5.3.3 (up from 5.3.2)
- Updated the bundled cacert.pem
- OauthPlugin now supports adding authentication to headers or query string
- Bug fix:
- 0 is now an allowed value in a description parameter that has a default value
- SchemaFormatter now returns an integer when formatting to a Unix timestamp
- Cleaned up and fixed URL dot segment removal to properly resolve internal dots
What is new in version 3.7.2:
- Added a way to add custom domain objects to service description parsing using the `operation.parse_class` event.
- cURL multi cleanup and optimizations.
What is new in version 3.7.1:
- Bug fix: Moving stream factory before send event to before building the stream.
- Bug fix: Cookies no longer match on IP addresses per RFC 6265
- Bug fix: Correctly parsing header parameters that are in `<>` and quotes
- Added `cert` and `ssl_key` as request options
- `Host` header can now diverge from the host part of a URL if the header is set manually
- `Guzzle\Service\Command\LocationVisitor\Request\XmlVisitor` was rewritten to change from using SimpleXML to XMLWriter
- OAuth parameters are only added via the plugin if they aren't already set
- Exceptions are now thrown when a URL cannot be parsed
What is new in version 3.7.0:
- Added command.request_options to Guzzle\Service\Command\AbstractCommand to pass request options to requests created by a command (e.g. custom headers, query string variables, timeout settings, etc).
- Stream size in Guzzle\Stream\PhpStreamRequestFactory will now be set if Content-Length is returned in the headers of a response
- Added Guzzle\Common\Collection::setPath($path, $value) to set a value into an array using a nested key (e.g. $collection->setPath('foo/baz/bar', 'test'); echo $collection['foo']['bar']['bar'];)
- ServiceBuilders now support storing and retrieving arbitrary data
- CachePlugin can now purge all resources for a given URI
- CachePlugin can automatically purge matching cached items when a non-idempotent request is sent to a resource
- CachePlugin now uses the Vary header to determine if a resource is a cache hit
- Guzzle\Http\Message\Response now implements \Serializable
- Added Guzzle\Cache\CacheAdapterFactory::fromCache() to more easily create cache adapters
- Guzzle\Service\ClientInterface::execute() now accepts an array, single command, or Traversable
- Fixed a bug in Guzzle\Http\Message\Header\Link::addLink()
- Better handling of calculating the size of a stream in Guzzle\Stream\Stream using fstat() and caching the size
- Guzzle\Common\Exception\ExceptionCollection now creates a more readable exception message
- Fixing BC break: Added back the MonologLogAdapter implementation rather than extending from PsrLog so that older Symfony users can still use the old version of Monolog.
- Fixing BC break: Added the implementation back in for Guzzle\Http\Message\AbstractMessage::getTokenizedHeader(). Now triggering an E_USER_DEPRECATED warning when used. Use $message->getHeader()->parseParams().
- Several performance improvements to Guzzle\Common\Collection
- Added an $options argument to the end of the following methods of Guzzle\Http\ClientInterface: createRequest, head, delete, put, patch, post, options, prepareRequest
Requirements:
- PHP 5.3.2 or higher
Comments not found