All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
- Update development status to
5 - Production/Stable
. (Pull #32)
- Drop
Lifespan
andLifespanMiddleware
. Please use Starlette's built-in lifespan capabilities instead. (Pull #27)
-
Use
sniffio
for auto-detecting the async environment. (Pull #28) -
Enforce 100% test coverage on CI. (Pull #29)
- Enforce importing from the top-level package by switching to private internal modules. (Pull #26)
- Move
Lifespan
to thelifespan
module. (Pull #21) - Refactor
LifespanManager
to drop dependency onasynccontextmanager
on 3.6. (Pull #20)
- Enter Beta development status.
- Remove
curio
support. (Pull #18)
- Ship binary distributions (wheels) alongside source distributions.
- Use custom concurrency backends instead of
anyio
for asyncio and trio support. (Pull #18)
- Ensure
py.typed
is bundled with the package so that type checkers can detect type annotations. (Pull #16)
- Improve error handling in
LifespanManager
(Pull #11):- Exceptions raised in the context manager body or during shutdown are now properly propagated.
- Unsupported lifespan is now also detected when the app calls
send()
before calling having calledreceive()
at least once.
- Enter Alpha development status.
- Add configurable timeouts to
LifespanManager
. (Pull #10)
- Add
LifespanManager
for sending lifespan events into an ASGI app. (Pull #5)
- Add
LifespanMiddleware
, an ASGI middleware to add lifespan support to an ASGI app. (Pull #9)
- Add
Lifespan
, an ASGI app implementing the lifespan protocol with event handler registration support. (Pull #7)
- Installation from PyPI used to fail due to missing
MANIFEST.in
.
- Empty package.