Releases: iazaran/smart-cache
1.8.0
What's Changed
✨ New Features
- Cost-Aware Caching — GreedyDual-inspired scoring that prioritizes expensive-to-compute items in cache
- getRaw() method — Retrieve raw cached values without deserialization overhead
- flush() method — Clear all cache entries
- Null value support — Properly cache and retrieve null values
🔧 Improvements
- Lazy loading for cache store initialization
- Atomic increment operations in RateLimiter
- TTL jitter to prevent cache stampedes
- Optimized shouldApply() in strategies to avoid double serialization
- Error logging on decryption failures in EncryptionStrategy
- Accurate optimization statistics using getRaw() in health checks
🧪 Tests
- Added tests for null support, flush, getRaw, and cost-aware caching
Full Changelog: 1.7.0...1.8.0
1.7.0
What's Changed
- Docs updated by @iazaran in #29
- Update docs by @iazaran in #30
- 31 feature request add store method support by @iazaran in #32
SmartCache now implements Laravel's Repository interface, allowing store() to return a SmartCache instance that maintains all optimizations while being fully compatible with Laravel's cache API.
Changes
SmartCache implements Illuminate\Contracts\Cache\Repository
store() returns SmartCache instance with preserved optimizations
Added repository() for raw cache access when needed
Zero breaking changes for existing users
Benefits
✅ Full Laravel Cache drop-in replacement
✅ Works with Repository type hints
✅ All optimizations preserved across drivers
✅ Backward compatible
Full Changelog: 1.6.0...1.7.0
1.6.0
What's Changed
New Features:
Cache Warming Command (php artisan smart-cache:warm)
Circuit Breaker pattern for cache backend failures
Rate Limiting with stampede protection
Cache Prefixing/Namespacing
TTL Jitter to prevent thundering herd
Encryption Strategy for sensitive data
Cache Statistics Dashboard (web routes)
Async Background Refresh Job
Improvements:
Fixed managed keys persistence with dirty flag (batch saves)
Added orphan chunk cleanup command
Fixed access frequency tracking for adaptive compression
Fixed MemoizedCacheDriver memory leak with LRU eviction
Added size threshold to SmartSerializationStrategy
Improved code quality with global namespace prefixes
Compatibility:
Added PHP 8.4 support
Verified compatibility: PHP 8.1-8.4, Laravel 8-12
Updated CI matrix to test 17 PHP/Laravel combinations
Bug Fixes:
Fixed shouldRefreshProbabilistically() argument count
Fixed command description test assertions
Fixed EncryptionStrategy interface signatures
Full Changelog: 1.5.0...1.6.0