tedivm/stash
The place to keep your cache.
v1.2.2
5.0M downloads/mo
#3534 most downloaded on Packagist
tedious/Stash
What this package is like to depend on
Last release 7 months ago
27 Dec 2025
Release timing varies
gaps range from 4 weeks to 1.9 years
Most releases are documented
notes for 22 of 35 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
35 releases · first in 2012
1 release in the last 12 months
see the full history below
Release timeline
34 releases · Mar 2012 to Dec 2025Releases
latest 35-
v1.2.227 Dec 2025 -
v1.2.127 May 2025Release notes
Open source → -
v1.2.008 Feb 2025Release notes
Open source →What's Changed
- RedisTest throws \RedisException, so expect that, not Warning by @DavidGoodwin in #432
- Fix memcache::set default argument from the deprecated null to false by @DavidGoodwin in #431
Full Changelog: v1.1.0...v1.2.0
-
v1.1.018 Dec 2024Release notes
Open source →What's Changed
- More explicit nullable types for PHP 8.4 by @taylorvance in #428
- Use explicit nullable type for PHP 8.4 by @taylorvance in #427
- Update tested versions of php by @tedivm in #429
New Contributors
- @taylorvance made their first contribution in #428
Full Changelog: v0.18.0...v1.1.0
-
v1.0.030 Jan 2024Release notes
Open source →After 18 years of development I think it's safe to say the API for this project is now stable. The biggest thing holding back from a v1 was the introduction of types, which have been added and stabilized to match the upstream types from PSR-6 v3 interfaces without any issues being reported.
This release is identical to the v0.18 release, so updating should be easy for most teams.
-
v0.18.0no dateRelease notes
Open source →What's Changed
- Update to psr/cache 3.0 by @KorvinSzanto in #423
- Minimum Version is v8.
New Contributors
- @KorvinSzanto made their first contribution in #423
Full Changelog: v0.17.6...v0.18.0
-
v0.17.626 Jul 2022 -
v0.17.531 May 2022 -
v0.17.428 May 2022 -
v0.17.327 May 2022 -
v0.17.224 May 2022Nothing published for this version
-
v0.17.121 Mar 2022Nothing published for this version
-
v0.17.021 Feb 2022Nothing published for this version
-
v0.16.018 Jan 2021Nothing published for this version
-
v0.15.209 Mar 2019Nothing published for this version
-
v0.15.119 Feb 2018Nothing published for this version
-
v0.14.223 Apr 2017Nothing published for this version
-
v0.14.110 Feb 2016Release notes
Open source →-
Implemented PSR-6 interfaces.
-
Removed
Driver::setOptions($options)in favor ofDriver::constructor($options) -
Removed deprecated DriverList::getDrivers function.
-
Removed deprecated invalidation constants in the Item class.
-
Removed SQLite Extension support (SQLite3 is still available).
-
The
setfunction no longer persists data. -
Removed expiration time for
setfunction -
Added
expiresAtandexpiresAfterfunctions to the Item class. -
getExpirationto return current datetime when no record exists. -
Added
savefunction to PoolInterface. -
Changed
getItemIteratortogetItems -
RuntimeException now extends from \RuntimeException
-
Added
isHitfunction to ItemInterface. -
Added the
hasItemfunction to the Pool, which should mostly be avoided. -
Renamed
Pool::purgetoPool::clear. -
Added
Pool::deleteItemandPool::deleteItems. -
Removed legacy methods for defining keys- keys must be defined as strings.
-
Added support for "APCU" functions.
-
Removed sqlite2 support (sqlite3 is still supported).
Stash v0.13 Changelog
-
-
v0.13.229 Dec 2015Release notes
Open source →-
Fixed bug where the default filesystem driver path would be created even when a path was specified.
-
Updated development dependencies.
-
Required PHP7 tests to pass.
-
-
v0.13.102 Aug 2015Release notes
Open source →-
Dropped support for PHP 5.3.
-
Updated dependencies.
-
Removed various PHP warnings (exceptions are still thrown where needed).
-
Various optimizations, such as reduced function calls during repeated operations.
-
Added "isPersistent" method to driver classes.
Stash v0.12 Changelog
-
-
v0.12.317 Jan 2015 -
v0.12.208 Dec 2014Release notes
Open source →-
Added an alternative format than native PHP for the Filesystem Driver.
-
Improved performance of Filesystem clear operations.
-
Better commenting on files generated by Filesystem driver.
-
Added work around for HHVM APCIterator bug.
-
Improved Redis error handling in the event of a lost or disconnected server.
-
Improved Redis and Memcached persistent connection support.
-
Added support for AWS autodiscovery functionality in Memcached.
-
Refactored PDO and SQLite "isAvailable" functions to prevent notices when the PDO extension is not present.
-
Docblock and commenting improvements.
-
Updated dependency versions (only affects development code).
API Changes
- Added a new "encoder" option to the Filesystem driver. This option defaults to previous behavior to maintain backwards compatibility while also offering the ability to change the format of the file used to store cached items.
-
-
v0.12.131 May 2014Release notes
Open source →-
Full HHVM Support
-
Removed xcache experimental driver.
-
Removed PEAR Support
-
Internal Improvements- DocBlock, Explicitly Defined Variables, Commenting.
-
Enforcement of code standards in test suite.
-
FileSystem - Improved Storage and Retrieval
-
Memcache - Altered subdrivers constructors and initialization.
-
SQLite - Reduced duplicate code amongst PDO subdrivers.
-
Updated Test Suite to make it simple to run again custom Pool or Item objects other than the build in ones.
-
Redis and Memcache constructors now take both forms (associative array or indexed array) when setting server configuration. Originally Memcache accepted an indexed list of settings while Redis expected an associative array.
API Changes
-
Removed constructor requirements from DriverInterface and added setOptions to replace it. Please note this means all drivers no longer take their options through the constructor, but expect them through the setOptions method.
-
Replaced "Item->setDriver" with "Item->setPool" function. This should have no effect on typical consumers of this library but may effect those extending the Item or Pool class.
-
Renamed Drivers class to DriversList to prevent confusion when talking about "Drivers".
-
Added DriversList::getAllDrivers which returns an unfiltered list of registered drivers.
-
Added DriversList::getAvailableDrivers to replace the existing DriversList::getDrivers, which is now deprecated.
-
Added "setDriver(DriverInterface $driver)" and "setKey($key, $namespace = null)" functions to the Item Interface. These functions are used by Pool to initialize the Item class.
-
Added "setNamespace($namespace = null)" and "getNamespace()" functions to the Pool class for.
-
Added "getCreation()" and "getExpiration()" functions to the Item class.
-
Added internal function Utilities::checkFileSystemPermissions.
-
Moved Item::SP_* Constants to new Invalidation class and Deprecated the existing Item::SP_* constants.
-
"PRECOMPUTE" is now the default method for dealing with stale data.
Stash v0.11 Changelog
-
-
v0.11.630 Mar 2014Release notes
Open source →- FileSystem compatibility fix for the new OpCache system in later versions of PHP.
-
v0.11.506 Mar 2014Release notes
Open source →-
Fixed a bug where OSX would be identified as Windows and path names were limited to that system's length.
-
Fixed a bug in the Pool class where setItemClass would throw an exception.
-
-
v0.11.420 Dec 2013Release notes
Open source →-
Introduced HHVM testing capabilities into the test suite.
-
Removed HHVM specific fatal errors.
-
-
v0.11.319 Dec 2013 -
v0.11.230 Nov 2013Release notes
Open source →-
Fixed Bug which prevented some file based caches from purging or flushing on Windows based systems.
-
Fixed Bug in the Filesystem cache which caused a fatal error when certain keys were used.
-
-
v0.11.118 Nov 2013Release notes
Open source →-
Logging Support
The Pool and Item classes can now have PSR-3 compliant Logging libraries injected into them through the setLogger($logger) functions. Any logger injected into the Pool class will get injected into any Items it generates.
-
Pool and Item Interfaces
The Stash\Pool and Stash\Item classes now implement the new Stash\Interface\Pool and Stash\interface\Item inferaces.
-
Extend Cache renamed and given a ttl
The Stash\Item::extendCache() function is now Stash\Item::extend($ttl = null).
-
Formatting changes, PSR-1 and PSR-2 compliant.
-
Added "setItemClass" function to the Pool class
This allows new Item classes to be generated, as long as they following the new interface.
-
-
v0.10.521 Jun 2013Nothing published for this version
-
v0.10.413 Jun 2013Nothing published for this version
-
v0.10.330 Mar 2013Nothing published for this version
-
v0.10.226 Feb 2013Nothing published for this version
-
v0.10.115 Nov 2012Nothing published for this version
-
v0.9.509 Mar 2012Nothing published for this version