Skip to content

Releases: Kludex/uvicorn

Version 0.51.0

Choose a tag to compare

@Kludex Kludex released this 08 Jul 10:58
e4d0b05

What's Changed

  • Restart workers with overlap on SIGHUP for near-zero-downtime reloads by @Kludex in #3025
  • Remove colorama from the standard extra by @Kludex in #3027

Full Changelog: 0.50.2...0.51.0

Version 0.50.1

Choose a tag to compare

@Kludex Kludex released this 06 Jul 07:50
b4d0116

What's Changed

  • Split comma-separated Sec-WebSocket-Protocol values in the websockets-sansio implementation by @Aayush7352 in #3019

New Contributors

Full Changelog: 0.50.0...0.50.1

Version 0.50.0

Choose a tag to compare

@Kludex Kludex released this 04 Jul 05:00
21d2c16

What's Changed

  • Memoize trusted host checks to avoid re-parsing the client IP per request by @Kludex in #2970
  • Cache the asgi scope sub-dict per connection by @Kludex in #2976
  • Build a fresh asgi scope 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 auto to 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

Version 0.49.0

Choose a tag to compare

@Kludex Kludex released this 03 Jun 21:59
3ef2e3e

What's Changed

  • Bump httptools minimum version to 0.8.0 by @Kludex in #2962
  • Consume duplicate forwarding headers in ProxyHeadersMiddleware (reverses the 0.48.0 behavior of ignoring them) by @Kludex in #2971

Full Changelog: 0.48.0...0.49.0

Version 0.48.0

Choose a tag to compare

@Kludex Kludex released this 24 May 12:07
73e84e5

What's Changed

  • Default ssl_ciphers to None and use OpenSSL defaults by @Kludex in #2940
  • Ignore duplicate forwarding headers in ProxyHeadersMiddleware by @Kludex in #2944

Full Changelog: 0.47.0...0.48.0

Version 0.47.0

Choose a tag to compare

@Kludex Kludex released this 14 May 13:21
479a2c0

What's Changed

  • Eagerly import the ASGI app in the parent process by @Kludex in #2919
  • Add ssl_context_factory for custom SSLContext configuration by @Kludex in #2920
  • Treat fd=0 as a valid file descriptor with reload/workers by @eltoder in #2927

Full Changelog: 0.46.0...0.47.0

Version 0.46.0

Choose a tag to compare

@Kludex Kludex released this 23 Apr 06:34
b224045

What's Changed

  • Support ws_max_size in wsproto implementation by @Kludex in #2915
  • Support ws_ping_interval and ws_ping_timeout in wsproto implementation by @Kludex in #2916
  • Use bytearray for incoming WebSocket message buffer in websockets-sansio by @Kludex in #2917

Full Changelog: 0.45.0...0.46.0

Version 0.45.0

Choose a tag to compare

@Kludex Kludex released this 21 Apr 10:42
2c423bd

What's Changed

  • Preserve forwarded client ports in proxy headers middleware by @Kludex in #2903
  • Accept os.PathLike for log_config by @Kludex in #2905
  • Accept log_level strings case-insensitively by @Kludex in #2907
  • Raise helpful ImportError when PyYAML is missing for YAML log config by @Kludex in #2906
  • Revert empty context for ASGI runs by @Kludex in #2911
  • Add --reset-contextvars flag to isolate ASGI request context by @Kludex in #2912
  • Revert "Emit http.disconnect on server shutdown for streaming responses" (#2829) by @Kludex in #2913

New Contributors

Full Changelog: 0.44.0...0.45.0

Version 0.44.0

Choose a tag to compare

@Kludex Kludex released this 06 Apr 09:22
edb54c4

What's Changed

  • Implement websocket keepalive pings for websockets-sansio by @Kludex in #2888

Full Changelog: 0.43.0...0.44.0

Version 0.43.0

Choose a tag to compare

@Kludex Kludex released this 03 Apr 18:36
8d397c7

Changed

  • Emit http.disconnect ASGI receive() event on server shutting down for streaming responses (#2829)
  • Use native context parameter for create_task on Python 3.11+ (#2859)
  • Drop cast in ASGI types (#2875)

Full Changelog: 0.42.0...0.43.0