v2.9.0
Sponsors 🌟
Thanks to these incredible business sponsors:
- Scalar (@scalar), Telemetry Sports (via @chris-telemetry), Stok (@stok-team), Bruno
Thanks to these incredible personal sponsors:
-
Polar.sh: @Nozavi, @cemrehancavdar, @thomastu, @skewty, @iRod3s
-
GitHub Sponsors: @benjamin-kirkbride, @crisog, @geeshta, @cbscsm, @ruslan-korneev
-
OpenCollective: Christian Y, Anonymous
-
A huge 'Thank you!' to all sponsors, subscribers, and contributors across Polar.sh, OpenCollective and GitHub Sponsors!
What's changed
New contributors 🎉
- @JorenSix made their first contribution in #3475
- @tibor-reiss made their first contribution in #3497
- @ch-iv made their first contribution in #3434
- @0xE111 made their first contribution in #3511
- @maintain0404 made their first contribution in #3405
Bugfixes 🐛
- fix: asgi lifespan msg after lifespan context exception by @peterschutt in #3315
- fix: bug when pydantic==1.10 is installed by @peterschutt in #3335
- fix: OpenAPI router and controller on same app. by @peterschutt in #3338
- fix: pydantic v2 import tests for pydantic v1.10.15 by @peterschutt in #3347
- fix: Remove use of asserts for control flow. by @peterschutt in #3359
- fix: schema for generic wrapped return types with DTO by @peterschutt in #3371
- fix: Ambiguous default warning for no signature default by @peterschutt in #3378
- fix: Path param consumed by dependency treated as unconsumed by @peterschutt in #3380
- fix: "name" and "in" should not be included in openapi headers by @peterschutt in #3417
- fix: top-level import of optional package by @peterschutt in #3418
- fix: regular handler under mounted app by @peterschutt in #3430
- fix: logging to file with structlog by @peterschutt in #3425
- fix: clear session cookie if new session gt CHUNK_SIZE by @peterschutt in #3446
- fix: flash messages were not displayed on Redirect by @euri10 in #3420
- fix: Validation of optional sequence in multipart data with one value by @provinzkraut in #3408
- fix(ci): adjust issue template to not allow blank issues by @JacobCoffee in #3452
- fix(pydantic v1): field not optional if default value by @peterschutt in #3476
- fix: prevent starting multiple responses by @peterschutt in #3479
- fix: logging middleware with multi-body response by @peterschutt in #3478
- fix(dto): handle dto type nested in mapping by @peterschutt in #3486
- fix: examples omitted in schema produced by dto by @peterschutt in #3510
- fix(validation): fix: handling validation of subscribed generics by @provinzkraut in #3519
- fix: exclude static file from schema by @tibor-reiss in #3509
- fix: use re.match instead of re.search for mounted app path (#3501) by @0xE111 in #3511
- fix(logging): do not log exceptions twice, deprecate
traceback_line_limit
and fix:pretty_print_tty
by @jderrien in #3507 - fix(OpenAPI): YAML schema dump by @floxay in #3537
New features 🚀
- Add async
websocket_connect
toAsyncTestClient
by @kedod in #3328 - Add
SecretString
andSecretBytes
datastructures by @peterschutt in #3322
Other changes
- Deprecate subclassing route handler decorators by @provinzkraut in #3439
- Deprecate CORSMiddleware from public interface. by @peterschutt in #3404
Full Changelog
v2.8.3...v2.9.0