Skip to content

Releases: encode/uvicorn

Version 0.17.0

14 Jan 10:44
59eeae6
Compare
Choose a tag to compare

Added

  • Allow configurable websocket per-message-deflate setting (#1300) 29/12/21
  • Support extra_headers for WS accept message (#1293) 06/01/22
  • Add missing http version on websockets scope (#1309) 08/01/22

Fixed/Removed

  • Drop Python 3.6 support (#1261) 06/01/22
  • Fix reload process behavior when exception is raised (#1313) 11/01/22
  • Remove root_path from logs (#1294) 25/12/21

Version 0.16.0

08 Dec 11:42
65ec8d1
Compare
Choose a tag to compare

0.16.0 - 2021-12-08

Added

  • Enable read of uvicorn settings from environment variables (#1279) 06/12/21
  • Bump websockets to 10.0. (#1180) 13/09/21
  • Ensure non-zero exit code when startup fails (#1278) 06/12/21
  • Increase httptools version range from "==0.2.*" to ">=0.2.0,<0.4.0". (#1243) 8/11/21
  • Override default asyncio event loop with reload only on Windows (#1257) 24/11/21
  • Replace HttpToolsProtocol.pipeline type from list to deque. (#1213) 10/10/21
  • Replace WSGIResponder.send_queue type from list to deque. (#1214) 10/10/21

Fixed

  • Main process exit after startup failure on reloader classes (#1177) 30/09/21
  • Add explicit casting on click options (#1217) 11/10/21
  • Allow WebSocket close event to receive reason being None from ASGI app. (#1259) 23/11/21
  • Fix a bug in WebSocketProtocol.asgi_receive on which we returned a close frame even if there were data messages before that frame in the read queue. (#1252) 25/11/21
  • The option --reload-dirs was splitting a string into single character directories. (#1267) 25/11/21
  • Only second SIGINT is able to forcelly shutdown the server (#1269) 28/11/21
  • Allow app-dir parameter on the run() function (#1271) 06/12/21

Version 0.15.0

13 Aug 17:06
a6dff71
Compare
Choose a tag to compare

0.15.0 - 2021-08-13

Added

  • Change reload to be configurable with glob patterns. Currently only .py files are watched, which is different from the previous default behavior. (#820) 08/08/21
  • Add Python 3.10-rc.1 support. Now the server uses asyncio.run which will: start a fresh asyncio event loop, on shutdown cancel any background tasks rather than aborting them, aexit any remaining async generators, and shutdown the default ThreadPoolExecutor. (#1070) 30/07/21
  • Exit with status 3 when worker starts failed (#1077) 22/06/21
  • Add option to set websocket ping interval and timeout (#1048) 09/06/21
  • Adapt bind_socket to make it usable with multiple processes (#1009) 21/06/21
  • Add existence check to the reload directory(ies) (#1089) 21/06/21
  • Add missing trace log for websocket protocols (#1083) 19/06/21
  • Support disabling default Server and Date headers (#818) 11/06/21

Changed

  • Add PEP440 compliant version of click (#1099) 29/06/21
  • Bump asgiref to 3.4.0 (#1100) 29/06/21

Fixed

  • When receiving a SIGTERM supervisors now terminate their processes before joining them (#1069) 30/07/21
  • Fix the need of httptools on minimal installation (#1135) 30/07/21
  • Fix ping parameters annotation in Config class (#1127) 19/07/21

Version 0.14.0

01 Jun 09:33
87da6cf
Compare
Choose a tag to compare

0.14.0 - 2021-06-01

Added

  • Defaults ws max_size on server to 16MB (#995) 5/29/21
  • Improve user feedback if no ws library installed (#926 and #1023) 2/27/21
  • Support 'reason' field in 'websocket.close' messages (#957) 2/24/21
  • Implemented lifespan.shutdown.failed (#755) 2/25/21

Changed

  • Upgraded websockets requirements (#1065) 6/1/21
  • Switch to asyncio streams API (#869) 5/29/21
  • Update httptools from 0.1.* to 0.2.* (#1024) 5/28/21
  • Allow Click 8.0, refs #1016 (#1042) 5/23/21
  • Add search for a trusted host in ProxyHeadersMiddleware (#591) 3/13/21
  • Up wsproto to 1.0.0 (#892) 2/25/21

Fixed

  • Force reload_dirs to be a list (#978) 6/1/21
  • Fix gunicorn worker not running if extras not installed (#901) 5/28/21
  • Fix socket port 0 (#975) 3/5/21
  • Prevent garbage collection of main lifespan task (#972) 3/4/21

Version 0.13.4

20 Feb 16:48
2a7634d
Compare
Choose a tag to compare

0.13.4 - 2021-02-20

Fixed

  • Fixed wsgi middleware PATH_INFO encoding (#962) 2/20/21
  • Fixed uvloop dependency (#952) 2/10/21 then (#959) 2/20/21
  • Relax watchgod up bound (#946) 1/31/21
  • Return 'connection: close' header in response (#721) 1/25/21

Added:

  • Docs: Nginx + websockets (#948) 2/10/21
  • Document the default value of 1 for workers (#940) (#943) 1/25/21
  • Enabled permessage-deflate extension in websockets (#764) 1/1/21

Version 0.13.3

29 Dec 16:41
fa914bc
Compare
Choose a tag to compare

0.13.3 - 2020-12-29

Fixed

  • Prevent swallowing of return codes from subprocess when running with Gunicorn by properly resetting signals. (Pull #895)
  • Tweak detection of app factories to be more robust. A warning is now logged when passing a factory without the --factory flag. (Pull #914)
  • Properly clean tasks when handshake is aborted when running with --ws websockets. (Pull #921)

Version 0.13.2

20 Dec 08:41
7a667a5
Compare
Choose a tag to compare

0.13.2 - 2020-12-12

Fixed

  • Log full exception traceback in case of invalid HTTP request. (Pull #886 and #888)

Version 0.13.1

12 Dec 11:59
1f282e0
Compare
Choose a tag to compare

0.13.1 - 2020-12-12

Fixed

  • Prevent exceptions when the ASGI application rejects a connection during the WebSocket handshake, when running on both --ws wsproto or --ws websockets. (Pull #704 and #881)
  • Ensure connection scope doesn't leak in logs when using JSON log formatters. (Pull #859 and #884)

Version 0.13.0

08 Dec 16:18
41a8be4
Compare
Choose a tag to compare

0.13.0 - 2020-12-08

Added

  • Add --factory flag to support factory-style application imports. (#875) 2020-12-07 50fc0d1
  • Skip installation of signal handlers when not in the main thread. Allows using Server in multithreaded contexts without having to override .install_signal_handlers(). (#871) 2020-12-07 ce2ef45

0.12.3 - 2020-11-21

22 Nov 09:32
0b941ab
Compare
Choose a tag to compare

0.12.3 - 2020-11-21

Fixed

  • Fix race condition that leads Quart to hang with uvicorn (#848) 11/18/20 de21361
  • Use latin1 when decoding X-Forwarded-* headers (#701) 11/12/20 45e6e83
  • Rework IPv6 support (#837) 11/8/20 bdab488
  • Cancel old keepalive-trigger before setting new one. (#832) 10/26/20 d5dcf80