- [BC BREAK] Dropped support for PHP < 7.1.
- [IMPROVED] Support for non-public enumeration constants (#24, #26) (thanks @Bilge).
- [IMPROVED] Use
static
in docblocks for better IDE hints (#20) (thanks @Bilge). - [MAINTENANCE] General repository maintenance
- [NEW] Implemented
memberOrNullBy()
and variants
- [MAINTENANCE] General repository maintenance
- [BC BREAK] Renamed classes:
Multiton
->AbstractMultiton
Enumeration
->AbstractEnumeration
- [BC BREAK] Exceptions no longer extend
LogicException
, but instead directly extend from the baseException
class. - [NEW] Implemented
AbstractValueMultiton
, an an abstract base class for implementing multitons with values.AbstractEnumeration
now extends from this base class. - [NEW] Implemented
AbstractUndefinedMemeberException
, an abstract base class for implementing custom undefined member exceptions.UndefinedMemberException
now extends from this base class. - [NEW] Multiton instances now implement formal interfaces:
AbstractMultiton
instances implementMultitonInterface
.AbstractValueMultiton
instances implementValueMultitonInterface
.AbstractEnumeration
instances implementEnumerationInterface
- [NEW] Implemented
membersBy()
andmembersByPredicate()
which help to retrieve sets of members by various criteria.
- [BC BREAK]
Multiton
method name changes:multitonInstances
->members
instanceByKey
->memberByKey
instanceBy
->memberBy
instanceByPredicate
->memberByPredicate
initializeMultiton
->initializeMembers
registerMultiton
->registerMember
createUndefinedInstanceException
->createUndefinedMemberException
- [BC BREAK]
Enumeration
method name changes:instanceByValue
->memberByValue
- [BC BREAK] Renamed classes:
UndefinedInstanceException
->UndefinedMemberException
UndefinedInstanceExceptionInterface
->UndefinedMemberExceptionInterface
- [NEW] Case insensitive options for member search methods
- [NEW] Defaulting variants of member search methods
- [MAINTENANCE] General repository maintenance
- [NEW] Archer integration
- [NEW] Implemented changelog