symfony/rate-limiter
Symfony Rate Limiter provides a token bucket implementation for rate limiting input and output in PHP applications. Configure policies and storage with RateLimiterFactory, then reserve tokens to wait or consume tokens to check acceptance.
reserve()/consume() pattern continues to integrate cleanly with middleware, queues, and CLI workflows.CompoundRateLimiterFactory still supports multi-dimensional limits (per-IP and per-user) for SaaS tiering.StorageInterface.consume()/reserve() patterns still apply.composer show symfony/rate-limiter) across all services and map resolved versions to patched minimums (≥5.4.54 or ≥8.1.6).InMemoryStorage is non-persistent; Redis (RedisStorage) or database (DoctrineStorage) remains mandatory for distributed environments.Unsafe unserialize PHPStan rule (v8.1.1) remains present and may warn on unrelated unserialize() usage. Mitigation: keep PHPStan in CI; avoid custom serialization in rate-limiter storage.symfony/rate-limiter resolved version, and is it ≥5.4.54 / ≥8.1.6?429 Too Many Requests responses standardised?unserialize() elsewhere, and will the rule require refactoring?symfony/rate-limiter version and target patched minimum (≥5.4.54 or ≥8.1.6).throttle middleware; integrate with queues/CLI.^7.4); the package itself requires PHP 8.1+ on the 8.1 line, while the 5.4 line serves older runtimes.Unsafe unserialize rule doesn't flag false positives in unrelated code.unserialize warnings.symfony/rate-limiter to ≥5.4.54 or ≥8.1.6, aligned with Symfony/Laravel constraints. Add a recurring check that no service sits below the patched minimum.config/rate_limiter.php, but review burst-size settings against the new cap — this is now a security-relevant configuration review, not just tuning.symfony/* so security-labelled releases are routed to the on-call patch process rather than the normal backlog.Retry-After, Redis drops). The cap fix reduces burst-related anomalies and eliminates a class of "limits behaved unexpectedly" tickets.[SECURITY]-tagged dependency release is triaged, who approves an out-of-cycle deploy, and the SLA for applying it.unserialize() usage; restrict to trusted internal data.[SECURITY] release tags and knows the escalation path.How can I help you explore Laravel packages today?