./www/py-uvicorn, The lightning-fast ASGI server

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ]


Branch: CURRENT, Version: 0.52.3, Package name: py313-uvicorn-0.52.3, Maintainer: pkgsrc-users

Uvicorn is a lightning-fast ASGI server implementation, using uvloop and
httptools.

Until recently Python has lacked a minimal low-level server/application
interface for asyncio frameworks. The ASGI specification fills this gap, and
means we're now able to start building a common set of tooling usable across
all asyncio frameworks.


Required to run:
[devel/py-setuptools] [devel/py-click] [devel/py-uvloop] [www/py-websockets] [www/py-httptools] [www/py-h11] [lang/python37]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 98.263 KB

Version history: (Expand)


CVS history: (Expand)


   2026-08-17 11:52:46 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-uvicorn: updated to 0.52.3

0.52.3
Update zttp to 0.0.24 and use its combined receive path, improving HTTP/1.1 \ 
request parsing performance
   2026-08-11 16:48:50 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-uvicorn: updated to 0.52.1

0.52.1

Fixed

Complete the closing handshake on server-initiated WebSocket closes in the \ 
websockets-sansio and wsproto implementations, waiting for the client's close \ 
reply with a 10 second timeout instead of resetting the connection
Add missing write flow control to the websockets-sansio implementation, \ 
preventing data truncation on server-initiated closes with large in-flight \ 
payloads
Handle connection loss while a WebSocket write is waiting on backpressure
Remove duplicate Content-Type and Content-Length headers from WebSocket denial \ 
responses on the websockets-sansio implementation, and deliver non-UTF-8 denial \ 
bodies intact
   2026-07-16 13:23:48 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-uvicorn: updated to 0.51.0

0.51.0

Restart workers with overlap on SIGHUP for near-zero-downtime reloads
Remove colorama from the standard extra
   2026-07-08 10:04:04 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-uvicorn: updated to 0.50.2

0.50.2 (July 6, 2026)

Fixed

Require websockets>=13.0, which the default websockets-sansio implementation needs

0.50.1 (July 6, 2026)

Fixed

Split comma-separated Sec-WebSocket-Protocol values in the websockets-sansio \ 
implementation

0.50.0 (July 4, 2026)

If you use WebSockets, note that --ws auto now picks the websockets-sansio \ 
implementation. You shouldn't need it, but you can pin --ws websockets to get \ 
the deprecated legacy one back.

Changed

Exit with the dedicated code 3 on any startup failure: app loading, socket bind \ 
and lifespan startup errors previously exited with a mix of 0, 1 and 3
Stop the multiprocess supervisor when a worker exits with code 3 instead of \ 
restarting it forever
Default --ws auto to websockets-sansio when websockets is installed
Skip the eager app import in the parent process with --reload or --workers, \ 
fixing a memory regression introduced in 0.47.0
Build a fresh asgi scope dict per request
Cache the asgi scope sub-dict per connection
Avoid copying single-frame WebSocket payloads in websockets-sansio
Memoize trusted host checks in ProxyHeadersMiddleware
Replace click.style with an internal ANSI style helper

Deprecated

Deprecate the legacy websockets implementation; use websockets-sansio or wsproto \ 
instead
   2026-06-28 17:41:51 by Thomas Klausner | Files touched by this commit (364)
Log message:
*: limit Python versions due to py-numpy dropping Python 3.11 support
   2026-06-06 08:36:43 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-uvicorn: updated to 0.49.0

0.49.0

Bump httptools minimum version to 0.8.0
Consume duplicate forwarding headers in ProxyHeadersMiddleware (reverses the \ 
0.48.0 behavior of ignoring them)
   2026-05-26 10:58:52 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-uvicorn: updated to 0.48.0

0.48.0

Changed

Default ssl_ciphers to None and use OpenSSL defaults

Fixed

Ignore duplicate forwarding headers in ProxyHeadersMiddleware
   2026-05-19 13:42:44 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-uvicorn: updated to 0.47.0

0.47.0

Eagerly import the ASGI app in the parent process
Add ssl_context_factory for custom SSLContext configuration
Treat fd=0 as a valid file descriptor with reload/workers