1# CHANGELOG 2 3## 1.5.1 - 2021-10-22 4 5### Fixed 6 7- Revert "Call handler when waiting on fulfilled/rejected Promise" 8- Fix pool memory leak when empty array of promises provided 9 10## 1.5.0 - 2021-10-07 11 12### Changed 13 14- Call handler when waiting on fulfilled/rejected Promise 15 16### Fixed 17 18- Fix manually settle promises generated with Utils::task 19 20## 1.4.1 - 2021-02-18 21 22### Fixed 23 24- Fixed `each_limit` skipping promises and failing 25 26## 1.4.0 - 2020-09-30 27 28### Added 29 30- Support for PHP 8 31- Optional `$recursive` flag to `all` 32- Replaced functions by static methods 33 34### Fixed 35 36- Fix empty `each` processing 37- Fix promise handling for Iterators of non-unique keys 38- Fixed `method_exists` crashes on PHP 8 39- Memory leak on exceptions 40 41 42## 1.3.1 - 2016-12-20 43 44### Fixed 45 46- `wait()` foreign promise compatibility 47 48 49## 1.3.0 - 2016-11-18 50 51### Added 52 53- Adds support for custom task queues. 54 55### Fixed 56 57- Fixed coroutine promise memory leak. 58 59 60## 1.2.0 - 2016-05-18 61 62### Changed 63 64- Update to now catch `\Throwable` on PHP 7+ 65 66 67## 1.1.0 - 2016-03-07 68 69### Changed 70 71- Update EachPromise to prevent recurring on a iterator when advancing, as this 72 could trigger fatal generator errors. 73- Update Promise to allow recursive waiting without unwrapping exceptions. 74 75 76## 1.0.3 - 2015-10-15 77 78### Changed 79 80- Update EachPromise to immediately resolve when the underlying promise iterator 81 is empty. Previously, such a promise would throw an exception when its `wait` 82 function was called. 83 84 85## 1.0.2 - 2015-05-15 86 87### Changed 88 89- Conditionally require functions.php. 90 91 92## 1.0.1 - 2015-06-24 93 94### Changed 95 96- Updating EachPromise to call next on the underlying promise iterator as late 97 as possible to ensure that generators that generate new requests based on 98 callbacks are not iterated until after callbacks are invoked. 99 100 101## 1.0.0 - 2015-05-12 102 103- Initial release 104