#232·promises

Replace aggregation and waiting methods on Utils with focused APIs

Author: GrahamCampbellCreated Jul 16, 2026Updated Aug 5, 2026
Labelsenhancement

Utils currently combines global queue access, synchronous waiting, and promise aggregation. We will separate the waiting and aggregation APIs while leaving the global queue alone.

  • Replace Utils::all(), Utils::some(), Utils::any(), and Utils::settle() with the same methods on Aggregate.
  • Replace Utils::inspect(), Utils::inspectAll(), and Utils::unwrap() with the same methods on Await.
  • Keep Utils::queue() and Utils::task() on Utils. Moving the global queue is unnecessary and risks changing queue identity or scheduling behavior.

The old aggregation and waiting methods will become exact PHPDoc-deprecated delegates in 3.1, without runtime warnings, and will be removed in 4.0. Ordering, concurrency, recursion, rejection, cancellation, inspection, and global queue behavior will remain unchanged.