PackageTrack
Sign in Get early access

php-http/client-common

Common HTTP Client implementations and tools for HTTPlug

2.7.3 245M downloads/mo #301 most downloaded on Packagist php-http/client-common

What this package is like to depend on

Last release 8 months ago

29 Nov 2025

Ships fairly regularly

a new release about every 8 months

Nearly every release is documented

notes for 35 of 35 stable releases

Nothing withdrawn

no release was ever pulled

11 years old

36 releases · first in 2015

1 release in the last 12 months

see the full history below

Release timeline

36 releases · Dec 2015 to Nov 2025
2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 36
  1. 2.7.3 29 Nov 2025
    Release notes
    • Allow installation with Symfony 8.
    • Run tests with PHP 8.5.
    Open source →
    Release notes
    • Allow installation with Symfony 8.
    • Run tests with PHP 8.5.
    Open source →
    Release notes

    2.7.3 Latest

    Latest

    Compare

    Choose a tag to compare

    Open source →
  2. 2.7.2 24 Sep 2024
    Release notes
    • Updated code to not raise warnings for nullable parameters in PHP 8.4.
    • Cleaned up PHPDoc comments.
    Open source →
    Release notes
    • Updated code to not raise warnings for nullable parameters in PHP 8.4.
    • Cleaned up PHPDoc comments.
    Open source →
    Release notes

    2.7.2

    Compare

    Choose a tag to compare

    Open source →
  3. 2.7.1 30 Nov 2023
    Release notes
    • Allow installation with Symfony 7.
    Open source →
    Release notes
    • Allow installation with Symfony 7.
    Open source →
    Release notes

    2.7.1

    Compare

    Choose a tag to compare

    Open source →
  4. 2.7.0 17 May 2023
    Release notes
    • Dropped php-http/message-factory from composer requirements as it is abandoned and this package does not actually use it.
    Open source →
    Release notes
    • Dropped php-http/message-factory from composer requirements as it is abandoned and this package does not actually use it.
    Open source →
    Release notes

    2.7.0

    Compare

    Choose a tag to compare

    Open source →
  5. 2.6.1 14 Apr 2023
    Release notes
    • Allow installation with http-message (PSR-7) version 2 in addition to version 1.
    • Support for PHP 8.2
    Open source →
    Release notes
    • Allow installation with http-message (PSR-7) version 2 in addition to version 1.
    • Support for PHP 8.2
    Open source →
    Release notes

    2.6.1

    Compare

    Choose a tag to compare

    Open source →
  6. 2.6.0 29 Sep 2022
    Release notes
    • [RedirectPlugin] Redirection of non GET/HEAD requests with a body now removes the body on follow-up requests, if the
      HTTP method changes. To do this, the plugin needs to find a PSR-7 stream implementation. If none is found, you can
      explicitly pass a PSR-17 StreamFactoryInterface in the stream_factory option.
      To keep sending the body in all cases, set the stream_factory option to null explicitly.
    Open source →
    Release notes
    • [RedirectPlugin] Redirection of non GET/HEAD requests with a body now removes the body on follow-up requests, if the HTTP method changes. To do this, the plugin needs to find a PSR-7 stream implementation. If none is found, you can explicitly pass a PSR-17 StreamFactoryInterface in the stream_factory option. To keep sending the body in all cases, set the stream_factory option to null explicitly.
    Open source →
    Release notes

    2.6.0

    Compare

    Choose a tag to compare

    Open source →
  7. 2.5.1 29 Sep 2022
    Release notes
    • [RedirectPlugin] Fixed handling of redirection to different domain with default port
    • [RedirectPlugin] Fixed false positive circular detection in RedirectPlugin in cases when target location does not contain path
    Open source →
    Release notes

    Fixed

    • [RedirectPlugin] Fixed handling of redirection to different domain with default port
    • [RedirectPlugin] Fixed false positive circular detection in RedirectPlugin in cases when target location does not contain path
    Open source →
    Release notes

    2.5.1

    Compare

    Choose a tag to compare

    Open source →
  8. 2.5.0 26 Nov 2021
    Release notes

    Added

    • Support for Symfony 6
    • Support for PHP 8.1

    Changed

    • Dropped support for Symfony 2 and 3 - please keep using version 2.4.0 of this library if you can't update Symfony.
    Open source →
    Release notes

    Added

    • Support for Symfony 6
    • Support for PHP 8.1

    Changed

    • Dropped support for Symfony 2 and 3 - please keep using version 2.4.0 of this library if you can't update Symfony.
    Open source →
    Release notes

    2.5.0

    Compare

    Choose a tag to compare

    Open source →
  9. 2.4.0 05 Jul 2021
    Release notes

    Added

    • strict option to RedirectPlugin to allow preserving the request method on redirections with status 300, 301 and 302.
    Open source →
    Release notes

    Added

    • strict option to RedirectPlugin to allow preserving the request method on redirections with status 300, 301 and 302.
    Open source →
    Release notes

    2.4.0

    Compare

    Choose a tag to compare

    Open source →
  10. 2.3.0 21 Jul 2020
    Release notes

    Fixed

    • HttpMethodsClient with PSR RequestFactory
    • Bug in the cookie plugin with empty cookies
    • Bug when parsing null-valued date headers

    Changed

    • Deprecation when constructing a HttpMethodsClient with PSR RequestFactory but without a StreamFactory
    Open source →
  11. 2.2.1 13 Jul 2020
    Release notes

    Fixed

    • Support for PHP 8
    • Plugin callable phpdoc
    Open source →
  12. 2.2.0 02 Jul 2020
    Release notes

    Added

    • Plugin client builder for making a PluginClient
    • Support for the PSR-17 request factory in HttpMethodsClient

    Changed

    • Restored support for symfony/options-resolver: ^2.6
    • Consistent implementation of union type checking

    Fixed

    • Memory leak when using the PluginClient with plugins
    Open source →
  13. 2.1.0 18 Nov 2019
    Release notes

    Added

    • Support Symfony 5
    Open source →
  14. 2.0.0 03 Feb 2019
    Release notes

    Changed

    • HttpClientRouter now throws a HttpClientNoMatchException instead of a RequestException if it can not find a client for the request.
    • RetryPlugin will only retry exceptions when there is no response, or a response in the 5xx HTTP code range.
    • RetryPlugin also retries when no exception is thrown if the responses has HTTP code in the 5xx range. The callbacks for exception handling have been renamed and callbacks for response handling have been added.
    • 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 classes final that are not intended to be extended.
    • Added interfaces for BatchClient, HttpClientRouter and HttpMethodsClient. (These interfaces use the Interface suffix to avoid name collisions.)
    • Added an interface for HttpClientPool and moved the abstract class to the HttpClientPool sub namespace.
    • AddPathPlugin: Do not add the prefix if the URL already has the same prefix.
    • All exceptions in Http\Client\Common\Exception are final.

    Removed

    • Deprecated option debug_plugins has been removed from PluginClient
    • Deprecated options decider and delay have been removed from RetryPlugin, use exception_decider and exception_delay instead.
    Open source →
  15. 2.0.0-RC1 21 Jan 2019 pre-release

    Nothing published for this version

  16. 1.11.0 11 Jul 2021
    Release notes
    • Backported from version 2: AddPathPlugin: Do not add the prefix if the URL already has the same prefix.
    Open source →
    Release notes

    Changed

    • Backported from version 2: AddPathPlugin: Do not add the prefix if the URL already has the same prefix.
    Open source →
    Release notes

    1.11.0

    Compare

    Choose a tag to compare

    Open source →
  17. 1.10.0 18 Nov 2019
    Release notes

    Added

    • Support for Symfony 5
    Open source →
  18. 1.9.1 02 Feb 2019
    Release notes

    Added

    • Updated type hints in doc blocks.
    Open source →
  19. 1.9.0 03 Jan 2019
    Release notes

    Added

    • Support for PSR-18 clients
    • Added traits VersionBridgePlugin and VersionBridgeClient to help plugins and clients to support both 1.x and 2.x version of php-http/client-common and php-http/httplug.

    Changed

    • RetryPlugin: Renamed the configuration options for the exception retry callback from decider to exception_decider and delay to exception_delay. The old names still work but are deprecated.
    Open source →
  20. 1.8.2 14 Dec 2018
    Release notes

    Changed

    • When multiple cookies exist, a single header with all cookies is sent as per RFC 6265 Section 5.4
    • AddPathPlugin will now trim of ending slashes in paths
    Open source →
  21. 1.8.1 09 Oct 2018
    Release notes

    Fixed

    • Reverted change to RetryPlugin so it again waits when retrying to avoid "can only throw objects" error.
    Open source →
  22. 1.8.0 22 Jun 2018
    Release notes

    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
    Open source →
  23. 1.7.0 30 Nov 2017
    Release notes

    Added

    • Symfony 4 support

    Changed

    • Strict comparison in DecoderPlugin
    Open source →
  24. v1.6.0 16 Oct 2017
    Release notes

    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.
    Open source →
  25. 1.5.0 30 Mar 2017
    Release notes

    Added

    • QueryDefaultsPlugin to add default query parameters.
    Open source →
  26. v1.4.2 18 Mar 2017
    Release notes

    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
    Open source →
  27. v1.4.1 20 Feb 2017
    Release notes

    Fixed

    • Cast return value of StreamInterface::getSize to string in ContentLengthPlugin
    Open source →
  28. v1.4.0 04 Nov 2016
    Release notes

    Added

    • Add Path plugin
    • Base URI plugin that combines Add Host and Add Path plugins
    Open source →
  29. 1.3.0 16 Oct 2016
    Release notes

    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
    Open source →
  30. v1.2.1 26 Jul 2016
    Release notes

    Changed

    • AddHostPlugin also sets the port if specified
    Open source →
  31. v1.2.0 14 Jul 2016
    Release notes

    Added

    • Suggest separate plugins in composer.json
    • Introduced debug_plugins option for PluginClient
    Open source →
  32. v1.1.0 04 May 2016
    Release notes

    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
    Open source →
  33. v1.0.0 27 Jan 2016
    Release notes

    Changed

    • Remove useless interface in BatchException
    Open source →
  34. v0.2.0 12 Jan 2016
    Release notes

    Changed

    • Updated package files
    • Updated HTTPlug to RC1
    Open source →
  35. v0.1.1 26 Dec 2015
    Release notes

    Added

    • Emulated clients
    Open source →
  36. v0.1.0 25 Dec 2015
    Release notes

    Added

    • Batch client from utils
    • Methods client from utils
    • Emulators and decorators from client-tools
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive