forked from pool/python-uvicorn
		
	- Update to 0.36.0
* Don't include cwd() when non-empty --reload-dirs is passed * Apply get_client_addr formatting to WebSocket logging * Add WebSocketsSansIOProtocol * Refine help message for option --proxy-headers * Support custom IOLOOPs * Allow to provide importable string in --http, --ws and --loop - support-websockets-14+.patch was almost fixed upstream, apply the rest - Add upstream patch py314.patch to fix build with Python 3.14 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-uvicorn?expand=0&rev=44
This commit is contained in:
		
							
								
								
									
										23
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					## Default LFS
 | 
				
			||||||
 | 
					*.7z filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
 | 
					*.bsp filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
 | 
					*.bz2 filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
 | 
					*.gem filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
 | 
					*.gz filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
 | 
					*.jar filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
 | 
					*.lz filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
 | 
					*.lzma filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
 | 
					*.obscpio filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
 | 
					*.oxt filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
 | 
					*.pdf filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
 | 
					*.png filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
 | 
					*.rpm filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
 | 
					*.tbz filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
 | 
					*.tbz2 filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
 | 
					*.tgz filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
 | 
					*.ttf filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
 | 
					*.txz filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
 | 
					*.whl filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
 | 
					*.xz filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
 | 
					*.zip filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
 | 
					*.zst filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					.osc
 | 
				
			||||||
							
								
								
									
										156
									
								
								py314.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										156
									
								
								py314.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,156 @@
 | 
				
			|||||||
 | 
					From 208a37a4de8f2fd6697dc3eaf076bac7442f5628 Mon Sep 17 00:00:00 2001
 | 
				
			||||||
 | 
					From: Thomas Grainger <tagrain@gmail.com>
 | 
				
			||||||
 | 
					Date: Sat, 14 Oct 2023 11:48:19 +0100
 | 
				
			||||||
 | 
					Subject: [PATCH 01/19] use asyncio.run(..., loop_factory) to avoid
 | 
				
			||||||
 | 
					 asyncio.set_event_loop_policy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					 tests/test_auto_detection.py | 11 ++---
 | 
				
			||||||
 | 
					 uvicorn/_compat.py           | 86 ++++++++++++++++++++++++++++++++++++
 | 
				
			||||||
 | 
					 uvicorn/config.py            | 17 +++----
 | 
				
			||||||
 | 
					 uvicorn/loops/asyncio.py     | 13 ++++--
 | 
				
			||||||
 | 
					 uvicorn/loops/auto.py        | 18 +++++---
 | 
				
			||||||
 | 
					 uvicorn/loops/uvloop.py      |  9 +++-
 | 
				
			||||||
 | 
					 uvicorn/main.py              |  4 +-
 | 
				
			||||||
 | 
					 uvicorn/server.py            |  4 +-
 | 
				
			||||||
 | 
					 uvicorn/workers.py           |  6 +--
 | 
				
			||||||
 | 
					 9 files changed, 138 insertions(+), 30 deletions(-)
 | 
				
			||||||
 | 
					 create mode 100644 uvicorn/_compat.py
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Index: uvicorn-0.36.0/tests/test_auto_detection.py
 | 
				
			||||||
 | 
					===================================================================
 | 
				
			||||||
 | 
					--- uvicorn-0.36.0.orig/tests/test_auto_detection.py
 | 
				
			||||||
 | 
					+++ uvicorn-0.36.0/tests/test_auto_detection.py
 | 
				
			||||||
 | 
					@@ -1,6 +1,7 @@
 | 
				
			||||||
 | 
					 import asyncio
 | 
				
			||||||
 | 
					 import contextlib
 | 
				
			||||||
 | 
					 import importlib
 | 
				
			||||||
 | 
					+import sys
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 import pytest
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					@@ -12,9 +13,14 @@ from uvicorn.server import ServerState
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 try:
 | 
				
			||||||
 | 
					     importlib.import_module("uvloop")
 | 
				
			||||||
 | 
					-    expected_loop = "uvloop"  # pragma: py-win32
 | 
				
			||||||
 | 
					 except ImportError:  # pragma: py-not-win32
 | 
				
			||||||
 | 
					     expected_loop = "asyncio"
 | 
				
			||||||
 | 
					+except AttributeError:  # pragma: py-lt-314  # pragma: py-win32
 | 
				
			||||||
 | 
					+    if sys.version_info < (3, 14):  # pragma: no cover
 | 
				
			||||||
 | 
					+        raise
 | 
				
			||||||
 | 
					+    expected_loop = "asyncio"
 | 
				
			||||||
 | 
					+else:  # pragma: py-win32  # pragma: py-gte-314
 | 
				
			||||||
 | 
					+    expected_loop = "uvloop"
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 try:
 | 
				
			||||||
 | 
					     importlib.import_module("httptools")
 | 
				
			||||||
 | 
					Index: uvicorn-0.36.0/uvicorn/_compat.py
 | 
				
			||||||
 | 
					===================================================================
 | 
				
			||||||
 | 
					--- uvicorn-0.36.0.orig/uvicorn/_compat.py
 | 
				
			||||||
 | 
					+++ uvicorn-0.36.0/uvicorn/_compat.py
 | 
				
			||||||
 | 
					@@ -5,6 +5,13 @@ import sys
 | 
				
			||||||
 | 
					 from collections.abc import Callable, Coroutine
 | 
				
			||||||
 | 
					 from typing import Any, TypeVar
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+__all__ = ["asyncio_run", "iscoroutinefunction"]
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if sys.version_info >= (3, 14):
 | 
				
			||||||
 | 
					+    from inspect import iscoroutinefunction
 | 
				
			||||||
 | 
					+else:
 | 
				
			||||||
 | 
					+    from asyncio import iscoroutinefunction
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 _T = TypeVar("_T")
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 if sys.version_info >= (3, 12):
 | 
				
			||||||
 | 
					Index: uvicorn-0.36.0/uvicorn/config.py
 | 
				
			||||||
 | 
					===================================================================
 | 
				
			||||||
 | 
					--- uvicorn-0.36.0.orig/uvicorn/config.py
 | 
				
			||||||
 | 
					+++ uvicorn-0.36.0/uvicorn/config.py
 | 
				
			||||||
 | 
					@@ -16,6 +16,7 @@ from typing import IO, Any, Callable, Li
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 import click
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+from uvicorn._compat import iscoroutinefunction
 | 
				
			||||||
 | 
					 from uvicorn._types import ASGIApplication
 | 
				
			||||||
 | 
					 from uvicorn.importer import ImportFromStringError, import_from_string
 | 
				
			||||||
 | 
					 from uvicorn.logging import TRACE_LOG_LEVEL
 | 
				
			||||||
 | 
					Index: uvicorn-0.36.0/uvicorn/loops/auto.py
 | 
				
			||||||
 | 
					===================================================================
 | 
				
			||||||
 | 
					--- uvicorn-0.36.0.orig/uvicorn/loops/auto.py
 | 
				
			||||||
 | 
					+++ uvicorn-0.36.0/uvicorn/loops/auto.py
 | 
				
			||||||
 | 
					@@ -1,17 +1,23 @@
 | 
				
			||||||
 | 
					 from __future__ import annotations
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 import asyncio
 | 
				
			||||||
 | 
					+import sys
 | 
				
			||||||
 | 
					 from collections.abc import Callable
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-def auto_loop_factory(use_subprocess: bool = False) -> Callable[[], asyncio.AbstractEventLoop]:
 | 
				
			||||||
 | 
					+def auto_loop_factory(use_subprocess: bool = False) -> Callable[[], asyncio.AbstractEventLoop]:  # pragma: no cover
 | 
				
			||||||
 | 
					     try:
 | 
				
			||||||
 | 
					         import uvloop  # noqa
 | 
				
			||||||
 | 
					     except ImportError:  # pragma: no cover
 | 
				
			||||||
 | 
					-        from uvicorn.loops.asyncio import asyncio_loop_factory as loop_factory
 | 
				
			||||||
 | 
					-
 | 
				
			||||||
 | 
					-        return loop_factory(use_subprocess=use_subprocess)
 | 
				
			||||||
 | 
					+        pass
 | 
				
			||||||
 | 
					+    except AttributeError:  # pragma: no cover
 | 
				
			||||||
 | 
					+        if sys.version_info < (3, 14):
 | 
				
			||||||
 | 
					+            raise
 | 
				
			||||||
 | 
					     else:  # pragma: no cover
 | 
				
			||||||
 | 
					         from uvicorn.loops.uvloop import uvloop_loop_factory
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					         return uvloop_loop_factory(use_subprocess=use_subprocess)
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+    from uvicorn.loops.asyncio import asyncio_loop_factory as loop_factory
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+    return loop_factory(use_subprocess=use_subprocess)
 | 
				
			||||||
 | 
					Index: uvicorn-0.36.0/pyproject.toml
 | 
				
			||||||
 | 
					===================================================================
 | 
				
			||||||
 | 
					--- uvicorn-0.36.0.orig/pyproject.toml
 | 
				
			||||||
 | 
					+++ uvicorn-0.36.0/pyproject.toml
 | 
				
			||||||
 | 
					@@ -25,6 +25,7 @@ classifiers = [
 | 
				
			||||||
 | 
					     "Programming Language :: Python :: 3.11",
 | 
				
			||||||
 | 
					     "Programming Language :: Python :: 3.12",
 | 
				
			||||||
 | 
					     "Programming Language :: Python :: 3.13",
 | 
				
			||||||
 | 
					+    "Programming Language :: Python :: 3.14",
 | 
				
			||||||
 | 
					     "Programming Language :: Python :: Implementation :: CPython",
 | 
				
			||||||
 | 
					     "Programming Language :: Python :: Implementation :: PyPy",
 | 
				
			||||||
 | 
					     "Topic :: Internet :: WWW/HTTP",
 | 
				
			||||||
 | 
					@@ -160,6 +161,7 @@ exclude_lines = [
 | 
				
			||||||
 | 
					     "tests/supervisors/test_multiprocess.py",
 | 
				
			||||||
 | 
					 ]
 | 
				
			||||||
 | 
					 "sys_platform != 'win32'" = ["uvicorn/loops/asyncio.py"]
 | 
				
			||||||
 | 
					+"sys_version_info >= (3, 14)" = ["uvicorn/loops/uvloop.py"]
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 [tool.coverage.coverage_conditional_plugin.rules]
 | 
				
			||||||
 | 
					 py-win32 = "sys_platform == 'win32'"
 | 
				
			||||||
 | 
					@@ -173,3 +175,5 @@ py-gte-310 = "sys_version_info >= (3, 10
 | 
				
			||||||
 | 
					 py-lt-310 = "sys_version_info < (3, 10)"
 | 
				
			||||||
 | 
					 py-gte-311 = "sys_version_info >= (3, 11)"
 | 
				
			||||||
 | 
					 py-lt-311 = "sys_version_info < (3, 11)"
 | 
				
			||||||
 | 
					+py-gte-314 = "sys_version_info >= (3, 14)"
 | 
				
			||||||
 | 
					+py-lt-314 = "sys_version_info < (3, 14)"
 | 
				
			||||||
 | 
					Index: uvicorn-0.36.0/tests/test_compat.py
 | 
				
			||||||
 | 
					===================================================================
 | 
				
			||||||
 | 
					--- uvicorn-0.36.0.orig/tests/test_compat.py
 | 
				
			||||||
 | 
					+++ uvicorn-0.36.0/tests/test_compat.py
 | 
				
			||||||
 | 
					@@ -1,6 +1,7 @@
 | 
				
			||||||
 | 
					 from __future__ import annotations
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 import asyncio
 | 
				
			||||||
 | 
					+import sys
 | 
				
			||||||
 | 
					 from asyncio import AbstractEventLoop
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 import pytest
 | 
				
			||||||
 | 
					@@ -23,7 +24,7 @@ def test_asyncio_run__custom_loop_factor
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 def test_asyncio_run__passing_a_non_awaitable_callback_should_throw_error() -> None:
 | 
				
			||||||
 | 
					-    with pytest.raises(ValueError):
 | 
				
			||||||
 | 
					+    with pytest.raises(TypeError if sys.version_info >= (3, 14) else ValueError):
 | 
				
			||||||
 | 
					         asyncio_run(
 | 
				
			||||||
 | 
					             lambda: None,  # type: ignore
 | 
				
			||||||
 | 
					             loop_factory=CustomLoop,
 | 
				
			||||||
							
								
								
									
										444
									
								
								python-uvicorn.changes
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										444
									
								
								python-uvicorn.changes
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,444 @@
 | 
				
			|||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Mon Sep 22 13:01:16 UTC 2025 - Markéta Machová <mmachova@suse.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update to 0.36.0
 | 
				
			||||||
 | 
					  * Don't include cwd() when non-empty --reload-dirs is passed
 | 
				
			||||||
 | 
					  * Apply get_client_addr formatting to WebSocket logging
 | 
				
			||||||
 | 
					  * Add WebSocketsSansIOProtocol
 | 
				
			||||||
 | 
					  * Refine help message for option --proxy-headers
 | 
				
			||||||
 | 
					  * Support custom IOLOOPs
 | 
				
			||||||
 | 
					  * Allow to provide importable string in --http, --ws and --loop
 | 
				
			||||||
 | 
					- support-websockets-14+.patch was almost fixed upstream, apply the rest
 | 
				
			||||||
 | 
					- Add upstream patch py314.patch to fix build with Python 3.14
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Mon Aug 25 14:27:42 UTC 2025 - Markéta Machová <mmachova@suse.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Convert to libalternatives on SLE-16-based and newer systems
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Thu May  1 06:28:46 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update to 0.34.2:
 | 
				
			||||||
 | 
					  * Added
 | 
				
			||||||
 | 
					    + Add content-length to 500 response in wsproto implementation
 | 
				
			||||||
 | 
					  * Fixed
 | 
				
			||||||
 | 
					    + Flush stdout buffer on Windows to trigger reload
 | 
				
			||||||
 | 
					    + Drop ASGI spec version to 2.3 on HTTP scope
 | 
				
			||||||
 | 
					    + Enable httptools lenient data on httptools >= 0.6.3
 | 
				
			||||||
 | 
					  * Deprecated
 | 
				
			||||||
 | 
					    + Deprecate ServerState in the main module
 | 
				
			||||||
 | 
					  * Removed
 | 
				
			||||||
 | 
					    + Drop support for Python 3.8
 | 
				
			||||||
 | 
					    + Remove WatchGod support for --reload
 | 
				
			||||||
 | 
					- Add patch support-websockets-14+.patch:
 | 
				
			||||||
 | 
					  * Ignore multiple classes of DeprecationWarnings.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Wed Oct 30 10:37:07 UTC 2024 - Dirk Müller <dmueller@suse.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- update to 0.32.0:
 | 
				
			||||||
 | 
					  * Officially support Python 3.13
 | 
				
			||||||
 | 
					  * Warn when `max_request_limit` is exceeded
 | 
				
			||||||
 | 
					  * Support WebSockets 0.13.1
 | 
				
			||||||
 | 
					  * Restore support for `[*]` in trusted hosts
 | 
				
			||||||
 | 
					  * Add `PathLike[str]` type hint for `ssl_keyfile`
 | 
				
			||||||
 | 
					  * Improve `ProxyHeadersMiddleware` (#2468) and (#2231):
 | 
				
			||||||
 | 
					  * Fix the host for requests from clients running on the proxy
 | 
				
			||||||
 | 
					    server itself.
 | 
				
			||||||
 | 
					  * Fallback to host that was already set for empty x-forwarded-
 | 
				
			||||||
 | 
					    for headers.
 | 
				
			||||||
 | 
					  * Also allow to specify IP Networks as trusted hosts. This
 | 
				
			||||||
 | 
					    greatly simplifies deployments
 | 
				
			||||||
 | 
					  * on docker swarm/kubernetes, where the reverse proxy might
 | 
				
			||||||
 | 
					    have a dynamic IP.
 | 
				
			||||||
 | 
					  * This includes support for IPv6 Address/Networks.
 | 
				
			||||||
 | 
					  * Don't warn when upgrade is not WebSocket and depedencies are
 | 
				
			||||||
 | 
					    installed
 | 
				
			||||||
 | 
					  * Don't close connection before receiving body on H11
 | 
				
			||||||
 | 
					  * Close connection when `h11` sets client state to `MUST_CLOSE`
 | 
				
			||||||
 | 
					  * Suppress `KeyboardInterrupt` from CLI and programmatic usage
 | 
				
			||||||
 | 
					  * `ClientDisconnect` inherits from `OSError` instead of
 | 
				
			||||||
 | 
					    `IOError`
 | 
				
			||||||
 | 
					  * Add `reason` support to `websocket.disconnect` event
 | 
				
			||||||
 | 
					  * Iterate subprocesses in-place on the process manager
 | 
				
			||||||
 | 
					  * Allow horizontal tabs `	` in response header values
 | 
				
			||||||
 | 
					  * New multiprocess manager
 | 
				
			||||||
 | 
					  * Allow `ConfigParser` or a `io.IO[Any]` on `log_config`
 | 
				
			||||||
 | 
					  * Suppress side-effects of signal propagation
 | 
				
			||||||
 | 
					  * Send `content-length` header on 5xx
 | 
				
			||||||
 | 
					  * Deprecate the `uvicorn.workers` module
 | 
				
			||||||
 | 
					- drop fix-websocket-tests.patch,
 | 
				
			||||||
 | 
					  0001-Stop-using-deprecated-app-shortcut-in-httpx.AsyncCli.patch:
 | 
				
			||||||
 | 
					  upstream
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Mon Mar 25 20:19:46 UTC 2024 - Dan Čermák <dcermak@suse.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- New upstream release 0.29.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  * Cooperative signal handling (#1600) 19/03/24
 | 
				
			||||||
 | 
					  * Revert raise `ClientDisconnected` on HTTP (#2276) 19/03/24
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Add patch:
 | 
				
			||||||
 | 
					  * 0001-Stop-using-deprecated-app-shortcut-in-httpx.AsyncCli.patch
 | 
				
			||||||
 | 
					    upstream fix for the testsuite with httpx 0.27
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Remove pointless Suggests:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Sun Mar 17 10:11:10 UTC 2024 - Dirk Müller <dmueller@suse.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- update to 0.28.0:
 | 
				
			||||||
 | 
					  * Raise `ClientDisconnected` on `send()` when client
 | 
				
			||||||
 | 
					    disconnected (#2220) 12/02/24
 | 
				
			||||||
 | 
					  * Except `AttributeError` on `sys.stdin.fileno()` for Windows
 | 
				
			||||||
 | 
					    IIS10 (#1947) 29/02/24
 | 
				
			||||||
 | 
					  * Use `X-Forwarded-Proto` for WebSockets scheme when the proxy
 | 
				
			||||||
 | 
					    provides it (#2258) 01/03/24
 | 
				
			||||||
 | 
					  * Fix spurious LocalProtocolError errors when processing
 | 
				
			||||||
 | 
					    pipelined requests (#2243) 10/02/24
 | 
				
			||||||
 | 
					  * Fix nav overrides for newer version of Mkdocs Material
 | 
				
			||||||
 | 
					    (#2233) 26/01/24
 | 
				
			||||||
 | 
					  * Raise `ClientDisconnect(IOError)` on `send()` when client
 | 
				
			||||||
 | 
					    disconnected (#2218) 19/01/24
 | 
				
			||||||
 | 
					  * Bump ASGI WebSocket spec version to 2.4 (#2221) 20/01/24
 | 
				
			||||||
 | 
					  * Update `--root-path` to include the root path prefix in the
 | 
				
			||||||
 | 
					    full ASGI `path` as per the ASGI spec (#2213) 16/01/24
 | 
				
			||||||
 | 
					  * Use `__future__.annotations` on some internal modules (#2199)
 | 
				
			||||||
 | 
					    16/01/24
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Tue Jan 30 12:43:20 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Disable flacky test in s390x with current python-websockets,
 | 
				
			||||||
 | 
					  bsc#1217022
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Sun Jan 14 10:55:54 UTC 2024 - Dirk Müller <dmueller@suse.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- update to 0.25.0:
 | 
				
			||||||
 | 
					  * Support the WebSocket Denial Response ASGI extension (#1916)
 | 
				
			||||||
 | 
					  * Allow explicit hidden file paths on `--reload-include`
 | 
				
			||||||
 | 
					  * Properly annotate `uvicorn.run()`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Sun Nov 26 10:43:29 UTC 2023 - Dirk Müller <dmueller@suse.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- update to 0.24.0.post1:
 | 
				
			||||||
 | 
					  * Revert mkdocs-material from 9.1.21 to 9.2.6 (#2148) 05/11/23
 | 
				
			||||||
 | 
					  * Support Python 3.12 (#2145) 04/11/23
 | 
				
			||||||
 | 
					  * Allow setting `app` via environment variable `UVICORN_APP`
 | 
				
			||||||
 | 
					    (#2106) 21/09/23
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Tue Sep 26 14:13:34 UTC 2023 - Dirk Müller <dmueller@suse.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- update to 0.23.2:
 | 
				
			||||||
 | 
					  * Maintain the same behavior of `websockets` from 10.4 on 11.0
 | 
				
			||||||
 | 
					  * Add `typing_extensions` for Python 3.10 and lower (#2053)
 | 
				
			||||||
 | 
					  * Add `--ws-max-queue` parameter WebSockets (#2033) 10/07/23
 | 
				
			||||||
 | 
					  * Drop support for Python 3.7 (#1996) 19/06/23
 | 
				
			||||||
 | 
					  * Remove `asgiref` as typing dependency (#1999) 08/06/23
 | 
				
			||||||
 | 
					  * Set `scope["scheme"]` to `ws` or `wss` instead of `http` or
 | 
				
			||||||
 | 
					    `https` on `ProxyHeadersMiddleware` for WebSockets (#2043)
 | 
				
			||||||
 | 
					    12/07/23
 | 
				
			||||||
 | 
					  * Raise `ImportError` on circular import (#2040) 09/07/23
 | 
				
			||||||
 | 
					  * Use `logger.getEffectiveLevel()` instead of `logger.level` to
 | 
				
			||||||
 | 
					    check if log level is `TRACE` (#1966) 01/06/23
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Thu Jun 22 15:25:56 UTC 2023 - Dirk Müller <dmueller@suse.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- limit to newer python versions, older are no longer needed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Fri May 12 08:24:05 UTC 2023 - daniel.garcia@suse.com
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Add fix-websocket-tests.patch gh#encode/uvicorn#1929
 | 
				
			||||||
 | 
					- Update to version 0.22.0:
 | 
				
			||||||
 | 
					  * Version 0.22.0 (#1957)
 | 
				
			||||||
 | 
					  * Remove unused events (#1956)
 | 
				
			||||||
 | 
					  * remove a few mypy excludes (#1954)
 | 
				
			||||||
 | 
					  * Add `--timeout-graceful-shutdown` parameter (#1950)
 | 
				
			||||||
 | 
					  * Fix typo in setup.cfg (#1953)
 | 
				
			||||||
 | 
					  * Update `scripts/check` (#1952)
 | 
				
			||||||
 | 
					  * Add `WatchFilesReload` pause method (#1930)
 | 
				
			||||||
 | 
					  * Create PULL_REQUEST_TEMPLATE.md (#1946)
 | 
				
			||||||
 | 
					  * Handle `SIGBREAK` for Windows (#1909)
 | 
				
			||||||
 | 
					  * Fix shutdown event on Windows in reloader (#1584)
 | 
				
			||||||
 | 
					  * Handle missing trustme/cryptography gracefully in the test suite (#1940)
 | 
				
			||||||
 | 
					  * Add type hints to test_auto_detection.py (#1937)
 | 
				
			||||||
 | 
					  * Fix watchgod deprecation warning (#1938)
 | 
				
			||||||
 | 
					  * Upgrade and fix Black (#1926)
 | 
				
			||||||
 | 
					  * Use ruff instead of flake8, autoflake and isort (#1925)
 | 
				
			||||||
 | 
					  * Upgrade MyPy and fix issues (#1931)
 | 
				
			||||||
 | 
					  * Pin websockets to <11.0 (#1928)
 | 
				
			||||||
 | 
					  * Bump coverage from 7.1.0 to 7.2.2 (#1920)
 | 
				
			||||||
 | 
					  * Fix instructions so they work in zsh as well as Bash (#1915)
 | 
				
			||||||
 | 
					  * [`Docs`] : Hypercorn supports HTTP/3 (#1913)
 | 
				
			||||||
 | 
					  * Version 0.21.1 (#1904)
 | 
				
			||||||
 | 
					  * Reset lifespan state on each request (#1903)
 | 
				
			||||||
 | 
					  * Version 0.21.0 (#1892)
 | 
				
			||||||
 | 
					  * Improve discoverability when `--port=0` is used (#1890)
 | 
				
			||||||
 | 
					  * Fix mypy on test_websockets (#1889)
 | 
				
			||||||
 | 
					  * Add type annotation on `test_websockets.py` (#1880)
 | 
				
			||||||
 | 
					  * Introduce lifespan state (#1818)
 | 
				
			||||||
 | 
					  * Bump build from 0.9.0 to 0.10.0 (#1882)
 | 
				
			||||||
 | 
					  * Bump pytest from 7.2.0 to 7.2.1 (#1883)
 | 
				
			||||||
 | 
					  * Bump a2wsgi from 1.6.0 to 1.7.0 (#1886)
 | 
				
			||||||
 | 
					  * Add type annotation on `test_logging.py` (#1881)
 | 
				
			||||||
 | 
					  * fix: typo (#1871)
 | 
				
			||||||
 | 
					  * Bump cryptography from 38.0.3 to 39.0.1 (#1865)
 | 
				
			||||||
 | 
					  * Improve import time (#1846)
 | 
				
			||||||
 | 
					  * Bump coverage from 6.5.0 to 7.1.0 (#1856)
 | 
				
			||||||
 | 
					  * Bump twine from 4.0.1 to 4.0.2 (#1857)
 | 
				
			||||||
 | 
					  * Bump types-pyyaml from 6.0.12.2 to 6.0.12.3 (#1858)
 | 
				
			||||||
 | 
					  * Move a2wsgi to the explicit optionals section in the requirements (#1849)
 | 
				
			||||||
 | 
					  * Replace current WSGIMiddleware implementation by a2wsgi one (#1825)
 | 
				
			||||||
 | 
					  * Send code 1012 on shutdown for websockets (#1816)
 | 
				
			||||||
 | 
					  * Change default `--app-dir` from from "." (dot) to "" (empty string). (#1835)
 | 
				
			||||||
 | 
					  * Bump types-pyyaml from 6.0.12.1 to 6.0.12.2 (#1827)
 | 
				
			||||||
 | 
					  * Bump pytest from 7.1.3 to 7.2.0 (#1830)
 | 
				
			||||||
 | 
					  * Fix cli_usage tool on systems without an activated virtualenv (#1823)
 | 
				
			||||||
 | 
					  * Fix ASGI application on the documentation (#1821)
 | 
				
			||||||
 | 
					  * Delete setup.py (#1822)
 | 
				
			||||||
 | 
					  * tests: test to start server with invalid host (#1813)
 | 
				
			||||||
 | 
					  * Use unused TCP ports on the test suite (#1804)
 | 
				
			||||||
 | 
					  * Use `surrogateescape` to encode headers on `websockets` implementation (#1005)
 | 
				
			||||||
 | 
					  * Update hypercorn link on the README (#1800)
 | 
				
			||||||
 | 
					  * Fix one example in REAME (#1794)
 | 
				
			||||||
 | 
					  * Replace `files` by `exclude` on mypy configuration (#1793)
 | 
				
			||||||
 | 
					  * Bump mypy from 0.982 to 0.991 (#1789)
 | 
				
			||||||
 | 
					  * Bump mkdocs from 1.4.0 to 1.4.2 (#1787)
 | 
				
			||||||
 | 
					  * Bump build from 0.8.0 to 0.9.0 (#1791)
 | 
				
			||||||
 | 
					  * Fix warning on reload failure (#1784)
 | 
				
			||||||
 | 
					  * Allow headers to be sent as iterables (#1782)
 | 
				
			||||||
 | 
					  * Add test to make sure we send connection close when client sends it (#1776)
 | 
				
			||||||
 | 
					  * Replace `AF_UNIX` by `AF_INET` on subprocess test (#1775)
 | 
				
			||||||
 | 
					  * Replace uvicorn files by uvicorn folder on mypy settings (#1771)
 | 
				
			||||||
 | 
					  * Add type annotation to `wsproto_impl.py` (#1754)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Fri Apr 21 12:38:24 UTC 2023 - Dirk Müller <dmueller@suse.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- add sle15_python_module_pythons (jsc#PED-68)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Thu Apr 13 22:45:45 UTC 2023 - Matej Cepl <mcepl@suse.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Make calling of %{sle15modernpython} optional.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Thu Mar 16 08:13:19 UTC 2023 - Dirk Müller <dmueller@suse.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- skip optional uvloop test dependency for SLE15
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Thu Feb 16 15:27:53 UTC 2023 - Torsten Gruner <simmphonie@opensuse.org>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update to version 0.20.0:
 | 
				
			||||||
 | 
					  * Check if handshake is completed before sending frame on `wsproto` shutdown (#1737)
 | 
				
			||||||
 | 
					  * Add default headers to WebSockets implementations (#1606 & #1747) 28/10/22
 | 
				
			||||||
 | 
					  * Warn user when `reload` and `workers` flag are used together (#1731) 31/10/22
 | 
				
			||||||
 | 
					  * Use correct `WebSocket` error codes on `close` (#1753) 20/11/22
 | 
				
			||||||
 | 
					  * Send disconnect event on connection lost for `wsproto` (#996) 29/10/22
 | 
				
			||||||
 | 
					  * Add `SIGQUIT` handler to `UvicornWorker` (#1710) 01/11/22
 | 
				
			||||||
 | 
					  * Fix crash on exist with "--uds" if socket doesn't exist (#1725) 27/10/22
 | 
				
			||||||
 | 
					  * Annotate `CONFIG_KWARGS` in `UvicornWorker` class (#1746) 31/10/22
 | 
				
			||||||
 | 
					  * Remove conditional on `RemoteProtocolError.event_hint` on `wsproto` (#1486) 31/10/22
 | 
				
			||||||
 | 
					  * Remove unused `handle_no_connect` on `wsproto` implementation (#1759) 17/11/22
 | 
				
			||||||
 | 
					- version 0.19.0
 | 
				
			||||||
 | 
					  * Support Python 3.11 (#1652) 16/09/22
 | 
				
			||||||
 | 
					  * Bump minimal `httptools` version to `0.5.0` (#1645) 13/09/22
 | 
				
			||||||
 | 
					  * Ignore HTTP/2 upgrade and optionally ignore WebSocket upgrade (#1661) 19/10/22
 | 
				
			||||||
 | 
					  * Add `py.typed` to comply with PEP 561 (#1687) 07/10/22
 | 
				
			||||||
 | 
					  * Set `propagate` to `False` on "uvicorn" logger (#1288) 08/10/22
 | 
				
			||||||
 | 
					  * USR1 signal is now handled correctly on `UvicornWorker`. (#1565) 26/08/22
 | 
				
			||||||
 | 
					  * Use path with query string on `WebSockets` logs (#1385) 11/09/22
 | 
				
			||||||
 | 
					  * Fix behavior on which "Date" headers were not updated on the same connection (#1706) 19/10/22
 | 
				
			||||||
 | 
					  * Remove the `--debug` flag (#1640) 14/09/22
 | 
				
			||||||
 | 
					  * Remove the `DebugMiddleware` (#1697) 07/10/22
 | 
				
			||||||
 | 
					- version 0.18.3
 | 
				
			||||||
 | 
					  * Remove cyclic references on HTTP implementations. (#1604) 24/08/22
 | 
				
			||||||
 | 
					  * `reload_delay` default changed from `None` to `0.25` on `uvicorn.run()` and `Config`.
 | 
				
			||||||
 | 
					    `None` is not an acceptable value anymore. (#1545) 02/07/22
 | 
				
			||||||
 | 
					- Remove upstreamed patch uvicorn-pr1537-no-watchgod-tests.patch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Fri Aug  5 09:51:32 UTC 2022 - Dominique Leuenberger <dimstar@opensuse.org>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fix URL to 1537.patch: add ".patch" to the gh Pr to reference the
 | 
				
			||||||
 | 
					  raw patch, not the gh webui.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Tue Jul 19 20:59:25 UTC 2022 - Ben Greiner <code@bnavigator.de>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Disable testing with watchfiles
 | 
				
			||||||
 | 
					  * We don't want it in Ring1-MinimalX
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Mon Jul 18 20:17:15 UTC 2022 - Ben Greiner <code@bnavigator.de>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update to version 0.18.2
 | 
				
			||||||
 | 
					  * Add default `log_config` on `uvicorn.run()` (#1541)
 | 
				
			||||||
 | 
					  * Revert `logging` file name modification (#1543)
 | 
				
			||||||
 | 
					- Release 0.18.1
 | 
				
			||||||
 | 
					  * Use `DEFAULT_MAX_INCOMPLETE_EVENT_SIZE` as default to
 | 
				
			||||||
 | 
					    `h11_max_incomplete_event_size` on the CLI (#1534)
 | 
				
			||||||
 | 
					- Release 0.18.0
 | 
				
			||||||
 | 
					  * The `reload` flag prioritizes `watchfiles` instead of the
 | 
				
			||||||
 | 
					    deprecated `watchgod` (#1437)
 | 
				
			||||||
 | 
					  *  Annotate `uvicorn.run()` function (#1423)
 | 
				
			||||||
 | 
					  * Allow configuring `max_incomplete_event_size` for `h11`
 | 
				
			||||||
 | 
					    implementation (#1514)
 | 
				
			||||||
 | 
					  * Remove `asgiref` dependency (#1532)
 | 
				
			||||||
 | 
					  * Turn `raw_path` into bytes on both websockets implementations
 | 
				
			||||||
 | 
					    (#1487)
 | 
				
			||||||
 | 
					  * Revert log exception traceback in case of invalid HTTP request
 | 
				
			||||||
 | 
					    (#1518)
 | 
				
			||||||
 | 
					  * Set `asyncio.WindowsSelectorEventLoopPolicy()` when using
 | 
				
			||||||
 | 
					    multiple workers to avoid "WinError 87" (#1454)
 | 
				
			||||||
 | 
					- Release 0.17.5
 | 
				
			||||||
 | 
					  * Fix case where url is fragmented in httptools protocol (#1263)
 | 
				
			||||||
 | 
					    2/16/22
 | 
				
			||||||
 | 
					  * Fix WSGI middleware not to explode quadratically in the case of
 | 
				
			||||||
 | 
					    a larger body (#1329)
 | 
				
			||||||
 | 
					  *  Send HTTP 400 response for invalid request (#1352)
 | 
				
			||||||
 | 
					- Release 0.17.4
 | 
				
			||||||
 | 
					  *  Replace `create_server` by `create_unix_server` (#1362)
 | 
				
			||||||
 | 
					- Release 0.17.3
 | 
				
			||||||
 | 
					   * Drop wsproto version checking. (#1359)
 | 
				
			||||||
 | 
					- Release 0.17.2
 | 
				
			||||||
 | 
					  * Revert #1332. While trying to solve the memory leak, it
 | 
				
			||||||
 | 
					    introduced an issue (#1345) when the server receives big chunks
 | 
				
			||||||
 | 
					    of data using the `httptools` implementation. (#1354)
 | 
				
			||||||
 | 
					  * Revert stream interface changes. This was introduced on 0.14.0,
 | 
				
			||||||
 | 
					    and caused an issue (#1226), which caused a memory leak when
 | 
				
			||||||
 | 
					    sending TCP pings. (#1355)
 | 
				
			||||||
 | 
					  * Fix wsproto version check expression (#1342)
 | 
				
			||||||
 | 
					- Release 0.17.1
 | 
				
			||||||
 | 
					  * Move all data handling logic to protocol and ensure connection
 | 
				
			||||||
 | 
					    is closed. (#1332)
 | 
				
			||||||
 | 
					  * Change `spec_version` field from "2.1" to "2.3", as Uvicorn is
 | 
				
			||||||
 | 
					    compliant with that version of the ASGI specifications. (#1337)
 | 
				
			||||||
 | 
					- Add uvicorn-pr1537-no-watchgod-tests.patch gh#encode/uvicorn#1537
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Tue Feb  1 05:38:09 UTC 2022 - Steve Kowalik <steven.kowalik@suse.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Add missing Requires on python-asgiref.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Mon Jan 24 09:51:06 UTC 2022 - kkaempf@suse.com
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update to version 0.17.0:
 | 
				
			||||||
 | 
					  * Release 0.17.0 (#1322)
 | 
				
			||||||
 | 
					  * Fix reload process behavior when exception is raised (#1313)
 | 
				
			||||||
 | 
					  * Fix version that supports Python 3.6 on the README (#1316)
 | 
				
			||||||
 | 
					  * Add missing http version on websockets scope (#1309)
 | 
				
			||||||
 | 
					  * Remove Python 3.6 (#1261)
 | 
				
			||||||
 | 
					  * Support `extra_headers` for WS `accept` message (#1293)
 | 
				
			||||||
 | 
					  * Allow configurable websocket per-message-deflate setting (#1300)
 | 
				
			||||||
 | 
					  * Remove root_path from logs (#1294)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update to version 0.16.0:
 | 
				
			||||||
 | 
					  * Version 0.16.0 (#1270)
 | 
				
			||||||
 | 
					  * Allow app-dir parameter on the run() function (#1271)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update to version 0.15.0:
 | 
				
			||||||
 | 
					  * 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update to version 0.14.0:
 | 
				
			||||||
 | 
					  * 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update to version 0.13.0:
 | 
				
			||||||
 | 
					  * 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Fri Sep 17 07:04:38 UTC 2021 - Dominique Leuenberger <dimstar@opensuse.org>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Do not build for python 3.6: the required dependency uvloop does
 | 
				
			||||||
 | 
					  no longer support Python 3.6 since version 0.16.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Sun Nov 29 09:56:12 UTC 2020 - John Vandenberg <jayvdb@gmail.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Skip three tests due to minor change introduced in wsproto 1.0.0
 | 
				
			||||||
 | 
					- Add some missing minimum versions to Requires and BuildRequires
 | 
				
			||||||
 | 
					- Update to v0.12.3
 | 
				
			||||||
 | 
					  * Fix race condition that leads Quart to hang
 | 
				
			||||||
 | 
					  * Use latin1 when decoding X-Forwarded-* headers
 | 
				
			||||||
 | 
					  * Rework IPv6 support
 | 
				
			||||||
 | 
					  * Cancel old keepalive-trigger before setting new one
 | 
				
			||||||
 | 
					- from v0.12.2
 | 
				
			||||||
 | 
					  * Adding ability to decrypt ssl key file
 | 
				
			||||||
 | 
					  * Support .yml log config files
 | 
				
			||||||
 | 
					  * Added python 3.9 support
 | 
				
			||||||
 | 
					  * Fixes watchgod with common prefixes
 | 
				
			||||||
 | 
					  * Fix reload with ipv6 host
 | 
				
			||||||
 | 
					  * Added cli support for headers containing colon
 | 
				
			||||||
 | 
					  * Sharing socket across workers on windows
 | 
				
			||||||
 | 
					  * Note the need to configure trusted "ips" when using unix sockets
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Tue Oct 13 09:42:02 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Trim marketing wording from descriptions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Sun Oct 11 14:58:51 UTC 2020 - John Vandenberg <jayvdb@gmail.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update to v0.12.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Sat Jul 25 18:38:16 UTC 2020 - John Vandenberg <jayvdb@gmail.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update to v0.11.6
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Tue Oct  8 09:08:25 AM UTC 2019 - John Vandenberg <jayvdb@gmail.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Initial spec for v0.9.0
 | 
				
			||||||
							
								
								
									
										122
									
								
								python-uvicorn.spec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										122
									
								
								python-uvicorn.spec
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,122 @@
 | 
				
			|||||||
 | 
					#
 | 
				
			||||||
 | 
					# spec file for package python-uvicorn
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Copyright (c) 2025 SUSE LLC and contributors
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# All modifications and additions to the file contributed by third parties
 | 
				
			||||||
 | 
					# remain the property of their copyright owners, unless otherwise agreed
 | 
				
			||||||
 | 
					# upon. The license for this file, and modifications and additions to the
 | 
				
			||||||
 | 
					# file, is the same license as for the pristine package itself (unless the
 | 
				
			||||||
 | 
					# license for the pristine package is not an Open Source License, in which
 | 
				
			||||||
 | 
					# case the license is the MIT License). An "Open Source License" is a
 | 
				
			||||||
 | 
					# license that conforms to the Open Source Definition (Version 1.9)
 | 
				
			||||||
 | 
					# published by the Open Source Initiative.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Please submit bugfixes or comments via https://bugs.opensuse.org/
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%if 0%{?suse_version} > 1500
 | 
				
			||||||
 | 
					%bcond_without libalternatives
 | 
				
			||||||
 | 
					%else
 | 
				
			||||||
 | 
					%bcond_with libalternatives
 | 
				
			||||||
 | 
					%endif
 | 
				
			||||||
 | 
					%{?sle15_python_module_pythons}
 | 
				
			||||||
 | 
					Name:           python-uvicorn
 | 
				
			||||||
 | 
					Version:        0.36.0
 | 
				
			||||||
 | 
					Release:        0
 | 
				
			||||||
 | 
					Summary:        An Asynchronous Server Gateway Interface server
 | 
				
			||||||
 | 
					License:        BSD-3-Clause
 | 
				
			||||||
 | 
					URL:            https://github.com/encode/uvicorn
 | 
				
			||||||
 | 
					Source:         https://github.com/encode/uvicorn/archive/%{version}.tar.gz#/uvicorn-%{version}.tar.gz
 | 
				
			||||||
 | 
					# PATCH-FIX-OPENSUSE Ignore the large amount of DeprecationWarnings that websockets 14 gave us
 | 
				
			||||||
 | 
					Patch0:         support-websockets-14+.patch
 | 
				
			||||||
 | 
					# PATCH-FIX-UPSTREAM small part of https://github.com/Kludex/uvicorn/pull/2548 test on 3.14
 | 
				
			||||||
 | 
					Patch1:         py314.patch
 | 
				
			||||||
 | 
					BuildRequires:  %{python_module base >= 3.8}
 | 
				
			||||||
 | 
					BuildRequires:  %{python_module hatchling}
 | 
				
			||||||
 | 
					BuildRequires:  %{python_module pip}
 | 
				
			||||||
 | 
					BuildRequires:  %{python_module setuptools}
 | 
				
			||||||
 | 
					BuildRequires:  %{python_module wheel}
 | 
				
			||||||
 | 
					BuildRequires:  fdupes
 | 
				
			||||||
 | 
					BuildRequires:  python-rpm-macros
 | 
				
			||||||
 | 
					Requires:       python-click >= 7.0
 | 
				
			||||||
 | 
					Requires:       python-h11 >= 0.8.0
 | 
				
			||||||
 | 
					Recommends:     python-PyYAML >= 5.1
 | 
				
			||||||
 | 
					Recommends:     python-httptools >= 0.4.0
 | 
				
			||||||
 | 
					Recommends:     python-websockets >= 8.0
 | 
				
			||||||
 | 
					BuildArch:      noarch
 | 
				
			||||||
 | 
					%if %{with libalternatives}
 | 
				
			||||||
 | 
					BuildRequires:  alts
 | 
				
			||||||
 | 
					Requires:       alts
 | 
				
			||||||
 | 
					%else
 | 
				
			||||||
 | 
					Requires(post): update-alternatives
 | 
				
			||||||
 | 
					Requires(postun): update-alternatives
 | 
				
			||||||
 | 
					%endif
 | 
				
			||||||
 | 
					# SECTION test requirements
 | 
				
			||||||
 | 
					BuildRequires:  %{python_module PyYAML >= 5.1}
 | 
				
			||||||
 | 
					BuildRequires:  %{python_module click >= 7.0}
 | 
				
			||||||
 | 
					BuildRequires:  %{python_module h11 >= 0.8.0}
 | 
				
			||||||
 | 
					BuildRequires:  %{python_module httptools >= 0.4.0}
 | 
				
			||||||
 | 
					BuildRequires:  %{python_module httpx >= 0.27}
 | 
				
			||||||
 | 
					BuildRequires:  %{python_module pytest-asyncio}
 | 
				
			||||||
 | 
					BuildRequires:  %{python_module pytest-mock}
 | 
				
			||||||
 | 
					BuildRequires:  %{python_module pytest-xdist}
 | 
				
			||||||
 | 
					BuildRequires:  %{python_module pytest}
 | 
				
			||||||
 | 
					BuildRequires:  %{python_module python-dotenv}
 | 
				
			||||||
 | 
					BuildRequires:  %{python_module requests}
 | 
				
			||||||
 | 
					BuildRequires:  %{python_module trustme}
 | 
				
			||||||
 | 
					BuildRequires:  %{python_module websockets >= 10.4}
 | 
				
			||||||
 | 
					BuildRequires:  %{python_module wsproto >= 1.2.0}
 | 
				
			||||||
 | 
					%if 0%{?suse_version} > 1500
 | 
				
			||||||
 | 
					BuildRequires:  %{python_module uvloop >= 0.14.0}
 | 
				
			||||||
 | 
					%endif
 | 
				
			||||||
 | 
					# We don't want watchfiles in Ring1
 | 
				
			||||||
 | 
					#BuildRequires:  #{python_module watchfiles >= 0.13}
 | 
				
			||||||
 | 
					# /SECTION
 | 
				
			||||||
 | 
					%python_subpackages
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%description
 | 
				
			||||||
 | 
					Uvicorn is an ASGI server implementation, using uvloop and httptools.
 | 
				
			||||||
 | 
					It supports HTTP/1.1 and WebSockets only.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%prep
 | 
				
			||||||
 | 
					%autosetup -p1 -n uvicorn-%{version}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%build
 | 
				
			||||||
 | 
					%pyproject_wheel
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%install
 | 
				
			||||||
 | 
					%pyproject_install
 | 
				
			||||||
 | 
					%python_clone -a %{buildroot}%{_bindir}/uvicorn
 | 
				
			||||||
 | 
					%python_expand %fdupes %{buildroot}%{$python_sitelib}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%post
 | 
				
			||||||
 | 
					%python_install_alternative uvicorn
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%postun
 | 
				
			||||||
 | 
					%python_uninstall_alternative uvicorn
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%pre
 | 
				
			||||||
 | 
					%python_libalternatives_reset_alternative uvicorn
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%check
 | 
				
			||||||
 | 
					# Required for reporting bugs
 | 
				
			||||||
 | 
					%python_exec -m uvicorn --version
 | 
				
			||||||
 | 
					# No module python-a2wsgi
 | 
				
			||||||
 | 
					ignore="--ignore tests/middleware/test_wsgi.py"
 | 
				
			||||||
 | 
					# Disable flacky test in s390x with current python-websockets
 | 
				
			||||||
 | 
					%if "%{_arch}" == "s390x"
 | 
				
			||||||
 | 
					ignore+=" --ignore tests/protocols/test_websocket.py"
 | 
				
			||||||
 | 
					%endif
 | 
				
			||||||
 | 
					# no longer raises an exception with Websockets 14+
 | 
				
			||||||
 | 
					%pytest $ignore -k 'not test_send_binary_data_to_server_bigger_than_default_on_websockets'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%files %{python_files}
 | 
				
			||||||
 | 
					%doc README.md
 | 
				
			||||||
 | 
					%license LICENSE.md
 | 
				
			||||||
 | 
					%python_alternative %{_bindir}/uvicorn
 | 
				
			||||||
 | 
					%{python_sitelib}/uvicorn
 | 
				
			||||||
 | 
					%{python_sitelib}/uvicorn-%{version}.dist-info
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%changelog
 | 
				
			||||||
							
								
								
									
										12
									
								
								support-websockets-14+.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								support-websockets-14+.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					Index: uvicorn-0.36.0/pyproject.toml
 | 
				
			||||||
 | 
					===================================================================
 | 
				
			||||||
 | 
					--- uvicorn-0.36.0.orig/pyproject.toml
 | 
				
			||||||
 | 
					+++ uvicorn-0.36.0/pyproject.toml
 | 
				
			||||||
 | 
					@@ -130,6 +130,7 @@ filterwarnings = [
 | 
				
			||||||
 | 
					     "ignore: websockets.legacy is deprecated.*:DeprecationWarning",
 | 
				
			||||||
 | 
					     "ignore: websockets.server.WebSocketServerProtocol is deprecated.*:DeprecationWarning",
 | 
				
			||||||
 | 
					     "ignore: websockets.client.connect is deprecated.*:DeprecationWarning",
 | 
				
			||||||
 | 
					+    "ignore: websockets.exceptions.InvalidStatusCode is deprecated:DeprecationWarning",
 | 
				
			||||||
 | 
					 ]
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 [tool.coverage.run]
 | 
				
			||||||
							
								
								
									
										3
									
								
								uvicorn-0.36.0.tar.gz
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								uvicorn-0.36.0.tar.gz
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					version https://git-lfs.github.com/spec/v1
 | 
				
			||||||
 | 
					oid sha256:dcff1c0826862d125b5b5bf45fe1d03241346e631802d29454792c6c5107ca8d
 | 
				
			||||||
 | 
					size 815375
 | 
				
			||||||
		Reference in New Issue
	
	Block a user