@@ -10,6 +10,90 @@ The format is based on [Keep a Changelog][], and this project adheres to [Semant
10
10
[ Keep a Changelog ] : https://keepachangelog.com/en/1.1.0/
11
11
[ Semantic Versioning ] : https://semver.org/spec/v2.0.0.html
12
12
13
+ ## [ v0.99.76] - 2025-02-26
14
+
15
+ ### Added
16
+
17
+ #### ` Http `
18
+
19
+ - Add and implement exception interfaces:
20
+ - ` HttpException `
21
+ - ` InvalidHeaderException `
22
+ - ` StreamException `
23
+ - ` StreamEncapsulationException `
24
+
25
+ #### ` Sli `
26
+
27
+ - Add ` --constructor ` option to "generate builder" command
28
+
29
+ ### Changed
30
+
31
+ - Rename methods across all ` Http ` and ` Curler ` classes:
32
+ - ` getFirstHeaderLine() ` -> ` getFirstHeaderValue() `
33
+ - ` getLastHeaderLine() ` -> ` getLastHeaderValue() `
34
+ - ` getOneHeaderLine() ` -> ` getOnlyHeaderValue() `
35
+
36
+ #### ` Collection `
37
+
38
+ - Extend ` Traversable ` instead of ` IteratorAggregate ` from ` CollectionInterface ` so inheritors can implement ` Iterator `
39
+ - Allow ` CollectionInterface::map() ` to return a collection of items of a different type
40
+ - Return ` static<TKey|int,TValue> ` from ` CollectionInterface ` methods that add items without explicit keys
41
+
42
+ #### ` Core `
43
+
44
+ - Add ` $preserveKeys ` parameter to ` Arrayable::toArray() `
45
+
46
+ #### ` Curler `
47
+
48
+ - In ` Curler ` (and ` CurlerInterface ` , if applicable):
49
+ - Simplify ` __construct() ` and include it in the API
50
+ - Don't replace user agent headers by default
51
+ - Add ` hasUserAgent() ` method
52
+ - In ` getPublicHttpHeaders() ` , always treat access token headers as sensitive
53
+ - Only call ` Console::debug() ` if the global console service is loaded
54
+ - Rename methods:
55
+ - ` getCacheStore() ` -> ` getCache() `
56
+ - ` withCacheStore() ` -> ` withCache() `
57
+ - Rename event-related abstractions for consistency with exceptions:
58
+ - ` CurlEventInterface ` -> ` CurlEvent `
59
+ - ` CurlRequestEventInterface ` -> ` CurlRequestEvent `
60
+ - ` CurlResponseEventInterface ` -> ` CurlResponseEvent `
61
+ - ` CurlerEventInterface ` -> ` CurlerEvent `
62
+ - ` ResponseCacheHitEventInterface ` -> ` ResponseCacheHitEvent `
63
+ - ` AbstractCurlerEvent ` -> ` CurlerEvent `
64
+ - ` AbstractCurlEvent ` -> ` CurlEvent `
65
+
66
+ #### ` Iterator `
67
+
68
+ - Rename ` FluentIteratorInterface::nextWithValue() ` to ` getFirstWith() `
69
+ - In ` FluentIteratorTrait::getFirstWith() ` :
70
+ - Check properties exist before accessing them
71
+ - Do not move to the next element after finding a match
72
+ - Rename ` RecursiveFilesystemIterator ` to ` FileIterator ` and refactor
73
+ - ** Return files and directories by default** (previous behaviour was to return files, not directories)
74
+ - Remove optional parameters and adopt one callback signature
75
+ - Rename methods:
76
+ - ** ` noDirs() ` -> ` files() ` ** (the previous ` files() ` method has been removed)
77
+ - ` noFiles() ` -> ` directories() `
78
+ - ` matchRelative() ` -> ` relative() `
79
+ - ` doNotMatchRelative() ` -> ` notRelative() `
80
+
81
+ #### ` Utility `
82
+
83
+ - In ` Get::array() ` and ` Get::list() ` , prefer ` iterator_to_array() ` when value is both ` Traversable ` and ` Arrayable `
84
+ - In ` Get::list() ` and ` Get::count() ` , use ` $preserveKeys = false ` with ` Arrayable ` values instead of ` array_values() `
85
+
86
+ ### Removed
87
+
88
+ #### ` Iterator `
89
+
90
+ - ** Remove ` FileIterator ` methods ` dirs() ` and ` files() ` **
91
+ - Remove redundant ` FluentIteratorInterface::forEach() ` method
92
+ - Remove unused ` MutableIterator ` interface
93
+ - Remove unused ` MutableGraphIterator ` class
94
+ - Remove unused ` RecursiveMutableGraphIterator ` class
95
+ - Remove unnecessary ` RecursiveGraphIteratorTrait `
96
+
13
97
## [ v0.99.75] - 2025-02-22
14
98
15
99
Achieved with the changes detailed below:
@@ -4649,6 +4733,7 @@ This is the final release of `lkrms/util`. It is moving to [Salient](https://git
4649
4733
4650
4734
- Allow `CliOption` value names to contain arbitrary characters
4651
4735
4736
+ [v0.99.76]: https://github.com/salient-labs/toolkit/compare/v0.99.75...v0.99.76
4652
4737
[v0.99.75]: https://github.com/salient-labs/toolkit/compare/v0.99.74...v0.99.75
4653
4738
[v0.99.74]: https://github.com/salient-labs/toolkit/compare/v0.99.73...v0.99.74
4654
4739
[v0.99.73]: https://github.com/salient-labs/toolkit/compare/v0.99.72...v0.99.73
0 commit comments