@@ -12,6 +12,89 @@ 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.48] - 2024-02-26
16+
17+ ### Added
18+
19+ - Add ` BadMethodCallException `
20+
21+ ### Changed
22+
23+ - Return ` null ` from ` Cache::getInstanceOf() ` , ` Cache::getArray() ` , ` Cache::getInt() ` , ` Cache::getString() ` instead of throwing an exception when the cached item is of the wrong type
24+ - In ` SqliteStore ` , implement ` Unloadable ` , throw an exception if ` getFilename() ` is called when the database is not open, improve documentation
25+ - In ` ImmutableArrayAccess ` , throw ` BadMethodCallException ` instead of ` LogicException `
26+ - Use ` ImmutableArrayAccess ` in ` ConfigurationManager `
27+ - Make ` HasBuilder::getBuilder() ` protected
28+ - Improve ` ContainerInterface::getAs() ` generics
29+ - Ignore ` @throws ` tags in ` PhpDoc::hasDetail() `
30+ - Move remaining classes, interfaces and traits to ` Salient `
31+ - Rename:
32+ - ` ArrayKeyConformity ` -> ` ListConformity `
33+ - ` Entity ` -> ` AbstractEntity `
34+ - ` HasDateProperties ` -> ` Temporal `
35+ - ` HasDescription ` -> ` Describable `
36+ - ` HasIdentifier ` -> ` Identifiable `
37+ - ` HasJsonSchema ` -> ` JsonSchemaInterface `
38+ - ` HasName ` -> ` Nameable `
39+ - ` HasParentProperty ` -> ` Treeable `
40+ - ` HasProviderContext ` -> ` ProviderContextAwareInterface `
41+ - ` IConstructible ` -> ` Constructible `
42+ - ` IEntity ` -> ` EntityInterface `
43+ - ` IExtensible ` -> ` Extensible `
44+ - ` IProvidable ` -> ` Providable `
45+ - ` IProvider ` -> ` ProviderInterface `
46+ - ` IProviderContext ` -> ` ProviderContextInterface `
47+ - ` IProviderEntity ` -> ` ProvidableEntityInterface `
48+ - ` IRelatable ` -> ` Relatable `
49+ - ` IResolvable ` -> ` Normalisable `
50+ - ` ISerializeRules ` -> ` SerializeRulesInterface `
51+ - ` ITreeable ` -> ` HierarchyInterface `
52+ - ` Provider ` -> ` AbstractProvider `
53+ - ` ReceivesProvider ` -> ` ProviderAwareInterface `
54+ - ` RelationshipType ` -> ` Cardinality `
55+ - ` ReturnsNormaliser ` -> ` NormaliserFactory `
56+ - ` SqliteStore ` -> ` AbstractStore `
57+ - ` TtyControlSequence ` -> ` EscapeSequence `
58+ - ` ImmutableArrayAccess ` -> ` ImmutableArrayAccessTrait `
59+ - ` ICollection ` -> ` CollectionInterface `
60+ - ` TCollection ` -> ` CollectionTrait `
61+ - ` TImmutableCollection ` -> ` ImmutableCollectionTrait `
62+ - ` TypedCollection ` -> ` AbstractTypedCollection `
63+ - ` IList ` -> ` ListInterface `
64+ - ` TList ` -> ` ListTrait `
65+ - ` TImmutableList ` -> ` ImmutableListTrait `
66+ - ` TypedList ` -> ` AbstractTypedList `
67+ - ` TReadableCollection ` -> ` ReadableCollectionTrait `
68+ - ` HasParent ` -> ` TreeableTrait `
69+ - ` IComparable ` -> ` Comparable `
70+ - ` IStoppableEvent ` -> ` StoppableEventInterface `
71+ - ` TConstructible ` -> ` ConstructibleTrait `
72+ - ` TExtensible ` -> ` ExtensibleTrait `
73+ - ` TProvidable ` -> ` ProvidableTrait `
74+ - ` TStoppableEvent ` -> ` StoppableEventTrait `
75+ - Do not extend ` Normalisable ` from ` NormaliserFactory `
76+ - Extend ` HasProvider ` from ` ProviderAwareInterface `
77+ - Merge ` HasChildrenProperty ` into ` Treeable `
78+ - Merge ` HasProviderContext ` into ` ProviderContextAwareInterface `
79+ - Merge ` HasService ` into ` ServiceAwareInterface `
80+ - Rename ` HasProvider::provider() ` to ` getProvider() `
81+ - Rename ` HierarchyInterface::countDescendants() ` to ` getDescendantCount() `
82+ - Rename ` NormaliserFactory::normaliser() ` to ` getNormaliser() `
83+ - Rename ` ProviderContextAwareInterface::context() ` to ` getContext() `
84+ - Rename ` ServiceAwareInterface::service() ` to ` getService() `
85+ - Move ` IEntity::plural() ` to ` ISyncEntity `
86+ - Move ` SerializeRulesInterface::getFlags() ` to ` ISyncSerializeRules `
87+
88+ ### Removed
89+
90+ - Remove ` Sys::sqliteHasUpsert() `
91+ - Remove ` Buildable::getBuilder() `
92+ - Remove ` TokenExtractor ` (moved to ` Lkrms\LkUtil ` namespace)
93+
94+ ### Fixed
95+
96+ - ` Cache ` : fix issue where an exception is thrown when an instance of a class that no longer exists is returned from the cache
97+
1598## [ v0.21.47] - 2024-02-23
1699
17100### Changed
@@ -1861,6 +1944,7 @@ The format is based on [Keep a Changelog][], and this project adheres to
18611944
18621945- Allow `CliOption` value names to contain arbitrary characters
18631946
1947+ [v0.21.48]: https://github.com/lkrms/php-util/compare/v0.21.47...v0.21.48
18641948[v0.21.47]: https://github.com/lkrms/php-util/compare/v0.21.46...v0.21.47
18651949[v0.21.46]: https://github.com/lkrms/php-util/compare/v0.21.45...v0.21.46
18661950[v0.21.45]: https://github.com/lkrms/php-util/compare/v0.21.44...v0.21.45
0 commit comments