caseyamcl/guzzle_retry_middleware
Guzzle v8 retry middleware that handles 429/503 status codes and connection timeouts
v3.0.0
13M downloads/mo
#960 most downloaded on Packagist
caseyamcl/guzzle_retry_middleware
What this package is like to depend on
Last release 21 days ago
02 Aug 2026
Ships fairly regularly
a new release about every 7 months
Most releases are documented
notes for 14 of 22 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
22 releases · first in 2017
1 release in the last 12 months
see the full history below
Release timeline
22 releases · Jul 2017 to Aug 2026Releases
latest 22-
v3.0.002 Aug 2026Release notes
Open source →Added
- Support for Guzzle 8
- PHP 8.5 in GitHub builds
Changed
- Minimum PHP version is now 7.4 (required by Guzzle 8)
- Upgraded
php_codesnifferandphpstanpackages
Removed
- Dropped support for Guzzle 6, Guzzle 7, and PHP 7.2/7.3 (use v2.x)
-
v2.13.011 Jul 2025Release notes
Open source →Changed
- Delay is now set in the options array rather than using
usleep. This prevents blocking when running parallel requests (thanks @teandr).
Release notes
Open source →Changed
- Delay is now set in the options array
rather than using
usleep. This prevents blocking when running parallel requests (thanks @teandr).
- Delay is now set in the options array rather than using
-
v2.12.105 Dec 2024Release notes
Open source →Changed
- Added GitHub build action for PHP 8.4
- Updated GitHub build
action/checkoutandaction/cache
Fixed
- Implicit nullable in
doRetrymethod (for PHP 8.4)
Release notes
Open source →Changed
- Added GitHub build action for PHP 8.4
- Updated GitHub build
action/checkoutandaction/cache
Fixed
- Implicit nullable in
doRetrymethod (for PHP 8.4)
-
v2.12.010 Oct 2024Release notes
Open source →Added
- Support for connection reset by peer (thanks @fredericgboutin-yapla)
-
v2.11.016 Sep 2024Release notes
Open source →Added
- Include RequestInterface as
should_retry_callbackargument when triggered (thanks @Nicolai-).
Removed
.scrutinizer.ymlfile (not used anymore)
Release notes
Open source →Added
- Include RequestInterface as
should_retry_callbackargument when triggered (thanks @Nicolai-).
Removed
.scrutinizer.ymlfile (not used anymore)
- Include RequestInterface as
-
v2.10.019 Jun 2024Release notes
Open source →Added
- Include
on_retry_callbackargument when triggered byonRejected(thanks @ViktorCollin) - PHP 8.3 tests in GitHub builds
Fixed
- Ensure that no requests are sent after the
give_up_after_secsexpires, and fail quickly (thanks @rubentebogt) - Minor code syntax and comment fixes
- Cleaned up this CHANGELOG a bit
Release notes
Open source →Added
- Include
on_retry_callbackargument when triggered byonRejected(thanks @ViktorCollin) - PHP 8.3 tests in GitHub builds
Fixed
- Ensure that no requests are sent after the
give_up_after_secsexpires, and fail quickly (thanks @rubentebogt) - Minor code syntax and comment fixes
- Cleaned up this CHANGELOG a bit
- Include
-
v2.9.030 Aug 2023 -
v2.8.020 Nov 2022Release notes
Open source →Added
- New
should_retry_callbackparameter. - GitHub Action build for PHP 8.2
Changed
- Added some extra parameters to PHPStan checks to make sure they don't fail on automated builds
- Minor
READMEupdates
Release notes
Open source →Added
- New
should_retry_callbackoption. - GitHub Action build for PHP 8.2
Changed
- Added some extra parameters to PHPStan checks to make sure they don't fail on automated builds
- Minor
READMEupdates
- New
-
v2.7.107 Aug 2022Release notes
Open source →Fixed
- Composer 2.2+ security issue with installing
phpstan/extension-installer - Ensure
XDEBUG_MODEenvironment variable is set when running PHPUnit
Release notes
Open source →Fixed
- Composer 2.2+ security issue with installing
phpstan/extension-installer - Ensure
XDEBUG_MODEenvironment variable is set when running PHPUnit
- Composer 2.2+ security issue with installing
-
v2.6.127 Nov 2020Release notes
Open source →Added
- PHPStan in dev dependencies
- Additional build checks (PHPStan and PHP-CS)
- Automatic SVG badge generation for code coverage
Fixed
- Made
GuzzleRetryMiddleware::__constructmethod final $optionsparameter comments PHPStan was complaining aboutshouldRetryHttpResponsevalues assume that the$responseparameter is not null- Ensure date
$dateFormatis never NULL or empty string inderiveTimeoutFromHeader - Additional cleanup based on PHPStan report
Removed
- Build dependency on scrutinizer.org service
-
v2.3.317 May 2020Release notes
Open source →Changed
- Minimum allowed version of PHPUnit is v7.5
- Made version constraint syntax consistent in
composer.json - Updated alias for
dev-masterto2.0-devincomposer.json
Fixed
- Cleaned up comments and updated syntax in tests to be compatible with newer versions of PHPUnit (v8 and v9)
-
v2.3.227 Jan 2020Release notes
Open source →Added
- PHP 7.4 build test in
.travis.yml(thanks @alexeyshockov) - Guzzle v7 support in
composer.json(thanks @alexeyshockov)
- PHP 7.4 build test in
-
v2.3.128 Oct 2019Release notes
Open source →Added
declare(strict_types=1)in unit test file
Changed
- Fixes to README.md
- Code tweaks: Upgrade to PSR-12 compliance
-
v2.704 Dec 2021Nothing published for this version
-
v2.624 Nov 2020Nothing published for this version
-
v2.502 Nov 2020Nothing published for this version
-
v2.419 Aug 2020Nothing published for this version
-
v2.316 Sep 2019Nothing published for this version
-
v2.206 Jun 2018Nothing published for this version
-
v2.002 Oct 2017Nothing published for this version
-
v1.030 Jul 2017Nothing published for this version
-
2.113 Feb 2018Release notes
Open source →Added
- Added
retry_enabledparameter to allow quick disable of retry on specific requests - Added ability to pass in a callable to
default_retry_multiplierin order to implement custom delay logic
- Added