Skip to content

v3.2.0

Choose a tag to compare

@kennethreitz kennethreitz released this 22 Mar 16:46
· 72 commits to main since this release

What's New in 3.2.0

Pydantic auto-validation and response serialization:

  • request_model=MyModel validates request bodies, returns 422 on failure
  • response_model=MyModel serializes responses, strips extra fields

Server-Sent Events:

  • @resp.sse for real-time streaming (AI responses, live feeds, progress)

File streaming:

  • resp.stream_file("large.csv") — stream without loading into memory

After-request hooks:

  • @api.after_request() — run code after every request

Route groups:

  • v1 = api.group("/v1") — organize routes with shared prefixes

Request ID:

  • api = responder.API(request_id=True) — auto-generate trace IDs

Rate limiting:

  • RateLimiter(requests=100, period=60).install(api)

MessagePack:

  • await req.media("msgpack") — binary serialization alongside JSON/YAML

Bug fixes:

  • Fix streaming responses not sending Content-Type headers
  • Fix GraphQL text query missing await

176 tests, 95% coverage.