Path to this page:
./
www/py-uvicorn,
The lightning-fast ASGI server
Branch: CURRENT,
Version: 0.52.3,
Package name: py313-uvicorn-0.52.3,
Maintainer: pkgsrc-usersUvicorn 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)
- (2026-08-17) Updated to version: py313-uvicorn-0.52.3
- (2026-08-11) Updated to version: py313-uvicorn-0.52.1
- (2026-07-16) Updated to version: py313-uvicorn-0.51.0
- (2026-07-08) Updated to version: py313-uvicorn-0.50.2
- (2026-06-06) Updated to version: py313-uvicorn-0.49.0
- (2026-05-26) Updated to version: py313-uvicorn-0.48.0
CVS history: (Expand)
2026-08-17 11:52:46 by Adam Ciarcinski | Files touched by this commit (2) |  |
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) |  |
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) |  |
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) |  |
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) |  |
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) |  |
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) |  |
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
|