swayok/alternative-laravel-cache
Alternative cache driver for Laravel that brings reliable tag support to any store—file, database, Redis, or Memcached—so you can group and invalidate keys without the limitations of Laravel's built-in tagged cache. Drop-in replacement with a familiar Cache::tags() API.
config('cache.serializable_classes') for file, Redis, and Memcached stores — aligning the package with Laravel's unserialize allow-list hardening; (2) a package-specific config('cache.serializable_base_classes') escape hatch for teams that cannot maintain a full allow-list; (3) replacing Flysystem with Laravel's Filesystem in file stores. The Flysystem-to-Filesystem swap is an internal implementation change with observable behavior; the rest is additive configuration and API parity.^6.4), yet it introduces new configuration that must be understood and, in most applications, deliberately set. The Flysystem change should be transparent for default file-store usage but needs verification wherever custom filesystem adapters, permissions, or path conventions are in play. The "missing methods" addition improves drop-in parity with Laravel's stores and should be non-breaking in the common case, though subclass overrides should be checked.serializable_base_classes has no upstream Laravel equivalent, so it is a maintained fork of behavior that must be documented and kept in sync; (c) the Flysystem removal may alter file-store behavior around directory creation, permissions, error handling, atomic writes, and any custom Flysystem adapter previously used as the file-store backend; (d) new public methods expand the API surface and are a semver-minor contract maintainers must now keep stable. No deprecations or explicit breaking changes are announced.cache.serializable_classes, and what is the package's minimum supported Laravel/PHP now? Does serializable_base_classes merge with, or override, serializable_classes, and what is the precedence and default (allow-all vs deny-all)? What happens to already-cached payloads containing classes outside the allow-list — silent miss, exception, or partial data? Does the file store still support custom Flysystem adapters (e.g., object storage) or is Filesystem now mandatory? Which methods were added, and are they declared on interfaces? Are there CI matrices covering Laravel 12/13 × file/Redis/Memcached, and concurrency tests for lock behavior retained from 6.3.3? Is 6.4.0 strictly additive at the public API level?cache.serializable_classes and serializable_base_classes settings per environment, run the full test suite, then exercise cache read/write and lock workflows on each cache driver in use. Plan for a cold-cache window or an explicit cache flush if existing entries contain classes outside the new allow-list.Filesystem change is the main compatibility question for anyone who customized file-store paths, disk configuration, permissions, or adapters. Confirm PHP version, Laravel version, and whether any code subclasses the package's store classes and would be affected by the added methods.serializable_base_classes is a package-only knob that must be documented, tested, and maintained against future Laravel changes — a small but permanent divergence cost. Maintainers should publish the supported Laravel/PHP matrix and the config precedence rules.serializable_classes baseline and an explicit statement of serializable_base_classes semantics (and its security trade-off of broadening the allow-list) will contain most of this.Filesystem versus Flysystem — worth a sanity benchmark if file cache is used heavily or sits on network/shared storage. Re-validate lock behavior under concurrency for queue and scheduled-job workloads, carrying forward the 6.3.3 validation.serializable_base_classes weakening the hardening intent; (c) file-store regressions — permission errors, missing directories, path differences, non-atomic writes — especially where custom Flysystem adapters were relied upon; (d) subclass conflicts or unexpected behavior from newly added store methods; (e) Composer resolution issues if the release tightened Laravel/PHP constraints. Rollback is feasible by pinning to 6.3.3, but pairs with a cache flush because serialized payload formats and allow-list expectations differ across versions.serializable_classes vs serializable_base_classes, confirmation that custom Flysystem adapters are or are not still supported, the list of added methods and whether interfaces changed, CI evidence across Laravel 12/13 and all three drivers, and a short rollback-plus-cache-flush runbook.How can I help you explore Laravel packages today?