- Support Symfony 8.
- Test with PHP 8.5.
- Test with PHP 8.3 and 8.4.
- Drop support of deprecated PHP-HTTP
StreamFactory, only PSR-17StreamFactoryInterfaceis now supported.
- Allow installation with Symfony 7.
- Avoid PHP warning about serializing resources when serializing the response by detaching the stream.
- Test with PHP 8.1 and 8.2
- Made phpspec tests compatible with PSR-7 2.0 strict typing
- Detect
nulland use 0 explicitly to calculate expiration
- Allow installation with psr/cache 3.0 (1.0 and 2.0 are still allowed too)
- Allow installation with Symfony 6
- Be more defensive about cache hits. A cache entry can technically contain
null.
- Allow installation with psr/cache 2.0 (1.0 still allowed too)
- Support for PHP 8
- Support for Symfony 5.
- Support for PSR-17
StreamFactoryInterface. - Added
blacklisted_pathsoption, which takes an array ofstrings(regular expressions) and allows to define paths, that shall not be cached in any case.
- Support for HTTPlug 2 / PSR-18
- Added
cache_listenersoption, which takes an array ofCacheListeners, who get notified and can optionally act on a Response based on a cache hit or miss event. An implementation,AddHeaderCacheListener, is provided which will add anX-Cacheheader to the response with this information.
- Support for Symfony 4
- Removed check if etag is a string. Etag can never be a string, it is always an array.
CacheKeyGeneratorinterface that allow you to configure how the PSR-6 cache key is created. There are two implementations of this interface:SimpleGenerator(default) andHeaderCacheKeyGenerator.
- Issue where deprecation warning always was triggered. Not it is just triggered if
respect_cache_headersis used.
- New
methodsoption which allows to configure the request methods which can be cached. - New
respect_response_cache_directivesoption to define specific cache directives to respect when handling responses. - Introduced
CachePlugin::clientCacheandCachePlugin::serverCachefactory methods to easily setup the plugin with the correct config settigns for each usecase.
- The
no-cachedirective is now respected by the plugin and will not cache the response. If you need the previous behaviour, configurerespect_response_cache_directives. - We always rewind the stream after loading response from cache.
- The
respect_cache_headersoption is deprecated and will be removed in 2.0. This option is replaced by the newrespect_response_cache_directivesoption. If you had setrespect_cache_headerstofalse, set the directives to[]to ignore all directives.
- The default value for
default_ttlis changed fromnullto0.
- Issue when you use
respect_cache_headers=>falsein combination withdefault_ttl=>null. - We allow
cache_lifetimeto be set tonull.
- Support for cache validation with ETag and Last-Modified headers. (Enabled automatically when the server sends the relevant headers.)
hash_algoconfig option used for cache key generation (defaults to sha1).
- Default hash algo used for cache generation (from md5 to sha1).
- Cast max age header to integer in order to get valid expiration value.
- Initial release