forked from pool/python-starlette
		
	Compare commits
	
		
			12 Commits
		
	
	
		
	
	| Author | SHA256 | Date | |
|---|---|---|---|
| f19e403868 | |||
| 973c2f89e0 | |||
| ab72e566b1 | |||
| 6efb479e30 | |||
| 6435e99b98 | |||
| 218e589c26 | |||
| 5b45d99ec9 | |||
| b44c5d4bb2 | |||
| 2a6ee2b320 | |||
| 6c55d1424a | |||
| 9d18310d7e | |||
| 673187f1e3 | 
| @@ -1,65 +1,3 @@ | |||||||
| ------------------------------------------------------------------- |  | ||||||
| Tue Jul 29 07:20:41 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com> |  | ||||||
|  |  | ||||||
| - Correct typing_extensions Requires. |  | ||||||
|  |  | ||||||
| ------------------------------------------------------------------- |  | ||||||
| Tue Jul 22 07:41:52 UTC 2025 - Nico Krapp <nico.krapp@suse.com> |  | ||||||
|  |  | ||||||
| - Update to 0.47.2 (fixes CVE-2025-54121, bsc#1246855) |  | ||||||
|   * Make UploadFile check for future rollover #2962. |  | ||||||
| - Update to 0.47.1 |  | ||||||
|   * Use Self in TestClient.__enter__ #2951 |  | ||||||
|   * Allow async exception handlers to type-check #2949 |  | ||||||
|  |  | ||||||
| ------------------------------------------------------------------- |  | ||||||
| Wed Jun  4 12:21:42 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com> |  | ||||||
|  |  | ||||||
| - Update to 0.47.0 |  | ||||||
|   * Added |  | ||||||
|     + Add support for ASGI pathsend extension #2671. |  | ||||||
|     + Add partitioned attribute to Response.set_cookie #2501. |  | ||||||
|   * Changed |  | ||||||
|     + Change methods parameter type from list[str] to Collection[str] #2903. |  | ||||||
|     + Replace import typing by from typing import ... in the whole codebase #2867. |  | ||||||
|   * Fixed |  | ||||||
|     + Mark ExceptionMiddleware.http_exception as async to prevent thread creation #2922. |  | ||||||
|  |  | ||||||
| ------------------------------------------------------------------- |  | ||||||
| Thu May  1 06:01:43 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com> |  | ||||||
|  |  | ||||||
| - Update to 0.46.2: |  | ||||||
|   * Added |  | ||||||
|     + GZipMiddleware: Make sure Vary header is always added if a response can |  | ||||||
|       be compressed |  | ||||||
|     + Add max_part_size parameter to Request.form() |  | ||||||
|     + Add client parameter to TestClient |  | ||||||
|     + Make UUID path parameter conversion more flexible |  | ||||||
|     + Raise ClientDisconnect on StreamingResponse |  | ||||||
|   * Fixed |  | ||||||
|     + Use correct index on backwards compatible logic in TemplateResponse |  | ||||||
|     + Prevents reraising of exception from BaseHTTPMiddleware |  | ||||||
|     + w relative directory path when follow_symlinks=True |  | ||||||
|     + Raise exception from background task on BaseHTTPMiddleware |  | ||||||
|     + GZipMiddleware: Don't compress on server sent events |  | ||||||
|     + Turn directory into string on lookup_path on commonpath comparison |  | ||||||
|     + Make create_memory_object_stream compatible with old anyio versions |  | ||||||
|       once again, and bump anyio minimum version to 3.6.2 |  | ||||||
|     + Collect errors more reliably from WebSocket test client |  | ||||||
|     + Fix unclosed MemoryObjectReceiveStream upon exception in |  | ||||||
|       BaseHTTPMiddleware children |  | ||||||
|     + Use ETag from headers when parsing If-Range in FileResponse |  | ||||||
|     + Follow directory symlinks in StaticFiles when follow_symlinks=True |  | ||||||
|     + Bump minimum python-multipart version to 0.0.18 |  | ||||||
|     + Bump minimum httpx version to 0.27.0 |  | ||||||
|   * Removed |  | ||||||
|     + Drop Python 3.8 |  | ||||||
|     + Remove ExceptionMiddleware import proxy from starlette.exceptions |  | ||||||
|       module |  | ||||||
|     + Remove deprecated WS_1004_NO_STATUS_RCVD and WS_1005_ABNORMAL_CLOSURE |  | ||||||
|     + Remove deprecated allow_redirects argument from TestClient |  | ||||||
| - Drop patch starlette-pr2773-httpx0.28.patch, included upstream. |  | ||||||
|  |  | ||||||
| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ||||||
| Thu Dec 12 16:09:18 UTC 2024 - Ben Greiner <code@bnavigator.de> | Thu Dec 12 16:09:18 UTC 2024 - Ben Greiner <code@bnavigator.de> | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| # | # | ||||||
| # spec file for package python-starlette | # spec file for package python-starlette | ||||||
| # | # | ||||||
| # Copyright (c) 2025 SUSE LLC | # Copyright (c) 2024 SUSE LLC | ||||||
| # | # | ||||||
| # All modifications and additions to the file contributed by third parties | # All modifications and additions to the file contributed by third parties | ||||||
| # remain the property of their copyright owners, unless otherwise agreed | # remain the property of their copyright owners, unless otherwise agreed | ||||||
| @@ -27,29 +27,31 @@ | |||||||
|  |  | ||||||
| %{?sle15_python_module_pythons} | %{?sle15_python_module_pythons} | ||||||
| Name:           python-starlette%{psuffix} | Name:           python-starlette%{psuffix} | ||||||
| Version:        0.47.2 | Version:        0.41.3 | ||||||
| Release:        0 | Release:        0 | ||||||
| Summary:        Lightweight ASGI framework/toolkit | Summary:        Lightweight ASGI framework/toolkit | ||||||
| License:        BSD-3-Clause | License:        BSD-3-Clause | ||||||
| URL:            https://github.com/encode/starlette | URL:            https://github.com/encode/starlette | ||||||
| Source:         https://github.com/encode/starlette/archive/refs/tags/%{version}.tar.gz#/starlette-%{version}.tar.gz | Source:         https://github.com/encode/starlette/archive/refs/tags/%{version}.tar.gz#/starlette-%{version}.tar.gz | ||||||
| BuildRequires:  %{python_module base >= 3.9} | # PATCH-FIX-UPSTREAM starlette-pr2773-httpx0.28.patch gh#encode/starlette#2773 | ||||||
|  | Patch0:         https://github.com/encode/starlette/pull/2773.patch#/starlette-pr2773-httpx0.28.patch | ||||||
|  | BuildRequires:  %{python_module base >= 3.8} | ||||||
| BuildRequires:  %{python_module hatchling} | BuildRequires:  %{python_module hatchling} | ||||||
| BuildRequires:  %{python_module pip} | BuildRequires:  %{python_module pip} | ||||||
| BuildRequires:  fdupes | BuildRequires:  fdupes | ||||||
| BuildRequires:  python-rpm-macros | BuildRequires:  python-rpm-macros | ||||||
| Requires:       python-anyio >= 3.6.2 | Requires:       python-anyio >= 3.4.0 | ||||||
| Requires:       (python-typing_extensions >= 4.10.0 if python-base < 3.13) | Requires:       (python-typing_extensions >= 3.10.0 if python-base < 3.10) | ||||||
| BuildArch:      noarch | BuildArch:      noarch | ||||||
| %if %{with test} | %if %{with test} | ||||||
| BuildRequires:  %{python_module anyio >= 3.6.2} | BuildRequires:  %{python_module anyio >= 3.4.0} | ||||||
| # typing_extensions, see below | # typing_extensions, see below | ||||||
| # SECTION [full] | # SECTION [full] | ||||||
| BuildRequires:  %{python_module PyYAML} | BuildRequires:  %{python_module PyYAML} | ||||||
| BuildRequires:  %{python_module Jinja2} | BuildRequires:  %{python_module Jinja2} | ||||||
| BuildRequires:  %{python_module httpx >= 0.28} | BuildRequires:  %{python_module httpx >= 0.28} | ||||||
| BuildRequires:  %{python_module itsdangerous} | BuildRequires:  %{python_module itsdangerous} | ||||||
| BuildRequires:  %{python_module python-multipart >= 0.0.18} | BuildRequires:  %{python_module python-multipart >= 0.0.7} | ||||||
| # /SECTION | # /SECTION | ||||||
| # SECTION test | # SECTION test | ||||||
| BuildRequires:  %{python_module exceptiongroup} | BuildRequires:  %{python_module exceptiongroup} | ||||||
| @@ -91,7 +93,7 @@ building high performance asyncio services. | |||||||
| ignored_tests="test_set_cookie" | ignored_tests="test_set_cookie" | ||||||
| ignored_tests="$ignored_tests or test_expires_on_set_cookie" | ignored_tests="$ignored_tests or test_expires_on_set_cookie" | ||||||
| # fails to raise a deprecation warning as of 2024/04/25 | # fails to raise a deprecation warning as of 2024/04/25 | ||||||
| ##ignored_tests="$ignored_tests or test_lifespan_with_on_events" | ignored_tests="$ignored_tests or test_lifespan_with_on_events" | ||||||
| %pytest -W ignore::PendingDeprecationWarning --asyncio-mode=strict -k "not ($ignored_tests)" | %pytest -W ignore::PendingDeprecationWarning --asyncio-mode=strict -k "not ($ignored_tests)" | ||||||
|  |  | ||||||
| %endif | %endif | ||||||
|   | |||||||
							
								
								
									
										
											BIN
										
									
								
								starlette-0.41.3.tar.gz
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								starlette-0.41.3.tar.gz
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -1,3 +0,0 @@ | |||||||
| version https://git-lfs.github.com/spec/v1 |  | ||||||
| oid sha256:1e4f648b4f850a03129900744339701e9c6695af2f06a74cdcc7eadc8db57f3a |  | ||||||
| size 2583977 |  | ||||||
							
								
								
									
										68
									
								
								starlette-pr2773-httpx0.28.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								starlette-pr2773-httpx0.28.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,68 @@ | |||||||
|  | From b781c571068f4afc0417c7dfb8df2eda0547af55 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Marcelo Trylesinski <marcelotryle@gmail.com> | ||||||
|  | Date: Sat, 30 Nov 2024 10:32:50 +0100 | ||||||
|  | Subject: [PATCH 1/2] Pin httpx in `full` extra | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  pyproject.toml | 2 +- | ||||||
|  |  1 file changed, 1 insertion(+), 1 deletion(-) | ||||||
|  |  | ||||||
|  | diff --git a/pyproject.toml b/pyproject.toml | ||||||
|  | index a532e4628..598d4333b 100644 | ||||||
|  | --- a/pyproject.toml | ||||||
|  | +++ b/pyproject.toml | ||||||
|  | @@ -37,7 +37,7 @@ full = [ | ||||||
|  |      "jinja2", | ||||||
|  |      "python-multipart>=0.0.7", | ||||||
|  |      "pyyaml", | ||||||
|  | -    "httpx>=0.22.0", | ||||||
|  | +    "httpx>=0.27.0,<0.29.0", | ||||||
|  |  ] | ||||||
|  |   | ||||||
|  |  [project.urls] | ||||||
|  |  | ||||||
|  | From 24de2bfc8aa99a084a9b4fcfab1e52d7a6747cd9 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Marcelo Trylesinski <marcelotryle@gmail.com> | ||||||
|  | Date: Sat, 30 Nov 2024 10:51:11 +0100 | ||||||
|  | Subject: [PATCH 2/2] fix test | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  tests/middleware/test_wsgi.py | 2 +- | ||||||
|  |  tests/test_requests.py        | 4 ++-- | ||||||
|  |  2 files changed, 3 insertions(+), 3 deletions(-) | ||||||
|  |  | ||||||
|  | diff --git a/tests/middleware/test_wsgi.py b/tests/middleware/test_wsgi.py | ||||||
|  | index 58696bb65..e4ac66ab4 100644 | ||||||
|  | --- a/tests/middleware/test_wsgi.py | ||||||
|  | +++ b/tests/middleware/test_wsgi.py | ||||||
|  | @@ -77,7 +77,7 @@ def test_wsgi_post(test_client_factory: TestClientFactory) -> None: | ||||||
|  |      client = test_client_factory(app) | ||||||
|  |      response = client.post("/", json={"example": 123}) | ||||||
|  |      assert response.status_code == 200 | ||||||
|  | -    assert response.text == '{"example": 123}' | ||||||
|  | +    assert response.text == '{"example":123}' | ||||||
|  |   | ||||||
|  |   | ||||||
|  |  def test_wsgi_exception(test_client_factory: TestClientFactory) -> None: | ||||||
|  | diff --git a/tests/test_requests.py b/tests/test_requests.py | ||||||
|  | index f0494e751..665dceb87 100644 | ||||||
|  | --- a/tests/test_requests.py | ||||||
|  | +++ b/tests/test_requests.py | ||||||
|  | @@ -91,7 +91,7 @@ async def app(scope: Scope, receive: Receive, send: Send) -> None: | ||||||
|  |      assert response.json() == {"body": ""} | ||||||
|  |   | ||||||
|  |      response = client.post("/", json={"a": "123"}) | ||||||
|  | -    assert response.json() == {"body": '{"a": "123"}'} | ||||||
|  | +    assert response.json() == {"body": '{"a":"123"}'} | ||||||
|  |   | ||||||
|  |      response = client.post("/", data="abc")  # type: ignore | ||||||
|  |      assert response.json() == {"body": "abc"} | ||||||
|  | @@ -112,7 +112,7 @@ async def app(scope: Scope, receive: Receive, send: Send) -> None: | ||||||
|  |      assert response.json() == {"body": ""} | ||||||
|  |   | ||||||
|  |      response = client.post("/", json={"a": "123"}) | ||||||
|  | -    assert response.json() == {"body": '{"a": "123"}'} | ||||||
|  | +    assert response.json() == {"body": '{"a":"123"}'} | ||||||
|  |   | ||||||
|  |      response = client.post("/", data="abc")  # type: ignore | ||||||
|  |      assert response.json() == {"body": "abc"} | ||||||
		Reference in New Issue
	
	Block a user