LockRegistry use semaphores when possibleDoctrineProvider and DoctrineAdapter because these classes have been added to the doctrine/cache packageDoctrineDbalAdapter identical to PdoAdapter for Doctrine\DBAL\Connection or DBAL URLPdoAdapter with Doctrine\DBAL\Connection or DBAL URLApcuAdapter classArrayCacheCouchbaseBucketAdaptercache-adapter to log messagesSimple namespaceSimpleCacheAdapterAbstractAdapter::unserialize()CacheItem::getPreviousTags()$prefix to AdapterInterface::clear()RedisTagAwareAdapter to support Redis server >= 2.8 and up to 4B items per tagTagAwareMarshaller for optimized data storage when using AbstractTagAwareAdapterDeflateMarshaller to compress serialized valuescompressionRedisTagAwareAdapter is not compatible with RedisCluster from Predis anymore, use phpredis insteadCacheDataCollector class as @final.SodiumMarshaller to encrypt/decrypt values using libsodiumpsr/simple-cache dependency, run composer require psr/simple-cache if you need itPsr16Cache or Symfony\Contracts\Cache\CacheInterface implementations insteadSimpleCacheAdapter, use Psr16Adapter insteadMarshallerInterface and DefaultMarshaller to allow changing the serializer and provide one that automatically uses igbinary when availableCacheInterface, which provides stampede protection via probabilistic early expiration and should become the preferred way to use a cachecompression and tcp_keepalive optionsLogicException when CacheItem::tag() is called on an item coming from a non tag-aware poolCacheItem::getPreviousTags(), use CacheItem::getMetadata() insteadAbstractAdapter::unserialize() and AbstractCache::unserialize() methodsCacheCollectorPass (originally in FrameworkBundle)CachePoolClearerPass (originally in FrameworkBundle)CachePoolPass (originally in FrameworkBundle)CachePoolPrunerPass (originally in FrameworkBundle)