Skip to content

Latest commit

 

History

History
175 lines (95 loc) · 4.16 KB

CHANGELOG.md

File metadata and controls

175 lines (95 loc) · 4.16 KB

Change Log

2.0 (unreleased)

Changed

  • Abstract method HttpClientPool::chooseHttpClient() has now an explicit return type (Http\Client\Common\HttpClientPoolItem)
  • Interface method Plugin::handleRequest(...) has now an explicit return type (Http\Promise\Promise)
  • Made all classes final as they are not intended to be extended.

Removed

  • Deprecated option debug_plugins has been removed from PluginClient

1.8.2 (unreleased)

Changed

  • When multiple cookies exist, a single header with all cookies is sent as per RFC 6265 Section 5.4

1.8.1 - 2018-10-09

Fixed

  • Reverted change to RetryPlugin so it again waits when retrying to avoid "can only throw objects" error.

1.8.0 - 2018-09-21

Added

  • Add an option on ErrorPlugin to only throw exception on response with 5XX status code.

Changed

  • AddPathPlugin no longer add prefix multiple times if a request is restarted - it now only adds the prefix if that request chain has not yet passed through the AddPathPlugin
  • RetryPlugin no longer wait for retried requests and use a deferred promise instead

Fixed

  • Decoder plugin will now remove header when there is no more encoding, instead of setting to an empty array

1.7.0 - 2017-11-30

Added

  • Symfony 4 support

Changed

  • Strict comparison in DecoderPlugin

1.6.0 - 2017-10-16

Added

  • Add HttpClientPool client to leverage load balancing and fallback mechanism see the documentation for more details.
  • PluginClientFactory to create PluginClient instances.
  • Added new option 'delay' for RetryPlugin.
  • Added new option 'decider' for RetryPlugin.
  • Supports more cookie date formats in the Cookie Plugin

Changed

  • The RetryPlugin does now wait between retries. To disable/change this feature you must write something like:
$plugin = new RetryPlugin(['delay' => function(RequestInterface $request, Exception $e, $retries) { 
  return 0; 
}); 

Deprecated

  • The debug_plugins option for PluginClient is deprecated and will be removed in 2.0. Use the decorator design pattern instead like in ProfilePlugin.

1.5.0 - 2017-03-30

Added

  • QueryDefaultsPlugin to add default query parameters.

1.4.2 - 2017-03-18

Deprecated

  • DecoderPlugin does not longer claim to support compress content encoding

Fixed

  • CookiePlugin allows main domain cookies to be sent/stored for subdomains
  • DecoderPlugin uses the right FilteredStream to handle deflate content encoding

1.4.1 - 2017-02-20

Fixed

  • Cast return value of StreamInterface::getSize to string in ContentLengthPlugin

1.4.0 - 2016-11-04

Added

  • Add Path plugin
  • Base URI plugin that combines Add Host and Add Path plugins

1.3.0 - 2016-10-16

Changed

  • Fix Emulated Trait to use Http based promise which respect the HttpAsyncClient interface
  • Require Httplug 1.1 where we use HTTP specific promises.
  • RedirectPlugin: use the full URL instead of the URI to properly keep track of redirects
  • Add AddPathPlugin for API URLs with base path
  • Add BaseUriPlugin that combines AddHostPlugin and AddPathPlugin

1.2.1 - 2016-07-26

Changed

  • AddHostPlugin also sets the port if specified

1.2.0 - 2016-07-14

Added

  • Suggest separate plugins in composer.json
  • Introduced debug_plugins option for PluginClient

1.1.0 - 2016-05-04

Added

  • Add a flexible http client providing both contract, and only emulating what's necessary
  • HTTP Client Router: route requests to underlying clients
  • Plugin client and core plugins moved here from php-http/plugins

Deprecated

  • Extending client classes, they will be made final in version 2.0

1.0.0 - 2016-01-27

Changed

  • Remove useless interface in BatchException

0.2.0 - 2016-01-12

Changed

  • Updated package files
  • Updated HTTPlug to RC1

0.1.1 - 2015-12-26

Added

  • Emulated clients

0.1.0 - 2015-12-25

Added

  • Batch client from utils
  • Methods client from utils
  • Emulators and decorators from client-tools