1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
# Changelog
## 1.6.0 (2023-07-28)
* Feature: Improve Promise v3 support and use template types.
(#41 and #42 by @clue)
* Feature: Improve PHP 8.2+ support by refactoring queuing logic.
(#43 by @clue)
* Improve test suite, ensure 100% code coverage and report failed assertions.
(#37 and #39 by @clue)
## 1.5.0 (2022-09-30)
* Feature: Forward compatibility with upcoming Promise v3.
(#33 by @clue)
* Update to use new reactphp/async package instead of clue/reactphp-block.
(#34 by @SimonFrings)
## 1.4.0 (2021-11-15)
* Feature: Support PHP 8.1, avoid deprecation warning concerning `\Countable::count(...)` return type.
(#32 by @bartvanhoutte)
* Improve documentation and simplify examples by updating to new [default loop](https://reactphp.org/event-loop/#loop).
(#27 and #29 by @PaulRotmann and #30 by @SimonFrings)
* Improve test suite to use GitHub actions for continuous integration (CI).
(#28 by @SimonFrings)
## 1.3.0 (2020-10-16)
* Enhanced documentation for ReactPHP's new HTTP client and
add support / sponsorship info.
(#21 and #24 by @clue)
* Improve test suite and add `.gitattributes` to exclude dev files from exports.
Prepare PHP 8 support, update to PHPUnit 9 and simplify test matrix.
(#22, #23 and #25 by @SimonFrings)
## 1.2.0 (2019-12-05)
* Feature: Add `any()` helper to await first successful fulfillment of operations.
(#18 by @clue)
```php
// new: limit concurrency while awaiting any operation to complete
$promise = Queue::any(3, $urls, function ($url) use ($browser) {
return $browser->get($url);
});
$promise->then(function (ResponseInterface $response) {
echo 'First successful: ' . $response->getStatusCode() . PHP_EOL;
});
```
* Minor documentation improvements (fix syntax issues and typos) and update examples.
(#9 and #11 by @clue and #15 by @holtkamp)
* Improve test suite to test against PHP 7.4 and PHP 7.3, drop legacy HHVM support,
update distro on Travis and update project homepage.
(#10 and #19 by @clue)
## 1.1.0 (2018-04-30)
* Feature: Add `all()` helper to await successful fulfillment of all operations
(#8 by @clue)
```php
// new: limit concurrency while awaiting all operations to complete
$promise = Queue::all(3, $urls, function ($url) use ($browser) {
return $browser->get($url);
});
$promise->then(function (array $responses) {
echo 'All ' . count($responses) . ' successful!' . PHP_EOL;
});
```
* Fix: Implement cancellation forwarding for previously queued operations
(#7 by @clue)
## 1.0.0 (2018-02-26)
* First stable release, following SemVer
I'd like to thank [Bergfreunde GmbH](https://www.bergfreunde.de/), a German
online retailer for Outdoor Gear & Clothing, for sponsoring the first release! 🎉
Thanks to sponsors like this, who understand the importance of open source
development, I can justify spending time and focus on open source development
instead of traditional paid work.
> Did you know that I offer custom development services and issuing invoices for
sponsorships of releases and for contributions? Contact me (@clue) for details.
|