Repository URL to install this package:
|
Version:
0.1.19-1 ▾
|
Please refer to UPGRADING guide for upgrading to a major version.
CurlMultiHandler to avoid busy wait if possibleguzzlehttp/psr7 v1call_user_func* with native callsCurlFactory object destructionAllowDynamicProperties in CurlMultiHandlerguzzlehttp/promises v2SetCookie::fromString MaxAge deprecation warning and skip invalid MaxAge values'0' bodyNO_PROXY settings so that setting the proxy option to no overrides the env variableguzzlehttp/psr7 version constraint to ^1.9.1 || ^2.4.5CURLOPT_HTTPAUTH option not cleared on change of originforce_ip_resolverestore_error_handler() #2915InvalidArgumentException when an incorrect headers array is provided #2916, #2942guzzlehttp/psr7:^2.0 #2878sink on HEAD requests.GuzzleHttp\MessageFormatterInterfaceGuzzleHttp has been deprecated. Use static methods on Utils instead.ClientInterface::getConfig()Client::getConfig()Client::__call()Utils::defaultCaBundle()CurlFactory::LOW_CURL_VERSION_NUMBERNo changes since 7.0.0-rc1.
Utils class instead of functions in the GuzzleHttp namespace. #2546ClientInterface::MAJOR_VERSION #2583getenv function when unsafe #2531Client::get(), Client::head(), Client::patch() etc #2529ConnectException extends TransferException #2541pool_size #2528The diff might look very big but 95% of Guzzle users will be able to upgrade without modification. Please see the upgrade document that describes all BC breaking changes.
BadResponseException::__construct() #2427null as URI to Client::request() and Client::requestAsync() #2461SeekException #2162RequestException::getResponseBodySummary() #2425CookieJar::getCookieValue() #2433uri_template() and UriTemplate #2440save_to and exceptions #2464curl_multi_init. #2287null to the header option. #2132RetryMiddleware did not do exponential delay between retires due unit mismatch. #2132ClientInterface::VERSIONguzzle.phar was created in 6.4.0 due expired API token. This release will fix thatparent::__construct() to FileCookieJar and SessionCookieJarRequestException::getResponseBodySummary() #2081GuzzleHttp\Exception\InvalidArgumentException #2163GuzzleHttp\_current_time() to use hrtime() if that function exists. #2242appconnect_time in TransferStats #2284CookieJar #2335MockHandler so we can test transfer time #2362on_headers option in MockHandler #1580read_timeout option #1611CURLOPT_CAPATH and CURLOPT_CAINFO properly #1684\GuzzleHttp\Promise\rejection_for function instead of object init #1827Content-Length in PHP StreamHandler to avoid timeouts when
a server does not honor Connection: close.GuzzleHttp\json_encode and GuzzleHttp\json_decode.
https://github.com/guzzle/guzzle/pull/1389http_build_query for HHVM workaround.
https://github.com/guzzle/guzzle/pull/1367sink.
https://github.com/guzzle/guzzle/pull/1292on_stats request option to provide access to transfer
statistics for requests. https://github.com/guzzle/guzzle/pull/1202= inside of quotes in Cookies.
https://github.com/guzzle/guzzle/pull/1232body_as_string setting
https://github.com/guzzle/guzzle/pull/1201form_params and query now always uses the & separator.
https://github.com/guzzle/guzzle/pull/1163curl_reset.Content-Encoding header may be removed an the
Content-Length modified to reflect the message size after removing the
encoding.form_params and
multipart in the same request.query request option where the &
separator was missing.body is provided as an array. Please
use form_params or multipart instead.multipart and form_params request options.synchronous request option.on_headers request option.expect handling.default to true. This is no longer
required now that the cURL loop is not ticked for async requests.sink is valid if saving to a file.GuzzleHttp\RequestOptions to allow request options to be applied
using constants.$maxHandles has been removed from CurlMultiHandler.MultipartPostBody is now part of the guzzlehttp/psr7 package.save_toAbstractRequestEvent::getTransaction() as public.Utils::getDefaultHandler()GuzzleHttp\Client::getDefaultUserAgent as deprecated.guzzlehttp/streams. These stream abstractions
are available in the guzzlehttp/psr7 package under the GuzzleHttp\Psr7
namespace.GuzzleHttp\Middleware::retry, which
means the guzzlehttp/retry-subscriber is now obsolete.GuzzleHttp\Handler\MockHandler.future request option to send an async request.
Instead, use one of the *Async methods of a client (e.g., requestAsync,
getAsync, etc.).GuzzleHttp\Promise instead of React's promise library to avoid
recursion required by chaining and forwarding react promises. See
https://github.com/guzzle/promisesrequestAsync and sendAsync to send request asynchronously.getAsync(), postAsync(), etc. to send requests
asynchronously.form_fields and form_files request options.GuzzleHttp\Post namespace.body request option no longer accepts an array for POST requests.exceptions request option has been deprecated in favor of the
http_errors request options.save_to request option has been deprecated in favor of sink request
option.get(), post(), put(), patch(), options(), etc. are
now magic methods that will send synchronous requests.Utils.php with plain functions in functions.php.GuzzleHttp\Collection.GuzzleHttp\BatchResults. Batched pool results are now returned as
an array.GuzzleHttp\Query. Query string handling is now handled using an
associative array passed into the query request option. The query string
is serialized using PHP's http_build_query. If you need more control, you
can pass the query string in as a string.GuzzleHttp\QueryParser has been replaced with the
GuzzleHttp\Psr7\parse_query.AppliesHeadersInterface to make applying headers to a request based
on the body more generic and not specific to PostBodyInterface.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.
See https://github.com/guzzle/guzzle/pull/937.protocols array in the allow_redirects request option."0" is now an allowed URI path. See
https://github.com/guzzle/guzzle/pull/935.Query no longer typehints on the $query argument in the constructor,
allowing for strings and arrays.end event are now correctly wrapped with Guzzle
specific exceptions if necessary.This change updates query strings so that they are treated as un-encoded values by default where the value represents an un-encoded value to send over the wire. A Query object then encodes the value before sending over the wire. This means that even value query string values (e.g., ":") are url encoded. This makes the Query class match PHP's http_build_query function. However, if you want to send requests over the wire using valid query string characters that do not need to be encoded, then you can provide a string to Url::setQuery() and pass true as the second argument to specify that the query string is a raw string that should not be parsed or encoded (unless a call to getQuery() is subsequently made, forcing the query-string to be converted into a Query object).
Added a trailing \r\n to multipart/form-data payloads. See
https://github.com/guzzle/guzzle/pull/871
Added a GuzzleHttp\Pool::send() convenience method to match the docs.
Status codes are now returned as integers. See https://github.com/guzzle/guzzle/issues/881
No longer overwriting an existing application/x-www-form-urlencoded header
when sending POST requests, allowing for customized headers. See
https://github.com/guzzle/guzzle/issues/877
Improved path URL serialization.
rawString argument is provided when setting the query
string on a URL: Now allowing many more characters to be present in the
query string without being percent encoded. See
https://datatracker.ietf.org/doc/html/rfc3986#appendix-ABugfix release.
getResponse method of
these events if the response did not complete. https://github.com/guzzle/guzzle/issues/867Adding support for non-blocking responses and some minor API cleanup.
guzzlehttp/guzzle-ring.GuzzleHttp\Pool which implements FutureInterface and transfers
requests concurrently using a capped pool size as efficiently as possible.hasListeners() to EmitterInterface.GuzzleHttp\ClientInterface::sendAll and marked
GuzzleHttp\Client::sendAll as deprecated (it's still there, just not the
recommended way).The breaking changes in this release are relatively minor. The biggest thing to look out for is that request and response objects no longer implement fluent interfaces.
return $this) from requests,
responses, GuzzleHttp\Collection, GuzzleHttp\Url,
GuzzleHttp\Query, GuzzleHttp\Post\PostBody, and
GuzzleHttp\Cookie\SetCookie. This blog post provides a good outline of
why I did this: https://ocramius.github.io/blog/fluent-interfaces-are-evil/.
This also makes the Guzzle message interfaces compatible with the current
PSR-7 message proposal.GuzzleHttp\Utils using camelCase. GuzzleHttp\json_decode
moved to GuzzleHttp\Utils::jsonDecode. GuzzleHttp\get_path moved to
GuzzleHttp\Utils::getPath. GuzzleHttp\set_path moved to
GuzzleHttp\Utils::setPath. GuzzleHttp\batch should now be
GuzzleHttp\Pool::batch, which returns an objectStorage. Using functions.php
caused problems for many users: they aren't PSR-4 compliant, require an
explicit include, and needed an if-guard to ensure that the functions are not
declared multiple times.GuzzleHttp\Adapter, these are now
implemented as callables that are stored in GuzzleHttp\Ring\Client.GuzzleHttp\Adapter\Transaction to GuzzleHttp\Transaction. The
Transaction object now exposes the request, response, and client as public
properties. The getters and setters have been removed.asArray parameter from
GuzzleHttp\Message\MessageInterface::getHeader. If you want to get a header
value as an array, then use the newly added getHeaderAsArray() method of
MessageInterface. This change makes the Guzzle interfaces compatible with
the PSR-7 interfaces.GuzzleHttp\Message\MessageFactory no longer allows subclasses to add
custom request options using double-dispatch (this was an implementation
detail). Instead, you should now provide an associative array to the
constructor which is a mapping of the request option name mapping to a
function that applies the option value to a request.GuzzleHttp\Stream\StreamInterface::getContents() no longer accepts a
maxLen parameter. This update makes the Guzzle streams project
compatible with the current PSR-7 proposal.GuzzleHttp\Stream\Stream::__construct,
GuzzleHttp\Stream\Stream::factory, and
GuzzleHttp\Stream\Utils::create no longer accept a size in the second
argument. They now accept an associative array of options, including the
"size" key and "metadata" key which can be used to provide custom metadata.request_fulluri in stream adapter proxies.Content-Encoding response bodies
using the decode_content request option. This is set to true by default
to decode the response body if it comes over the wire with a
Content-Encoding. Set this value to false to disable decoding the
response content, and pass a string to provide a request Accept-Encoding
header and turn on automatic response decoding. This feature now allows you
to pass an Accept-Encoding header in the headers of a request but still
disable automatic response decoding.
Closes https://github.com/guzzle/guzzle/issues/764stream=false
request option to throw an exception.
See: https://github.com/guzzle/guzzle/issues/769Content-Type header to multipart/form-data
when creating POST requests to force multipart bodies.
See https://github.com/guzzle/guzzle/issues/768ResponseInterface::xml now accepts a libxml_options option and added a
missing default argument that was required when parsing XML response bodies.save_to stream is now created lazily, which means that files are not
created on disk unless a request succeeds.json request option for POST requestsToArrayInterface to GuzzleHttp\Cookie\CookieJarjson request option to easily serialize JSON payloads.GuzzleHttp\json_decode() wrapper to safely parse JSON.setPort() and getPort() to GuzzleHttp\Message\RequestInterface.GuzzleHttp\batch() as a convenience function for sending requests in
parallel without needing to write asynchronous code.GuzzleHttp\ClientInterface::sendAll().
You can now pass a callable or an array of associative arrays where each
associative array contains the "fn", "priority", and "once" keys.getConfig() and setConfig() from clients to avoid confusion
around whether things like base_url, message_factory, etc. should be able to
be retrieved or modified.getDefaultOption() and setDefaultOption() to ClientInterfaceHTTP_PROXY, HTTPS_PROXY, and
GUZZLE_CURL_SELECT_TIMEOUT environment variablessendAll() event prioritiesget_path() and set_path()headers eventStream\create() function$certificateAuthority to false in
Guzzle\Http\ClientInterface::setSslVerification()"0"HTTP/1.0$ref attribute in service descriptions to merge over any existing parameters of a schema (rather than
clobbering everything).=.
For example foo&bar=baz is now correctly parsed and recognized as foo&bar=baz rather than foo=&bar=baz.CURLOPT_TIMEOUT_MSsetRegex() method to match the docsdebug request parameter now checks if it is truthy rather than if it existsdebug request parameter to true shows verbose cURL output instead of using the LogPluginMultiTransferException and
CommandTransferException.additionalParameters of a response to false is now honored when parsing responses with a service description\Iterator instead of \Traversable.Guzzle\Common\AbstractHasDispatcher::dispatch() now returns the event that was dispatchedGuzzle\Http\QueryString::factory() now guesses the most appropriate query aggregator to used based on the input.
See https://github.com/guzzle/guzzle/issues/379operation.parse_class event. See
https://github.com/guzzle/guzzle/pull/380<> and quotescert and ssl_key as request optionsHost header can now diverge from the host part of a URL if the header is set manuallyGuzzle\Service\Command\LocationVisitor\Request\XmlVisitor was rewritten to change from using SimpleXML to XMLWriterfalse if Guzzle\Http\EntityBody::getContentMd5() failsContent-MD5 on a command if calculating the Content-MD5 fails via the CommandContentMd5Plugin\Guzzle.
See Guzzle\Http\StaticClient::mount.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.).Guzzle\Stream\PhpStreamRequestFactory will now be set if Content-Length is returned in the
headers of a responseGuzzle\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'];)Guzzle\Http\Message\Response now implements \SerializableGuzzle\Cache\CacheAdapterFactory::fromCache() to more easily create cache adaptersGuzzle\Service\ClientInterface::execute() now accepts an array, single command, or TraversableGuzzle\Http\Message\Header\Link::addLink()Guzzle\Stream\Stream using fstat() and caching the sizeGuzzle\Common\Exception\ExceptionCollection now creates a more readable exception messageGuzzle\Http\Message\AbstractMessage::getTokenizedHeader().
Now triggering an E_USER_DEPRECATED warning when used. Use $message->getHeader()->parseParams().Guzzle\Common\Collection$options argument to the end of the following methods of Guzzle\Http\ClientInterface:
createRequest, head, delete, put, patch, post, options, prepareRequest$options argument to the end of Guzzle\Http\Message\Request\RequestFactoryInterface::createRequest()applyOptions() method to Guzzle\Http\Message\Request\RequestFactoryInterfaceGuzzle\Http\ClientInterface::get($uri = null, $headers = null, $body = null) to
Guzzle\Http\ClientInterface::get($uri = null, $headers = null, $options = array()). You can still pass in a
resource, string, or EntityBody into the $options parameter to specify the download location of the response.Guzzle\Common\Collection::__construct($data) to no longer accepts a null value for $data but a
default array()Guzzle\Stream\StreamInterface::isRepeatableGuzzle\Http\ClientInterface::setDefaultHeaders(). Use $client->getConfig()->setPath('request.options/headers/{header_name}', 'value'). or
$client->getConfig()->setPath('request.options/headers', array('header_name' => 'value'))`.Guzzle\Http\ClientInterface::getDefaultHeaders(). Use $client->getConfig()->getPath('request.options/headers').Guzzle\Http\ClientInterface::expandTemplate()Guzzle\Http\ClientInterface::setRequestFactory()Guzzle\Http\ClientInterface::getCurlMulti()Guzzle\Http\Message\RequestInterface::canCacheGuzzle\Http\Message\RequestInterface::setIsRedirectGuzzle\Http\Message\RequestInterface::isRedirectGuzzle\Http\Client::expandTemplate and getUriTemplate protected methods.Guzzle\Common\Version::$emitWarnings to true.Guzzle\Http\Message\Request::isResponseBodyRepeatable() as deprecated. Use
$request->getResponseBody()->isRepeatable() instead.Guzzle\Http\Message\Request::canCache() as deprecated. Use
Guzzle\Plugin\Cache\DefaultCanCacheStrategy->canCacheRequest() instead.Guzzle\Http\Message\Request::canCache() as deprecated. Use
Guzzle\Plugin\Cache\DefaultCanCacheStrategy->canCacheRequest() instead.Guzzle\Http\Message\Request::setIsRedirect() as deprecated. Use the HistoryPlugin instead.Guzzle\Http\Message\Request::isRedirect() as deprecated. Use the HistoryPlugin instead.Guzzle\Cache\CacheAdapterFactory::factory() as deprecatedGuzzle\Http\Client as deprecated. Use [request.options][params].Guzzle\Service\Client::enableMagicMethods() as deprecated. Magic methods can no longer be disabled on a Guzzle\Service\Client.Guzzle\Service\Client::getDefaultHeaders() as deprecated. Use $client->getConfig()->getPath('request.options/headers')`.Guzzle\Service\Client::setDefaultHeaders() as deprecated. Use $client->getConfig()->setPath('request.options/headers/{header_name}', 'value')`.Guzzle\Parser\Url\UrlParser as deprecated. Just use PHP's parse_url() and percent encode your UTF-8.Guzzle\Common\Collection::inject() as deprecated.Guzzle\Plugin\CurlAuth\CurlAuthPlugin as deprecated. Use $client->getConfig()->setPath('request.options/auth', array('user', 'pass', 'Basic|Digest');CacheStorageInterface::cache($key, Response $response, $ttl = null) has changed to cache(RequestInterface $request, Response $response);CacheStorageInterface::fetch($key) has changed to fetch(RequestInterface $request);CacheStorageInterface::delete($key) has changed to delete(RequestInterface $request);CacheStorageInterface::purge($url)DefaultRevalidation::__construct(CacheKeyProviderInterface $cacheKey, CacheStorageInterface $cache, CachePlugin $plugin) has changed to DefaultRevalidation::__construct(CacheStorageInterface $cache, CanCacheStrategyInterface $canCache = null)RevalidationInterface::shouldRevalidate(RequestInterface $request, Response $response)Guzzle\Service\Command\CommandInterface typehint now request a
Guzzle\Service\Command\ArrayCommandInterface.Guzzle\Http\Message\RequestInterface::startResponse() to the RequestInterface to handle injecting a response
on a request while the request is still being transferredGuzzle\Service\Command\CommandInterface now extends from ToArrayInterface and ArrayAccessGuzzle\Log\MessageFormatter now properly writes "total_time" and "connect_time" valuesResponse::getPreviousResponse() (method signature still exists, but it's deprecated). Use the
HistoryPlugin for a history.responseBody alias for the response_body locationgetEffectiveUrl() and getRedirectCount() to Response objectsTransfer-Encoding: chunked header when a Content-Length is presentnumber type to service descriptions.oauth_token if the value is null in the OauthPlugin.command.after_prepare eventoauth_callback parameter to the OauthPluginadditionalParameters in service descriptions to define how custom parameters are serialized.Guzzle\Http\Message\Response::json() now allows scalar values to be returnedGuzzle\Http\Message\Response where wrapping quotes were stripped from getEtag()Guzzle\Http\Utils classGuzzle\Stream\Stream::getWrapper() and Guzzle\Stream\Stream::getSteamType() are no longer converted to
lowercaseGuzzle\Service\Command\ResponseClassInterfaceextends attributes to service description parametersGuzzle\Http\Message\Request::setResponseBody()Guzzle\Common\Collection::inject method\AppendIteratorcommands to operationsjson parameter locationbody_as_string in a request's curl options to enable.getParamNames() and hasParam()Guzzle\Service\Command\AbstractCommand::getRequestHeaders()+ is now treated as an encoded space when parsing query stringscurl. prefixed parameters