Skip to content

Commit 1c2fa49

Browse files
committed
Release v0.99.64
1 parent a52deab commit 1c2fa49

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

CHANGELOG.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,68 @@ 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.64] - 2024-11-29
14+
15+
### Changed
16+
17+
#### `Collection`
18+
19+
- Move `ListInterface` methods to `CollectionInterface`
20+
- Use PHPStan conditional parameter types to vary `forEach()`, `map()`, `filter()` and `find()` callback signatures by `$mode`
21+
- Return a modified instance from collection methods that previously operated on a single instance:
22+
- `set()`
23+
- `unset()`
24+
- `add()`
25+
- `merge()`
26+
- `pop()`
27+
- `shift()`
28+
- Adopt `iterable` as return type for protected `getItems()` and `filterItems()` methods
29+
- In list collections, silently replace invalid keys instead of throwing an exception
30+
- Replace `AbstractTypedCollection` and `Collection` with non-final `Collection`
31+
- Replace `AbstractTypedList` and `ListCollection` with non-final `ListCollection`
32+
- Rename:
33+
- `ListTrait` -> `ListCollectionTrait`
34+
- `ReadableCollectionTrait` -> `ReadOnlyCollectionTrait`
35+
- Rename `ImmutableArrayAccessTrait` to `ReadOnlyArrayAccessTrait` and move it back to the `Collection` namespace
36+
37+
#### `Http`
38+
39+
- Rename `HttpHeadersInterface::add()` to `append()` to resolve conflict with `CollectionInterface::add()`
40+
- In `HttpHeaders`:
41+
- Implement methods added to `CollectionInterface`
42+
- Replace `generateItems()` with `getItems()` now that the `ReadOnlyCollectionTrait` method can return `iterable`
43+
- Implement `CollectionInterface::map()`
44+
45+
#### `Utility`
46+
47+
- Update `Debug::getCaller()` to work with PHP 8.4's backtrace changes
48+
49+
### Removed
50+
51+
#### `Collection`
52+
53+
- Remove `ListInterface`
54+
- Remove "immutable" collections and traits:
55+
- `ImmutableCollection`
56+
- `ImmutableCollectionTrait`
57+
- `ImmutableListCollection`
58+
- `ImmutableListTrait`
59+
- Remove redundant collection methods `empty()` and `copy()`
60+
61+
#### `Core`
62+
63+
- Remove `ImmutableArrayAccessTrait` (moved to `Collection` component as `ReadOnlyArrayAccessTrait`)
64+
65+
### Fixed
66+
67+
#### `Collection`
68+
69+
- Fix issue where numeric keys are reindexed when `shift()` is called on a collection
70+
71+
#### `Core`
72+
73+
- Remove references to `E_STRICT` constant (deprecated in PHP 8.4)
74+
1375
## [v0.99.63] - 2024-11-16
1476

1577
### Changed
@@ -4162,6 +4224,7 @@ This is the final release of `lkrms/util`. It is moving to [Salient](https://git
41624224

41634225
- Allow `CliOption` value names to contain arbitrary characters
41644226

4227+
[v0.99.64]: https://github.com/salient-labs/toolkit/compare/v0.99.63...v0.99.64
41654228
[v0.99.63]: https://github.com/salient-labs/toolkit/compare/v0.99.62...v0.99.63
41664229
[v0.99.62]: https://github.com/salient-labs/toolkit/compare/v0.99.61...v0.99.62
41674230
[v0.99.61]: https://github.com/salient-labs/toolkit/compare/v0.99.60...v0.99.61

0 commit comments

Comments
 (0)