What's Changed
- Memoize trusted host checks to avoid re-parsing the client IP per request by @Kludex in #2970
- Cache the
asgiscope sub-dict per connection by @Kludex in #2976 - Build a fresh
asgiscope dict per request by @Kludex in #2977 - Replace click.style with an internal ANSI style helper by @Kludex in #2981
- Avoid copying single-frame WebSocket payloads in websockets-sansio by @Kludex in #2983
- Deprecate the legacy websockets implementation and default
autoto websockets-sansio by @Kludex in #2985 - Exit with a dedicated code on startup failure and stop the supervisor when a worker can't boot by @Kludex in #3001
- Skip the eager app import in the parent when spawning workers by @Kludex in #3012
Full Changelog: 0.49.0...0.50.0