- Core
- Fixed #893 // getItemsByTag() - empty after one item has expired
- Core
- Fixed #860 // Cache item throw an error on save with DateTimeImmutable date objects
- Drivers
- Fixed #866 // Deprecated Method Cassandra\ExecutionOptions starting of Cassandra 1.3
- Drivers
- Fixed #853 // Configuration validation issue with Memcached socket (path)
- Core
- Fixed #848 // Others PHP 8.1 compatibility bugs
- Core
- Fixed #831 // Bug in the PSR-16 getMultiple method
- Utils
- Fixed #846 // PHP 8.1 compatibility bug
- Drivers
- Fixed #840 // Invalid type hint found for "htaccess", expected "string" got "boolean" for leveldb driver
- Misc
- Updated some docs files (fixed typos)
- Tests
- Migrate all Travis tests on bionic
- Core
- Fixed small date issue with tag items that stays longer than necessary active in backend
- Drivers
- Improved Mongodb driver code
- Improved Couchdb driver code
- Improved Couchbase driver code (SDK 2 version)
- Implemented #721 // Added Couchbase SDK 3 support (use
Couchbasev3
driver name)
- Misc
- Increased test reliability by adding more code coverage in CRUD tests and by performing some updates on Travis CI
- Drivers
- Improved Couchdb driver code and tests
- Dropped Riak support permanently (unmaintainable)
- Docs
- Fixed vulnerability issue that cause exposed phpinfo() in some situations (@geolim4)
- Helpers
- Allow $cacheItem to be retrieved by callback argument in CacheConditionalHelper (@geolim4)
- Drivers
- Fixed #782 // Random warning in Files driver
- Fixed #781 // bad type hint Riak driver
- Fixed #788 // Redundant directory name for Sqlite
- Core
- Added full PHP8 compatibility
- Tests
- Added PHP8 test suite
- Drivers
- Fixed #774 // Redis config cannot accept null values as the given example (@GeoSot)
- Misc
- Small optimizations
- Core
- Fixed #768 // Psalm issue with the 3rd parameter of Psr16Adapter::set has to be null (@geolim4)
- Fixed #771 // DeleteItemsByTags was ignoring strategy #772 (@GeoSot)
- Fixed inconsistent behavior of "defaultKeyHashFunction" and "defaultFileNameHashFunction" + added tests for them (@geolim4)
- Implemented #754 // Added deactivatable static item caching support (@geolim4)
- Tests
- Fixed test title for "DisabledStaticItemCaching.test.php"
- Drivers
- Fixed #759 // Memcached Bytes Replaced with Version (@geolim4)
- Drivers
- Fixed #744 // Added Memcached::OPT_PREFIX_KEY option support (@geolim4)
- Drivers
- Fixed #731 // Removing path check in Redis driver before auth. (@gillytech)
- Misc
- Fixed some doc typo (@geolim4)
- Removed "Auto" driver in
CacheManager::getInstance()
you will now be mandatory to specify the driver to use. - Removed deprecated feature
CacheManager::setNamespacePath()
(replaced by cache manager "override" or "custom driver" features) - Upgraded minimum php version support:
7.3+
- Upgraded Phpfastcache API from
2.0.4
to3.0.0
, be careful, there some minor Breaking Changes (BC). - Implemented aggregated cluster support (See the Readme.MD)
- Removed Xcache support which is now completely abandoned (latest update: 2014)
- Removed Apc (but not APCu) support which is now completely abandoned (latest update: 2012)
- Removed
CacheManager::getStaticSystemDrivers()
(useCacheManager::getDriverList()
instead) - Added (required) cookie driver option
awareOfUntrustableData
to enforce developer awareness of non-reliable data storage - Removed driver option
ignoreSymfonyNotice
and its getter/setter - The "ActOnAll Helper" have been removed in profit of aggregated cluster support
- Implemented #713 // Reworked "tags" feature by adding 3 strategies:
TAG_STRATEGY_ONE
,TAG_STRATEGY_ALL
,TAG_STRATEGY_ONLY
- Removed global static properties
CacheManager::$ReadHits
,CacheManager::$WriteHits
replaced by\Phpfastcache\Entities\DriverIO
callable in\Phpfastcache\Core\Pool\ExtendedCacheItemPoolInterface::getIO
- Removed deprecated method
ConfigurationOption::getOption()
usegetOptionName()
instead - Removed deprecated config option
$ignoreSymfonyNotice
- Removed "fallback" feature (use aggregated cluster Master/Slave instead)
- Enforced PSR-12 compliance
- Deprecated legacy autoload for removal in next major release