Skip to content

Commit a8ece0e

Browse files
committed
Release v0.99.76
1 parent 6325be7 commit a8ece0e

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed

CHANGELOG.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,90 @@ The format is based on [Keep a Changelog][], and this project adheres to [Semant
1010
[Keep a Changelog]: https://keepachangelog.com/en/1.1.0/
1111
[Semantic Versioning]: https://semver.org/spec/v2.0.0.html
1212

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+
1397
## [v0.99.75] - 2025-02-22
1498

1599
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
46494733

46504734
- Allow `CliOption` value names to contain arbitrary characters
46514735

4736+
[v0.99.76]: https://github.com/salient-labs/toolkit/compare/v0.99.75...v0.99.76
46524737
[v0.99.75]: https://github.com/salient-labs/toolkit/compare/v0.99.74...v0.99.75
46534738
[v0.99.74]: https://github.com/salient-labs/toolkit/compare/v0.99.73...v0.99.74
46544739
[v0.99.73]: https://github.com/salient-labs/toolkit/compare/v0.99.72...v0.99.73

0 commit comments

Comments
 (0)