Releases: PHPSocialNetwork/phpfastcache
Releases · PHPSocialNetwork/phpfastcache
9.1.1
- Core
- Fixed #860 // Cache item throw an error on reading with DateTimeImmutable date objects
- Fixed an issue with tags not properly reinitialized when a backend driver returns an expired cache item
- Drivers
- Fixed #862 // Multiple driver errors caused by invalid return type of
driverRead()(reported by @ShockedPlot7560 and @aemla)
- Fixed #862 // Multiple driver errors caused by invalid return type of
9.1.0
- API
- Upgraded Phpfastcache API to
4.1.0(see changes)
- Upgraded Phpfastcache API to
- Core
- Added
\Phpfastcache\Helper\UninstanciableObjectTraittrait which will contains base locked constructor for any classes that are nor meant to be instanciated. - Deprecated
\Phpfastcache\Config\Config::class - Removed/reworked/improved dead/unreachable/redundant/obsolete code, thanks to
Phpstan
- Added
- Drivers
- Added
Solrdriver support
- Added
- Events
- Added
\Phpfastcache\Event\EventInterfacefor\Phpfastcache\Event\Eventand subclasses below - Added
\Phpfastcache\Drivers\Arangodb\Eventfor Arangodb events - Added
\Phpfastcache\Drivers\Dynamodb\Eventfor Dynamodb events - Added
\Phpfastcache\Drivers\Solr\Eventfor Solr events - Moved the following constant from
\Phpfastcache\Event\Eventto their respective drivers:ARANGODB_CONNECTION,ARANGODB_COLLECTION_PARAMS,DYNAMODB_CREATE_TABLE
- Added
- Cluster
- Fixed #855 // ClusterReplication drivers are saving erroneous expiration date in low-level backends
- Misc
- Full PSR-12 compliance is now enforced by PHPCS
- Multiple typo fixes (@mbiebl)
- Updated composer suggestions and CI builder dependencies
9.0.2
8.1.2
8.1.1
8.1.0
"Re-Vaccinated"
9.0.1
9.0.0
- Migration guide
- Read the migration guide to upgrade from V8 to V9
- PSR-6
- Upgraded
psr/cachedependency to^2.0||^3.0(for PHP-8 types) \Psr\Cache\CacheItemInterface::get()slightly changed to fully comply with missing PSR-6 specification: If the cache item is NOT hit, this method will returnNULL.
- Upgraded
- PSR-16
- To be written when the PSR-16 will be upgraded for PHP-8
- API
- Upgraded Phpfastcache API
4.0.0(see changes) - Renamed
Api::getPhpFastCacheVersion()toApi::getPhpfastcacheVersion() - Renamed
Api::getPhpFastCacheChangelog()toApi::getPhpfastcacheChangelog() - Renamed
Api::getPhpFastCacheGitHeadHash()toApi::getPhpfastcacheGitHeadHash()
- Upgraded Phpfastcache API
- Cluster
- Renamed
\Phpfastcache\Cluster\AggregatorInterface::aggregateNewDriver()to\Phpfastcache\Cluster\AggregatorInterface::aggregateDriverByName()
- Renamed
- Exceptions
- Added
PhpfastcacheEventManagerExceptionfor EventManager-related exceptions
- Added
- Global
- Removed magics methods from CacheManager
CacheManager::DriverName(), useCacheManager::getInstance('DriverName')instead \Phpfastcache\Proxy\PhpfastcacheAbstractProxynow implements\Phpfastcache\Proxy\PhpfastcacheAbstractProxyInterface- Slightly increased performances on some critical points of the library
- Removed "BadPracticeOMeter" notice in CacheManager
- Removed many code duplicate (like in
\Phpfastcache\Driver\[DRIVER_NAME]\Itemclasses) - Reworked traits inter-dependencies for better logic and less polymorphic calls in pool/item traits
- Upgrading library to use benefits of PHP 8 new features (see below)
- Typed every class properties of the library
- Migrated many Closure to arrow functions
- Updated parameters & return type hint to use benefit of covariance and contravariance
- Removed embedded Autoload, Phpfastcache is now only Composer-compatible.
- Removed embedded dependencies (
psr/cache,psr/simple-cache)
- Removed magics methods from CacheManager
- Helpers
- Deprecated
\Phpfastcache\Helper\CacheConditionalHelper, use\Phpfastcache\CacheContractinstead - The
\Phpfastcache\CacheContractclass is now also callable directly without callingget()method
- Deprecated
- Config/Options
- Configuration object will now be locked once the cache pool instance is running.
- Updated
ConfigurationOptionwhich is no longer anArrayObjectclass, therefore array-syntax is no longer available. - Removed configuration entry
htaccessfor files-based drivers. - Removed
IOConfigurationOptionTrait::getHtaccess() - Removed
IOConfigurationOptionTrait::setHtaccess()
- Tests
- Added PHPMD, PHPCS and PHPSTAN coverages to increase quality of the project
- Updated tests to work with new core/drivers changes
- Removed Autoload test since its support has been removed and now only managed by Composer
- Increased tests reliability and code coverage for better catching any eventual regression
- Item
\Psr\Cache\CacheItemInterface::setwill not accept\Closureobject anymore as method unique parameter
- Drivers
- Added
Arangodbdriver support - Added
Dynamodb(AWS) driver support - Added
Firestore(GCP) driver support - Removed
Cookiedriver because of its potential dangerosity - Removed
Couchbase(SDK 2 support dropped) driver which is now replaced byCouchbasev3(SDK 3) - Removed
DevtrueandDevfalsedrivers - Added
Devrandomwith configurable factor chance and data length - Renamed classes
\Phpfastcache\Cluster\Drivers\[STATEGY]\[CLUSTER_NAME]Clusterto\Phpfastcache\Cluster\Drivers\[STATEGY]\Driverfor better driver naming across the project
- Added
- Events
- Added
\Phpfastcache\Event\EventReferenceParameterclass and more events such as driver-specific events, see EVENTS.md file for more information - Event callbacks will now receive the
eventNameas an extra last callback parameter (except foronEveryEventscallbacks) - Added
EventManagerInterface::on(array $eventNames, $callback)method, to subscribe to multiple events in once with the same callback - Added method named
unbindAllEventCallbacks(): booltoEventManagerInterfaceto allow you to unbind/clear all event from an event instance - Updated argument type #2 (
$items) ofonCacheSaveMultipleItems()event fromExtendedCacheItemInterface[]toEventReferenceParameter($items) - Updated argument type #2 (
$items) ofonCacheCommitItem()event fromExtendedCacheItemInterface[]toEventReferenceParameter($items) - Updated argument type #2 (
$value) ofonCacheItemSet()event frommixedtoEventReferenceParameter(mixed $value)
- Added
- Misc
- Increased minimum PHP compatibility in composer to
^8.0 - Updated copyright headers on every file to include the many project contributors
- Globally renamed every occurrence of
PhpFastCachetoPhpcastcache
- Increased minimum PHP compatibility in composer to
8.0.8
"Sanitary-passed"
- 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
Couchbasev3driver name)
- Misc
- Increased test reliability by adding more code coverage in CRUD tests and by performing some updates on Travis CI