Changes for version 0.0.2 - 2026-08-04

  • BUGFIX
    • Routes no longer consider metacharacters in their static paths (like ".", "+", "?") as wildcards. Only placeholders {param} are transformed into capture groups. Previously, it would allow the route '/items.json/{id}' to match paths like '/itemsXjson/{id}'.
    • The values of path parameters and query string parameters are now appropriately decoded: '%XX' and '+' decoding is now done as it should be according to the application/x-www-form-urlencoded rules. Until now strings like 'John%20Doe' were sent to handlers unchanged.
    • The request body reader no longer goes into an infinite loop when the PAGI server sends a non-'http.request' event (for example 'http.disconnect') while transmitting POST/PUT/PATCH requests.
    • When registering routes, the process now fails with a clear message instead of just ignoring misconfiguration. For instance, absence of a 'handler' property, 'dependencies' property not being a HashRef or an ArrayRef is rejected immediately during route registration.
  • TESTING
    • A new test was added in t/08-input_handling_and_registration.t covering the above-mentioned aspects.
    • A new test was added in t/09-external-async-resource-integration.t to cover DBIx::Class::Async integration.
  • EXAMPLE
    • Added additional DBIx::Class::Async integrated application: eg/dbic_async_integration.pl

Documentation

Modules

Asynchronous, Type-Safe Micro-Framework with Dependency Injection and OpenAPI & Swagger UI
Request and Response Lifecycle Context for PAGI::FastAPI
Dependency Injection Wrapper for PAGI::FastAPI