Releases: dymmond/lilya
Releases · dymmond/lilya
Version 0.12.8
Version 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.
Version 0.12.6
Fixed
- Bug with uvicorn. It assumes the headers in scope being a list instead of an iterator.
Version 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 forsniff
.
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.
Version 0.12.4
Added
- Compatibility mode for async response content.
- Support for jinja enable_async option.
Changed
- Removed hard dependency of nest_asyncio for the cli.
Version 0.12.3
Fixed
from_scope
was incorrectly applied in some middleware on scope and not on message for updated message headers.
This breaks for example post responses.
Version 0.12.2
Fixed
- Context G threads safety
Version 0.12.1
Added
- New SessionContextMiddleware allowing to use the new
session
object
in a request context.
Changed
- Updated the Context section by adding the session context examples and explanation
how to use it.
0.12.0
Added
- Support for Python 3.13.
- Add
ReceiveSendSniffer
. This sniffer allows to detect communication events and to replay receive messages. Include
andBaseLilya
(application) have now a ClassVarrouter_class
to provide a custom router.- Subclasses of
BaseLilya
(application) can set therouter_class
to None to provide a completely custom router
which initialization parameters aren't required to match the ones ofRouter
. - Expose
fall_through
onStaticFile
.
Changed
- The
PathHandler
interface was changed to receive aReceiveSendSniffer
instead ofsend
/receive
. - The
handle_partial
interface was changed to receive aPathHandler
. - Fall-through routing was implemented.
- Expose
redirect_slashes
onInclude
.
Fixed
Host
with middleware or permissions.
Version 0.11.11
Fixed
- Some middleware are not multithreading/async capable.