Lilya

Latest version: v0.12.9

Safety actively analyzes 706267 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 9

0.12.9

Added

- Missing before and after request in the handler helpers.

0.12.8

Added

- `Lilya`, `Include`, `Host`, `Path` and `Router` now support `before_request` and `after_request`
life cycles. This can be particularly useful to those who want to perform actions before and after
a request is performed. E.g.: Telemetry.

0.12.7

Added

- Added `version` to Lilya client.

Changed

- Declaring `DefinePermission` became optional as Lilya automatically wraps if not provided.
- Declaring `DefineMiddleware` became optional as Lilya automatically wraps if not provided.
-
Fixed

- `SessionMiddleware` was creating duplicates because it was called on every lifecycle.

0.12.6

Fixed

- Bug with uvicorn. It assumes the headers in scope being a list instead of an iterator.

0.12.5

Added

- Header is now an iterator which is an alias to encoded_multi_items.
Instead of reparsing the headers for every middleware, keep the instance and mimic a fitting generator.- `sniff` method on Request.

Changed

- `receive`, `send` are not properties anymore on Request but proper methods. `receive` has a replay mode for `sniff`.

Fixed

- StaticFiles without scope headers failed.
- StaticFiles were susceptible for path traversal attacks.
- Calling Request.headers could empty the headers in scope when just a generator.
- Messages were not replayed in case `ContinueRouting` was raised. This prevented sniffing like documented.

0.12.4

Not secure
Added

- Compatibility mode for async response content.
- Support for jinja enable_async option.

Changed

- Removed hard dependency of nest_asyncio for the cli.

Page 1 of 9

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.