Releases: emmett-framework/granian
Releases Β· emmett-framework/granian
Granian 2.4.2
Granian 2.4.1
Patch release
Changes since 2.4.0:
- Fix a bug in dotenv files support (#625 by @adhami3310)
- Bump dependencies
Granian 2.4.0
What's Changed
New features
- Startup, shutdown and reload hooks support (#584 by @adhami3310)
- Dotenv files loading support
- Working directory option
- Proxies' forwarded headers wrappers
Changes
- Bump dependencies
- Add (experimental) Python 3.14 support
- Gate
jemalloc
allocator behind a feature flag
Enhancements
- Disable connections keepalive on shutdown signal
- This should allow Granian to successfully shutdown/reload even in presence of keepalived connections
- Improve descriptions of ASGI flow errors
Fixes
- Embed server reload
Granian 2.3.4
Patch release
Changes since 2.3.3:
- Fix a bug in ASGI protocol with Server-Sent events preventing response headers from being sent before first message
Granian 2.3.3
Patch release
Changes since 2.3.2:
- Fix PyPy builds
- Fix a type conversion bug on mTLS CRLs
- Fix deprecation warnings (#593 by @matthiask)
- Bump dependencies
Granian 2.3.2
Patch release
Changes since 2.3.1:
- Fix an ASGI flow error on websockets occurring with applications calling
receive
before sending the accept message (thanks @jthorniley)- This should fix a long-running issue with Django channels and Granian erroneously raising
ASGI Flow Error
under some circumstances
- This should fix a long-running issue with Django channels and Granian erroneously raising
Granian 2.3.1
Granian 2.3.0
What's Changed
New features
- Support for direct static files serving from a folder
- mTLS
Changes
- Switch to Rust 2024 edition
- Bump PyO3 to 0.25
- Bump dependencies
Enhancements
- Review shared socket implementation on Linux
Granian 2.2.6
Patch release
Changes since 2.2.5:
- Avoid to raise
RuntimeError
on RSGI headers methods when decoding fails - Bump dependencies
Granian 2.2.5
Patch release
Changes since 2.2.4:
- Fix a regression bug involving the event loop initialization and causing tasks to be attached to the wrong loop under some circumstances