Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Stash Laravel Package

tedivm/stash

Stash is a PHP caching library for speeding up expensive code (DB queries, API calls) by storing results in a cache. It provides Pool and Item APIs with pluggable storage Drivers, including composite setups and maintenance tools like purge.

View on GitHub
Deep Wiki
Context7
v1.2.2

What's Changed

Full Changelog: https://github.com/tedious/Stash/compare/v1.2.1...v1.2.2

v1.2.1
v1.2.0

What's Changed

Full Changelog: https://github.com/tedious/Stash/compare/v1.1.0...v1.2.0

v1.1.0

What's Changed

New Contributors

Full Changelog: https://github.com/tedious/Stash/compare/v0.18.0...v1.1.0

v1.0.0

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.0

What's Changed

New Contributors

Full Changelog: https://github.com/tedious/Stash/compare/v0.17.6...v0.18.0

v0.17.6

What's Changed

Full Changelog: https://github.com/tedious/Stash/compare/v0.17.5...v0.17.6

v0.17.5

What's Changed

Full Changelog: https://github.com/tedious/Stash/compare/v0.17.4...v0.17.5

v0.17.4

What's Changed

New Contributors

Full Changelog: https://github.com/tedious/Stash/compare/v0.17.3...v0.17.4

v0.17.3

What's Changed

Full Changelog: https://github.com/tedious/Stash/compare/v0.17.2...v0.17.3

v0.17.2

What's Changed

Full Changelog: https://github.com/tedious/Stash/compare/v0.17.1...v0.17.2

v0.17.1

What's Changed

New Contributors

Full Changelog: https://github.com/tedious/Stash/compare/v0.17.0...v0.17.1

v0.17.0

What's Changed

New Contributors

Full Changelog: https://github.com/tedious/Stash/compare/v0.16.0...v0.17.0

v0.16.0

What's Changed

New Contributors

Full Changelog: https://github.com/tedious/Stash/compare/v0.15.2...v0.16.0

v0.15.2

Minor package change to let downstream packages access tests.

v0.15.1

What's Changed

New Contributors

Full Changelog: https://github.com/tedious/Stash/compare/v0.14.2...v0.15.1

v0.14.2

This release primarily fixes bugs and updates dependencies.

v0.14.1

v0.14.1

  • Implemented PSR-6 interfaces.
  • Removed Driver::setOptions($options) in favor of Driver::constructor($options)
  • Removed deprecated DriverList::getDrivers function.
  • Removed deprecated invalidation constants in the Item class.
  • Removed SQLite Extension support (SQLite3 is still available).
  • The set function no longer persists data.
  • Removed expiration time for set function
  • Added expiresAt and expiresAfter functions to the Item class.
  • getExpiration to return current datetime when no record exists.
  • Added save function to PoolInterface.
  • Changed getItemIterator to getItems
  • RuntimeException now extends from \RuntimeException
  • Added isHit function to ItemInterface.
  • Added the hasItem function to the Pool, which should mostly be avoided.
  • Renamed Pool::purge to Pool::clear.
  • Added Pool::deleteItem and Pool::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).
v0.13.2

v0.13.2

  • 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.1

0.13.1

  • 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.
v0.12.3

This release fixes an issue that prevented the proper invalidation from being used when none were set.

v0.12.2

This backwards compatible release contains a number of feature and stability improvements, particularly for users of HHVM, Memcache on AWS, or the Redis drivers.

  • Added an alternative format than native PHP for the Filesystem Driver using the "encoder" option.
  • 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).
v0.12.1

This release is designed specifically to make integrating, extending and developing Stash easier. Although there have been some API additions, the bulk of the work is behind the scenes. That being said we've pushed in a few BC breaks that we've been meaning to make for awhile, so please review the changelog carefully (especially if you have custom drivers or specialized code for initializing them).

Major Updates:

  • 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.
v0.11.6

This release deals with changes between the APC and Opcode Caching system in PHP 5.4, specifically how opcode caches get invalidated. As of this release the Filesystem Driver explicitly invalidates the opcode cache for the files it creates or updates, preventing PHP from including an older version of it's data.

v0.11.5

This release takes care of a small bug that occurs when running on OSX. This bug was caused by improper checking of the operating system, which was causing a Windows work around designed to limit filename length to kick in when it wasn't needed.

v0.11.4

Corrected a bug with APC where the max ttl would end up being used where it shouldn't have been.

v0.11.3

This update includes a few minor performance enhancements as well as a bug fix for the Ephemeral driver.

v0.11.2

This is the first bug release of the 0.11 line, so if you are updating from an older version please see the 0.11 notes.

  • 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.1

This represents the first backwards compatibility break since v0.10.1 about one year ago. These are detailed in the changelog, but for the most part will be minor tweaks for a small amount of users.

One of the biggest additions is a new set of Interfaces. This will allow developers to type check for the interfaces, rather than the class type, which should in turn allow developers to create custom Pool or Item classes when needed. This should also make the future addition of PSR-5 support a bit easier.

Another useful addition in this release is logging support. By using PSR-3 compliant logging libraries, such as monolog, developers can now get a much better look at what's going on inside of Stash and admins can see when errors are occurring with their underlying cache systems.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport