Changelog History
Page 5
-
v6.0.0-beta.1 Changes
- Requires PHP >= 5.5
- ⚡️ Updated to use PSR-7
- Requires immutable messages, which basically means an event based system owned by a request instance is no longer possible.
- Utilizing the Guzzle PSR-7 package.
- Removed the dependency on
guzzlehttp/streams
. These stream abstractions are available in theguzzlehttp/psr7
package under theGuzzleHttp\Psr7
namespace.
- ➕ Added middleware and handler system
- Replaced the Guzzle event and subscriber system with a middleware system.
- No longer depends on RingPHP, but rather places the HTTP handlers directly in Guzzle, operating on PSR-7 messages.
- Retry logic is now encapsulated in
GuzzleHttp\Middleware::retry
, which means theguzzlehttp/retry-subscriber
is now obsolete. - Mocking responses is now handled using
GuzzleHttp\Handler\MockHandler
.
- Asynchronous responses
- No longer supports the
future
request option to send an async request. Instead, use one of the*Async
methods of a client (e.g.,requestAsync
,getAsync
, etc.). - Utilizing
GuzzleHttp\Promise
instead of React's promise library to avoid recursion required by chaining and forwarding react promises. See https://github.com/guzzle/promises - Added
requestAsync
andsendAsync
to send request asynchronously. - Added magic methods for
getAsync()
,postAsync()
, etc. to send requests asynchronously.
- No longer supports the
- Request options
- POST and form updates
- Added the
form_fields
andform_files
request options. - Removed the
GuzzleHttp\Post
namespace. - The
body
request option no longer accepts an array for POST requests. - The
exceptions
request option has been deprecated in favor of thehttp_errors
request options. - The
save_to
request option has been deprecated in favor ofsink
request option.
- Clients no longer accept an array of URI template string and variables for URI variables. You will need to expand URI templates before passing them into a client constructor or request method.
- Client methods
get()
,post()
,put()
,patch()
,options()
, etc. are now magic methods that will send synchronous requests. - Replaced
Utils.php
with plain functions infunctions.php
. - ✂ Removed
GuzzleHttp\Collection
. - ✂ Removed
GuzzleHttp\BatchResults
. Batched pool results are now returned as an array. - ✂ Removed
GuzzleHttp\Query
. Query string handling is now handled using an associative array passed into thequery
request option. The query string is serialized using PHP'shttp_build_query
. If you need more control, you can pass the query string in as a string. - 📜
GuzzleHttp\QueryParser
has been replaced with theGuzzleHttp\Psr7\parse_query
.
-
v5.3.4
October 30, 2019 -
v5.3.3
July 31, 2018 -
v5.3.2
January 15, 2018 -
v5.3.1
July 15, 2016 -
v5.3.0 Changes
May 19, 2015- 🤡 Mock now supports
save_to
- Marked
AbstractRequestEvent::getTransaction()
as public. - 🛠 Fixed a bug in which multiple headers using different casing would overwrite previous headers in the associative array.
- ➕ Added
Utils::getDefaultHandler()
- 🗄 Marked
GuzzleHttp\Client::getDefaultUserAgent
as deprecated. - URL scheme is now always lowercased.
- 🤡 Mock now supports
-
v5.2.0 Changes
January 27, 2015- ➕ Added
AppliesHeadersInterface
to make applying headers to a request based on the body more generic and not specific toPostBodyInterface
. - ⬇️ Reduced the number of stack frames needed to send requests.
- Nested futures are now resolved in the client rather than the RequestFsm
- Finishing state transitions is now handled in the RequestFsm rather than the RingBridge.
- ➕ Added a guard in the Pool class to not use recursion for request retries.
- ➕ Added
-
v5.1.0 Changes
December 19, 2014- Pool class no longer uses recursion when a request is intercepted.
- The size of a Pool can now be dynamically adjusted using a callback. See https://github.com/guzzle/guzzle/pull/943.
- 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. See https://github.com/guzzle/guzzle/pull/937. - ➕ Added the ability to limit which protocols are allowed for redirects by
specifying a
protocols
array in theallow_redirects
request option. - 🔀 Nested futures due to retries are now resolved when waiting for synchronous responses. See https://github.com/guzzle/guzzle/pull/947.
- 👀
"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.- Exceptions thrown in the
end
event are now correctly wrapped with Guzzle specific exceptions if necessary.
-
v5.0.3 Changes
November 03, 2014⚡️ This change updates query strings so that they are treated as un-encoded values 0️⃣ 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).
-
v5.0.2 Changes
October 30, 2014- ➕ 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.
- No longer double percent-encoding characters in the path or query string if they are already encoded.
- Now properly encoding the supplied path to a URL object, instead of only encoding ' ' and '?'.
- Note: This has been changed in 5.0.3 to now encode query string values by
default unless the
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://tools.ietf.org/html/rfc3986#appendix-A
- ➕ Added a trailing