Skip to content

Commit b3bbb16

Browse files
committed
Release v0.21.44
1 parent 1015a33 commit b3bbb16

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed

CHANGELOG.md

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

15+
## [v0.21.44] - 2024-02-20
16+
17+
### Added
18+
19+
- Add `ITreeable::countDescendants()` and implement in `HasParent`
20+
21+
## [v0.21.43] - 2024-02-20
22+
23+
### Added
24+
25+
- Add `HasFacade::updateFacade()` to improve support for facades with immutable underlying instances
26+
27+
### Changed
28+
29+
- Make `Get::binaryHash()` and `Get::hash()` parameter `$value` non-variadic
30+
- Move `Test::firstExistingDirectoryIsWritable()` to `File::creatable()` and accept file names, not just directories
31+
- Allow filesystem-related assertions to throw exceptions other than `FilesystemErrorException`
32+
- Improve `Pcre` error reporting
33+
- Continue migration to `Salient` namespace
34+
- Move utility classes to `Salient\Core\Utility`
35+
- Move `EventHandler` and related classes to `Salient\Core`
36+
- Move enumeration- and dictionary-related interfaces and classes to `Salient\Core` and rename:
37+
- `IEnumeration` -> `EnumerationInterface`
38+
- `IConvertibleEnumeration` -> `ConvertibleEnumerationInterface`
39+
- `IDictionary` -> `DictionaryInterface`
40+
- `Catalog` -> `AbstractCatalog`
41+
- `Enumeration` -> `AbstractEnumeration`
42+
- `ConvertibleEnumeration` -> `AbstractConvertibleEnumeration`
43+
- `ReflectiveEnumeration` -> `AbstractReflectiveEnumeration`
44+
- `Dictionary` -> `AbstractDictionary`
45+
- Move `RegularExpression` and `CharacterSequence` to `Salient\Core\Catalog` and rename:
46+
- `RegularExpression` -> `Regex`
47+
- `CharacterSequence` -> `Char`
48+
- Move exceptions to `Salient\Core` and rename:
49+
- `Exception` -> `AbstractException`
50+
- `MultipleErrorException` -> `AbstractMultipleErrorException`
51+
- `IncompatibleRuntimeEnvironmentException` -> `InvalidRuntimeConfigurationException`
52+
- `PipelineResultRejectedException` -> `PipelineFilterException`
53+
- `InvalidDotenvSyntaxException` -> `InvalidDotEnvSyntaxException`
54+
- Move pipeline- and immutable-related interfaces, classes and traits to `Salient\Core` and rename:
55+
- `IFluentInterface` -> `Chainable`
56+
- `FluentInterface` -> `HasChainableMethods` (class -> trait)
57+
- `Immutable` -> `HasImmutableProperties`
58+
- `IImmutable` -> `Immutable`
59+
- `IPipeline` -> `PipelineInterface`
60+
- `IPipe` -> `PipeInterface`
61+
- Refactor pipelines
62+
- Require closures where callables were previously sufficient
63+
- Rename `throughCallback()` to `throughClosure()`
64+
- Split `PipelineInterface` into multiple interfaces to surface different methods after `send()` or `stream()` are called, and to prevent useless early calls to `withConformity()`
65+
- Add `fromNames()` and `toNames()` to `ConvertibleEnumerationInterface` and implement in `AbstractConvertibleEnumeration` and `AbstractReflectiveEnumeration`
66+
- Move `Convert::toNormal()` to `Str::normalise()`
67+
- Move `Convert::queryToData()` to `Get::filter()` and refactor to take advantage of `parse_str()`
68+
- Move `Convert::dataToQuery()` to `Get::query()` and add `QueryFlag` for more precise control of serialization
69+
- Move `Convert::uuidToHex()` to `Get::uuid()` and allow the given UUID to be in hexadecimal form already
70+
- Add `Compute::binaryUuid()` and remove `$binary` parameter from `Compute::uuid()`
71+
- Move `Convert::unwrap()` to `Str::unwrap()`
72+
- Move `Convert::toShellArg()` and `Convert::toCmdArg()` to `Sys` as private methods `escapeShellArg()` and `escapeCmdArg()`
73+
- Move `Compute` methods `binaryUuid()`, `uuid()`, `randomText()`, `binaryHash()`, `hash()` to `Get`
74+
- Move `Compute` methods `textDistance()` and `textSimilarity()` to `Str::distance()` and `Str::similarity()` respectively
75+
- Move `ngramSimilarity()`, `ngramIntersection()`, `ngrams()` from `Compute` to `Str`
76+
- Rename `ResolvesServiceLists` trait to `HasUnderlyingService`
77+
- Rename `SortTypeFlag` to `SortFlag`
78+
79+
### Removed
80+
81+
- Remove `PipelineFilterException` (previously `PipelineResultRejectedException`) because `unless()` and `send()` cannot be used together
82+
- Remove empty `Compute` class
83+
- Remove `Convert` class, including unused methods `toStrings()` and `objectToArray()`
84+
- Remove unused `IsConvertibleEnumeration` trait
85+
86+
### Fixed
87+
88+
- Fix `HasFacade` issue where instances are not always reused
89+
- Fix issue where `AbstractFacade::unload()` does not unload service lists
90+
1591
## [v0.21.42] - 2024-02-15
1692

1793
### Added
@@ -1722,6 +1798,8 @@ The format is based on [Keep a Changelog][], and this project adheres to
17221798

17231799
- Allow `CliOption` value names to contain arbitrary characters
17241800

1801+
[v0.21.44]: https://github.com/lkrms/php-util/compare/v0.21.43...v0.21.44
1802+
[v0.21.43]: https://github.com/lkrms/php-util/compare/v0.21.42...v0.21.43
17251803
[v0.21.42]: https://github.com/lkrms/php-util/compare/v0.21.41...v0.21.42
17261804
[v0.21.41]: https://github.com/lkrms/php-util/compare/v0.21.40...v0.21.41
17271805
[v0.21.40]: https://github.com/lkrms/php-util/compare/v0.21.39...v0.21.40

0 commit comments

Comments
 (0)