Changes for version 1.3.0 - 2026-08-23

  • SECURITY FIXES
    • Fix rate-limit key resolution using untrusted HTTP request headers (CWE-807). Default key_cb now strictly identifies clients by their TCP socket address ($c->scope->{client}[0]) rather than prioritising client-controlled headers. Header-derived identity can be explicitly enabled by setting 'trust_proxies => 1'. Reported by CPANSec.
    • Fix unbounded memory growth in PAGI::FastAPI::RateLimit::Driver::Memory (CWE-770). Enforce a maximum active key limit (`max_keys`, defaults to 10000) with key eviction, and add periodic probabilistic cache sweeps to purge stale entries. Reported by CPANSec.
  • ENHANCEMENTS
    • Add trust_proxies parameter to PAGI::FastAPI::Middleware::RateLimit.
    • Add max_keys parameter and count() introspection method to PAGI::FastAPI::RateLimit::Driver::Memory.
  • TESTING
    • Add t/32-security_cwe_807_key_spoofing.t to test header-spoofing resilience.
    • Add t/33-security_cwe_770_memory_cap.t to test driver memory bounds.

Documentation

Modules

Asynchronous, Type-Safe Micro-Framework with Dependency Injection and OpenAPI & Swagger UI
Base Interface for PAGI::FastAPI Bot Protection
Stateless Proof-of-Work Bot Mitigation Engine
Request and Response Lifecycle Context for PAGI::FastAPI
Request Cookie Parsing Helper for PAGI::FastAPI
Dependency Injection Wrapper for PAGI::FastAPI
Asynchronous Proof-of-Work Bot Protection Middleware for PAGI::FastAPI
Typed Exception-to-Handler Dispatch for PAGI::FastAPI
Async Rate Limiting Middleware for PAGI::FastAPI
Pluggable Async Message Queue Facade for PAGI::FastAPI
Abstract Base Class for Message Queue Storage Drivers
Default In-Memory Storage Driver for PAGI::FastAPI::Queue
Abstract Base Class for Rate Limiting Storage Drivers
Default In-Memory Storage Driver for Rate Limiting
Base HTTP Response Class for PAGI::FastAPI
File Download Response for PAGI::FastAPI
HTML Response Class for PAGI::FastAPI
HTTP Redirect Response for PAGI::FastAPI
Server-Sent Events (SSE) Streaming Response for PAGI::FastAPI
Response Shape Validation and Filtering for PAGI::FastAPI
Path Parameter Validation for PAGI::FastAPI