PackageTrack
Sign in Get early access

guzzlehttp/promises

Guzzle promises library

3.0.1 1.1B downloads/mo #12 most downloaded on composer guzzle/promises

What this package is like to depend on

Last release 18 days ago

05 Aug 2026

Release timing varies

gaps range from 2 weeks to 9 months

Nearly every release is documented

notes for 30 of 33 stable releases

Nothing withdrawn

no release was ever pulled

11 years old

33 releases · first in 2015

8 releases in the last 12 months

see the full history below

Release timeline

33 releases · Apr 2015 to Aug 2026
2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 33
  1. 3.0.1 05 Aug 2026
    Release notes

    Changed

    • Changed the default TReason of FulfilledPromise and Create::promiseFor() to never
    • Changed the default TValue of RejectedPromise and Create::rejectionFor() to never

    Fixed

    • Fixed EachPromise abandoning its aggregate when the pending window drains unsettled
    • Fixed EachPromise admitting new work after its aggregate has settled
    Open source →
    Release notes

    Changed

    • Changed the default TReason of FulfilledPromise and Create::promiseFor() to never
    • Changed the default TValue of RejectedPromise and Create::rejectionFor() to never

    Fixed

    • Fixed EachPromise abandoning its aggregate when the pending window drains unsettled
    • Fixed EachPromise admitting new work after its aggregate has settled
    Open source →
  2. 3.0.0 20 Jul 2026
    Release notes

    Added

    • Added concurrency config support to Utils::all() and Each::of()
    • Added generic PHPDoc annotations to promise APIs and collection callbacks
    • Added recursive and concurrency config support to Utils::settle()
    • Allowed promises to be resolved without passing a value

    Changed

    • Changed Utils::inspect() to return actual rejection reasons
    • Changed Utils::inspect() to prefer the settled state over late wait function exceptions
    • Changed late rejection callbacks to follow rejected promises
    • Reject native PHP serialization of in-flight runtime objects
    • Made static helper classes non-instantiable
    • Require iterable inputs for promise collection helpers and EachPromise
    • Iterate IteratorAggregate inputs to collection helpers instead of treating them as a single value
    • Improved recursive Utils::all() handling of dynamically-added settled values and raw values

    Removed

    • Dropped support for PHP 7.2 and 7.3
    Open source →
    Release notes

    Added

    • Added concurrency config support to Utils::all() and Each::of()
    • Added generic PHPDoc annotations to promise APIs and collection callbacks
    • Added recursive and concurrency config support to Utils::settle()
    • Allowed promises to be resolved without passing a value

    Changed

    • Changed Utils::inspect() to return actual rejection reasons
    • Changed Utils::inspect() to prefer the settled state over late wait function exceptions
    • Changed late rejection callbacks to follow rejected promises
    • Reject native PHP serialization of in-flight runtime objects
    • Made static helper classes non-instantiable
    • Require iterable inputs for promise collection helpers and EachPromise
    • Iterate IteratorAggregate inputs to collection helpers instead of treating them as a single value
    • Improved recursive Utils::all() handling of dynamically-added settled values and raw values

    Removed

    • Dropped support for PHP 7.2 and 7.3
    Open source →
  3. 2.5.2 05 Aug 2026
    Release notes

    Fixed

    • Fixed EachPromise abandoning its aggregate when the pending window drains unsettled
    • Fixed EachPromise admitting new work after its aggregate has settled
    Open source →
  4. 2.5.1 08 Jul 2026
    Release notes

    Fixed

    • Fixed recursive Utils::all() rejecting generator inputs
    Open source →
    Release notes

    Fixed

    • Fixed recursive Utils::all() rejecting generator inputs
    Open source →
  5. 2.5.0 02 Jun 2026
    Release notes

    Deprecated

    • Deprecated passing non-iterable inputs to promise collection helpers and EachPromise
    Open source →
    Release notes

    Deprecated

    • Deprecated passing non-iterable inputs to promise collection helpers and EachPromise
    Open source →
  6. 2.4.1 20 May 2026
    Release notes

    Fixed

    • Fixed cancelling settled coroutines when no current promise remains
    Open source →
    Release notes

    Fixed

    • Fixed cancelling settled coroutines when no current promise remains
    Open source →
  7. 2.4.0 20 May 2026
    Release notes

    Changed

    • Empty EachPromise instances now resolve when the task queue runs without wait()
    Open source →
    Release notes

    Changed

    • Empty EachPromise instances now resolve when the task queue runs without wait()
    Open source →
  8. 2.3.1 19 May 2026
    Release notes

    Fixed

    • Fixed Utils::inspect() returning the internal reason array instead of the AggregateException
    Open source →
    Release notes

    Fixed

    • Fixed Utils::inspect() returning the internal reason array instead of the AggregateException
    Open source →
  9. 2.3.0 22 Aug 2025
    Release notes

    Added

    • PHP 8.5 support
    Open source →
    Release notes

    Added

    • PHP 8.5 support
    Open source →
  10. 2.2.0 27 Mar 2025
    Release notes

    Fixed

    • Revert "Allow an empty EachPromise to be resolved by running the queue"
    Open source →
    Release notes

    Fixed

    • Revert "Allow an empty EachPromise to be resolved by running the queue"
    Open source →
  11. 2.1.0 27 Mar 2025
    Release notes

    Added

    • Allow an empty EachPromise to be resolved by running the queue
    Open source →
  12. 2.0.4 17 Oct 2024
    Release notes

    Fixed

    • Once settled, don't allow further rejection of additional promises
    Open source →
  13. 2.0.3 18 Jul 2024
    Release notes

    Changed

    • PHP 8.4 support
    Open source →
  14. 2.0.2 03 Dec 2023
    Release notes

    Changed

    • Replaced call_user_func* with native calls
    Open source →
  15. 2.0.1 03 Aug 2023
    Release notes

    Changed

    • PHP 8.3 support
    Open source →
  16. 2.0.0 21 May 2023
    Release notes

    Added

    • Added PHP 7 type hints

    Changed

    • All previously non-final non-exception classes have been marked as soft-final

    Removed

    • Dropped PHP < 7.2 support
    • All functions in the GuzzleHttp\Promise namespace
    Open source →
  17. 1.5.3 21 May 2023
    Release notes

    Changed

    • Removed remaining usage of deprecated functions
    Open source →
  18. 1.5.2 28 Aug 2022
    Release notes

    Changed

    • Officially support PHP 8.2
    Open source →
  19. 1.5.1 22 Oct 2021
    Release notes

    Fixed

    • Revert "Call handler when waiting on fulfilled/rejected Promise"
    • Fix pool memory leak when empty array of promises provided
    Open source →
  20. 1.5.0 07 Oct 2021
    Release notes

    Changed

    • Call handler when waiting on fulfilled/rejected Promise
    • Officially support PHP 8.1

    Fixed

    • Fix manually settle promises generated with Utils::task
    Open source →
  21. 1.4.1 07 Mar 2021
    Release notes

    Fixed

    • Fixed each_limit skipping promises and failing
    Open source →
  22. 1.4.0 30 Sep 2020
    Release notes

    Added

    • Support for PHP 8
    • Optional $recursive flag to all
    • Replaced functions by static methods

    Fixed

    • Fix empty each processing
    • Fix promise handling for Iterators of non-unique keys
    • Fixed method_exists crashes on PHP 8
    • Memory leak on exceptions
    Open source →
  23. v1.3.1 20 Dec 2016
    Release notes

    Fixed

    • wait() foreign promise compatibility
    Open source →
  24. 1.3.0 18 Nov 2016
    Release notes

    Added

    • Adds support for custom task queues.

    Fixed

    • Fixed coroutine promise memory leak.
    Open source →
  25. 1.2.0 18 May 2016
    Release notes

    Changed

    • Update to now catch \Throwable on PHP 7+
    Open source →
  26. 1.1.0 08 Mar 2016
    Release notes

    Changed

    • Update EachPromise to prevent recurring on a iterator when advancing, as this could trigger fatal generator errors.
    • Update Promise to allow recursive waiting without unwrapping exceptions.
    Open source →
  27. 1.0.3 15 Oct 2015
    Release notes

    Changed

    • Update EachPromise to immediately resolve when the underlying promise iterator is empty. Previously, such a promise would throw an exception when its wait function was called.
    Open source →
  28. 1.0.2 15 Aug 2015
    Release notes

    Changed

    • Conditionally require functions.php.
    Open source →
  29. 1.0.1 24 Jun 2015
    Release notes

    Changed

    • Updating EachPromise to call next on the underlying promise iterator as late as possible to ensure that generators that generate new requests based on callbacks are not iterated until after callbacks are invoked.
    Open source →
  30. 1.0.0 13 May 2015
    Release notes
    • Initial release
    Open source →
  31. 0.1.2 10 May 2015

    Nothing published for this version

  32. 0.1.1 21 Apr 2015

    Nothing published for this version

  33. 0.1.0 18 Apr 2015

    Nothing published for this version

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