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

Scrapbook Laravel Package

matthiasmullie/scrapbook

Scrapbook is a PHP caching library that wraps PSR-6/PSR-16 cache backends with adapters, multi-cache fallbacks, buffering and stampede protection. Use it to add fast, resilient caching with minimal code changes across files, memory or Redis stores.

View on GitHub
Deep Wiki
Context7
1.5.4

Fixed

  • Fixed PHP 8.4 deprecation of implicit nullable parameters
1.5.3

Fixed

  • Fixed Redis TLL override on failure to add key

Changed

  • Moved to PHPUnit >=10.x and attributes
1.5.2

Fixed

  • Stampede: removed unnecessary wait caused by lingering stampede key

Changed

  • Refactored tests for PHPUnit 10.x compat
1.5.1

Fixed

  • Fixed Couchbase's updated expiration handling
1.5.0

Added

  • Compatibility with psr/cache version 3
  • Compatibility with psr/simple-cache version 3

Changed

  • Type declarations everywhere

Removed

  • Removed support for PHP versions <8.0
  • Removed support for Couchbase SDK <3.0
  • Removed support for APC (not APCu)
1.4.9

Added

  • Added support for Couchbase v3.x & 4.x versions
  • Added psr/cache & psr/simple-cache 2.0 compatibility to composer.json

Fixed

  • Fixed (invalid) APCUIterator check
  • Improved handling of Memcached's untimely expiration purge
  • Fixed Redis in-/decrement return value for non-existing values with negative expiration
  • Fixed StampedeProtector lock time

Changed

  • Dropped built-in server health check option with Couchbase SDK v3.x/4.x support
1.4.8

Added

  • Added support for later Couchbase v2.x versions

Fixed

  • Fixed Flysystem support for long keys
  • Fixed non-existing getMulti results with certain Redis versions
  • Allow longer keys in MySQL-backed cache
  • Made handling of binary values with PostgreSQL more robust
  • Add support for Flysystem v2.x
  • Fix PHP8 error with cas in transactional cache
  • Fix PHP8 warning in PostgreSQL set
1.4.7

Fixed

  • Updated Couchbase install instructions in PHP Docker images
  • Updated implode parameter order for PHP7.4 compliance
1.4.6

Fixed

  • Safeguard Apc::getMulti for false returned by apcu_fetch
1.4.5

Added

  • Dockerize everything needed for testing adapters & versions
  • Add test support for Couchbase 5.0
  • Add makefile instructions

Changed

  • Use more direct ON CONFLICT functionality for PostgreSQL sets

Fixed

  • Memcached::cas $token can be int as well as float
  • Fix obscure issue where $value is considered null
  • Count MemoryStore collections towards the memory limit
  • Fix PSR SimpleCache to KeyValueStore TTL conversion logic
  • Add more workarounds for Couchbase's imprecise expiration purging
1.4.4

Fixed

  • Support Memcached>=3.0 new getMulti method signature
  • Throw exceptions for Memcached getMulti false (= error) result
1.4.3

Added

  • Include cache/integration-tests test suite for PSR-16

Fixed

  • Made APC store setMulti with integer keys
  • Let APC getMulti return values for numerical keys
  • Short-circuit getting/setting/deleting multiple keys
  • Make sure SQLite treats numerical keys as strings, not numbers
  • Support numerical keys with Couchbase
  • Fix how Couchbase (failed to) handle negative TTLs
  • Make Memcached delete-by-expiration more reliable
  • Make HHVM work with numerical cache keys in Memcached::setMulti
  • Fix Memcached::get for keys that would get encoded
  • SQL adapters expire on the exact second, not one later
1.4.2

Fixed

  • Stricter handling of invalid keys in Traversables passed to PSR-16
  • Allow integers to be used as keys for PSR-16
  • Treat a TTL of 0 as expired for PSR-16
  • Always return true for PSR-16 deleteMultiple, even when item didn't exist
1.4.1

Fixed

  • Return value of PSR-16 delete should always be true
  • Improved PSR-16 checks for invalid (characters in) keys
1.4.0

Added

  • Added support for collections

Changed

  • Officialize psr/simple-cache support
1.3.1

Added

  • Added $default param to PSR-16's get()
  • Added APCu support
  • Strict argument checks for PSR-16 methods
  • Return a boolean for PSR-16 delete, clear & deleteMulti

Changed

  • Treat all PSR-16 TTL's as relative
  • Renamed PSR-16 exists() to has()

Fixed

  • Fixed Redis handling of non-expiring ttls

Removed

  • Removed PSR-16 CounterInterface & its methods
1.3.0

Added

  • Add preliminary support for proposed PSR-16

Changed

  • Throw exception when invalid object is fed to Item::expiresAt

Fixed

  • Don't cause PHP warnings when Redis connection fails on get/getMulti
  • Stop using Couchbase's counter, which is not typesafe
  • Fixed Couchbase setMulti & deleteMulti failure return values
1.2.2

Fixed

  • Make sure expired items are also stored (they may override existing value)
1.2.1

Fixed

  • Made MySQL's value a LONGBLOB, which can store bigger values
1.2.0

Removed

  • Removed Taggable, since it seems cache/taggable-cache now does the same
  • Removed deprecated Filesystem adapter
1.1.0

Added

  • Added sharding class

Fixed

  • MemoryStore no longer evicts everything if infinite memory is allocated to PHP
1.0.10

Fixed

  • Don't let expired deferred items appear to have hit cache
1.0.9

Added

  • Add cache/taggable-cache implementation that works for all PSR-6 libraries
  • Include cache/integration-tests test suite for PSR-6

Changed

  • Revamped unit tests: no longer use dataProvider, but provide grouped suites

Fixed

  • Worked around APC's weird behavior of only clearing expires per page request
  • Store get result in buffer if it wasn't in there already
  • Encode certain characters in Memcached keys
  • Serialize arrays & objects in Couchbase, because it forgets their data type
1.0.8

Fixed

  • Deferred items now register as hit in psr/cache Item
  • Non-string keys now fail in psr/cache Pool
  • Deleting non-existing keys from cache also return true in psr/cache Pool
  • Auto-commit deferred items on psr/cache Pool destruction
  • If psr/cache Item::expiresAfter is passed null explicitly, default to forever
  • SQL adapters now also return same data type as was stored for numerics
  • Fixed psr/cache Pool::save return value when storing a non-existing Item
1.0.7

Added

  • Properly support PHPUnit's --filter to narrow down adapters

Fixed

  • Distinguish between false & no value in cache, where $token should be null
1.0.6

Added

  • composer.json now requires psr/cache

Changed

  • Travis scripts no longer install services but user Docker containers
  • All Psr6 methods accepting $key now throw InvalidArgumentException

Removed

  • Removed included Psr\Cache files

Fixed

  • Fixed Couchbase flush return value
1.0.5

Added

  • Added stampede protection

Fixed

  • Made Redis multi/exec consistently return array
1.0.4

Added

  • Added Psr6\Pool::hasItem, per PSR-6 spec
  • Added Psr6\Pool::deleteItem, per PSR-6 spec

Changed

  • Psr6\Pool::deleteItems returns result instead of static, per PSR-6 spec
  • Psr6\Pool::save returns result instead of static, per PSR-6 spec
  • Psr6\Pool::saveDeferred returns result instead of static, per PSR-6 spec

Removed

  • Removed Psr6\Item::exists, per PSR-6 spec
  • Removed Psr6\Item::getExpiration, per PSR-6 spec

Fixed

  • Make sure CAS tokens are null if value doesn't exist
  • Normalized CAS token result on HHVM
  • Restored original Filesystem adapter (for PHP5.3 B/C), but still deprecated
1.0.3

Added

  • Added league/flysystem adapter

Removed

  • Deprecated Filesystem adapter
1.0.2

Changed

  • Optimized transactions (e.g. multiple set can be combined into setMulti)
  • Transaction rollback now restores original values, instead of clearing them

Fixed

  • When doing set on existing value in MemoryStore, don't doublecount the size
  • Fixed SQL return values when replacement value is the same
1.0.1

Added

  • Added Psr6\Item::expiresAt, per PSR-6 spec
  • Added Psr6\Item::expiresAfter, per PSR-6 spec
  • Added memory limit to MemoryStore & evict data, to prevent it from crashing
  • Execute tests/Adapters/*, there can be adapter-specific tests too
  • Implement nested transactions

Changed

  • Explicitly test file existence instead of using [@file_get_contents](https://github.com/file_get_contents)

Removed

  • Removed Psr6\Item::setExpiration, per PSR-6 spec

Fixed

  • SQL adapter returns early if there's no data to be deleted
1.0.0

Added

  • Apc adapter
  • Couchbase adapter
  • Filesystem adapter
  • Memcached adapter
  • MySQL adapter
  • PostgreSQL adapter
  • Redis adapter
  • SQLite adapter
  • MemoryStore adapter, for testing
  • Buffered cache, to prevent multiple lookups for same value
  • Transactional cache, to guarantee consistency of storing multiple values
  • PSR-6 compatible interface for all of the above
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