- [BC Break] Upgraded
psr/cachedependency to^3.0which requiredExtendedCacheItemPoolInterfaceandExtendedCacheItemInterfaceupdates - [BC Break] Increased minimum PHP compatibility to
^8.0which also requiredTaggableCacheItemPoolInterfaceandTaggableCacheItemInterfaceupdates - [BC Break] Updated
ExtendedCacheItemPoolInterface::saveMultiple(ExtendedCacheItemInterface...$items)which no longer accept argument #0 to be itself an array ofExtendedCacheItemInterfaceobjects - [BC Break] Updated
ExtendedCacheItemPoolInterface::getConfigClass()signature: it is now a static method - Added
ExtendedCacheItemPoolInterface::getItemClass() - Added
ExtendedCacheItemInterface::hasTag(string $tag)to test if a cache item is tagged with the provided tag - Added
ExtendedCacheItemInterface::hasTag(string $tag)to test if a cache item is tagged with the provided tag - Added
ExtendedCacheItemInterface::cloneInto(ExtendedCacheItemInterface $itemTarget, ?ExtendedCacheItemPoolInterface $itemPoolTarget = null)to clone a cache item into another with an optional pool object - Referenced
TaggableCacheItemPoolInterface::TAG_STRATEGY_*constants toTaggableCacheItemInterface::TAG_STRATEGY_*for more code usability
- [BC Break] Removed
ExtendedCacheItemPoolInterface::appendItemsByTagsAll()(replaced by strategyTaggableCacheItemPoolInterface::TAG_STRATEGY_ALL) - [BC Break] Removed
ExtendedCacheItemPoolInterface::decrementItemsByTagsAll()(replaced by strategyTaggableCacheItemPoolInterface::TAG_STRATEGY_ALL) - [BC Break] Removed
ExtendedCacheItemPoolInterface::deleteItemsByTagsAll()(replaced by strategyTaggableCacheItemPoolInterface::TAG_STRATEGY_ALL) - [BC Break] Removed
ExtendedCacheItemPoolInterface::getItemsByTagsAll()(replaced by strategyTaggableCacheItemPoolInterface::TAG_STRATEGY_ALL) - [BC Break] Removed
ExtendedCacheItemPoolInterface::incrementItemsByTagsAll()(replaced by strategyTaggableCacheItemPoolInterface::TAG_STRATEGY_ALL) - [BC Break] Removed
ExtendedCacheItemPoolInterface::prependItemsByTagsAll()(replaced by strategyTaggableCacheItemPoolInterface::TAG_STRATEGY_ALL) - [BC Break] Removed deprecated method
ExtendedCacheItemPoolInterface::getConfigOption()(Use getConfig()->getOptionName() instead) - [BC Break] Removed deprecated method
ExtendedCacheItemPoolInterface::isUsableInAutoContext()(Since "Auto" driver has been removed) - Added strategy
TaggableCacheItemPoolInterface::TAG_STRATEGY_ONEusable in every**byTags**methods. - Added strategy
TaggableCacheItemPoolInterface::TAG_STRATEGY_ALLusable in every**byTags**methods. - Added strategy
TaggableCacheItemPoolInterface::TAG_STRATEGY_ONLYusable in every**byTags**methods.
- [BC Break] Moved
\Phpfastcache\Event\EventInterfaceto\Phpfastcache\Event\EventManagerInterface - Moved (by extends) ExtendedCacheItemPoolInterface::setEventManager() in
\Phpfastcache\Event\EventManagerDispatcherInterface:setEventManager() - Moved (by extends) ExtendedCacheItemInterface::doesItemBelongToThatDriverBackend() in
\Phpfastcache\Event\EventManagerDispatcherInterface::setEventManager() - Added
\Phpfastcache\Event\EventManagerDispatcherInterface - Added
ExtendedCacheItemInterface::doesItemBelongToThatDriverBackend() - Added
\Phpfastcache\Event\EventManagerInterface:onEveryEvents()
- Added ExtendedCacheItemPoolInterface::getConfigClass() that returns the config class name
- Updated ExtendedCacheItemPoolInterface::setEventManager() first argument that now MUST implement
\Phpfastcache\Event\EventInterface - Updated ExtendedCacheItemInterface::setEventManager() first argument that now MUST implement
\Phpfastcache\Event\EventInterface
- Added ExtendedCacheItemPoolInterface::isUsableInAutoContext() to check if the driver is allowed to be used in 'Auto' context.
- Implemented additional atomic methods:
- Added ExtendedCacheItemInterface::isNull() to test if the data is null or not despite the hit/miss status.
- Added ExtendedCacheItemInterface::isEmpty() to test if the data is empty or not despite the hit/miss status.
- Added ExtendedCacheItemInterface::getLength() get the data length if the data is a string, array, or objects that implement \Countable interface.
- Introduced BC breaks:
- Updated ExtendedCacheItemPoolInterface to be compliant with the new $config object introduced in V7.
- ExtendedCacheItemPoolInterface::getConfig() no longer returns an array but a ConfigurationOption object
- ExtendedCacheItemPoolInterface::getDefaultConfig() no longer returns an array but a ConfigurationOption object
- Removed ExtendedCacheItemInterface::getUncommittedData() that is no longer used in the V7
- Implemented full PHP7 type hint support for ExtendedCacheItemPoolInterface and ExtendedCacheItemInterface
- Added instance ID getter (introduced in V7):
- ExtendedCacheItemPoolInterface::getInstanceId()
- The method ExtendedCacheItemPoolInterface::getDefaultConfig() will now returns a \phpFastCache\Util\ArrayObject
- Implemented additional simple helper method to direct access to a config option:
- ExtendedCacheItemPoolInterface::getConfigOption()
- Implemented additional simple helper method to provide basic information about the driver:
- ExtendedCacheItemPoolInterface::getHelp()
- Implemented additional saving method form multiple items: ExtendedCacheItemPoolInterface::saveMultiple()
- Implemented additional tags methods such as:
- ExtendedCacheItemPoolInterface::getItemsByTagsAll()
- ExtendedCacheItemPoolInterface::incrementItemsByTagsAll()
- ExtendedCacheItemPoolInterface::decrementItemsByTagsAll()
- ExtendedCacheItemPoolInterface::deleteItemsByTagsAll()
- ExtendedCacheItemPoolInterface::appendItemsByTagsAll()
- ExtendedCacheItemPoolInterface::prependItemsByTagsAll()
- Implemented Event manager methods such as:
- ExtendedCacheItemInterface::setEventManager()
- ExtendedCacheItemPoolInterface::setEventManager()
- Implemented Item advanced time methods such as:
- ExtendedCacheItemInterface::setExpirationDate() (Alias of CacheItemInterface::ExpireAt() for more code logic)
- ExtendedCacheItemInterface::getCreationDate() *
- ExtendedCacheItemInterface::getModificationDate() *
- ExtendedCacheItemInterface::setCreationDate(\DateTimeInterface) *
- ExtendedCacheItemInterface::setModificationDate() *
- * Require configuration directive "itemDetailedDate" to be enabled
- Added an additional CacheItemInterface method:
- ExtendedCacheItemInterface::getEncodedKey()
- Implemented [de|a]ttaching methods to improve memory management
- ExtendedCacheItemPoolInterface::detachItem()
- ExtendedCacheItemPoolInterface::detachAllItems()
- ExtendedCacheItemPoolInterface::attachItem()
- ExtendedCacheItemPoolInterface::isAttached()
- Implemented JsonSerializable interface to ExtendedCacheItemInterface
- Implemented JSON methods such as:
- ExtendedCacheItemPoolInterface::getItemsAsJsonString()
- ExtendedCacheItemPoolInterface::getItemsByTagsAsJsonString()
- ExtendedCacheItemInterface::getDataAsJsonString()
- First initial version