philipannis/laravel-http-remember
A small Laravel package that brings Cache::remember-style caching to the HTTP client. Cache outgoing API responses per request with a configurable TTL and cache store, then serve repeated calls from cache to reduce latency, duplicate requests, and load on rate-limited third-party APIs.
laravel-http-remember remains an HTTP response caching middleware for Laravel, and v1.0.3 materially strengthens its fit for production use. The release adds five capabilities that map directly onto the risk areas previously flagged: rejection of unsafe header exclusions (cache-key integrity and personalization safety), manual cache invalidation (operational control), cache miss deduplication (stampede protection), refresh cooldown with Retry-After (load-shedding behavior), and log message redaction (observability hygiene). It still aligns with Laravel's middleware and cache abstractions, but now assumes more of the cache-control responsibilities a team would otherwise build in-house—locking, single-flight, purge APIs, and log scrubbing. That raises both the package's value and the blast radius of its configuration.Retry-After. No database migration is implied, but a shared cache with lock support (Redis, Memcached, database) should be treated as a de facto prerequisite rather than an option.Cookie, Authorization, or similarly sensitive/varying headers may now be refused, altering cache keys and hit rates—or failing requests—after upgrade. This is functionally a breaking change shipped under a patch version. Second, previously latent exposure: the addition of log redaction implies earlier versions could write sensitive values into event logs, so existing deployments may have retained PII in log stores. Deduplication and cooldown also introduce lock contention, timeout, and lock-leak failure modes, and cooldown behavior can surprise clients. The package is still early-stage and likely single-maintainer, and again shipped features in a patch release, reinforcing semver-maturity concerns.Retry-After value, and does the middleware return 429/503 or serve stale content? Do deduplicated waiters share one response, and what is the max wait/timeout? Does redaction cover all log channels and is it on by default? Are Vary, cookies, auth/session state, and Cache-Control: no-store still handled as previously documented?Retry-After, and confirm client/API-gateway tolerance. 5) Establish manual invalidation entry points and authorization. 6) Enable and validate log redaction; remediate retained logs from prior versions. 7) Re-tune response size limits and event-log volume. 8) Load-test stampede scenarios and run staleness/security checks. 9) Roll out by route group with explicit rollback criteria and a config rollback plan.Retry-After breaking client retry logic; oversized responses repeatedly bypassing cache; event logs still adding overhead; and prior-version log stores retaining sensitive data that redaction does not retroactively cleanse.Retry-After semantics, size-limit tuning, and log redaction verification. The new safety and observability features reduce ramp-up friction and lower the chance of a serious misconfiguration, but they do not remove the need for route-level validation on a shared, lock-capable cache backend.How can I help you explore Laravel packages today?