]> git.ipfire.org Git - thirdparty/starlette.git/commitdiff
Update mkdocs information (#2998)
authorTiago Silva <tiago.arasilva@gmail.com>
Sat, 6 Sep 2025 10:37:33 +0000 (12:37 +0200)
committerGitHub <noreply@github.com>
Sat, 6 Sep 2025 10:37:33 +0000 (12:37 +0200)
* Update mkdocs

* Update links to Kludex

---------

Co-authored-by: Tiago Silva <taraujodasilva@scor.com>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
16 files changed:
.github/ISSUE_TEMPLATE/1-issue.md
.github/ISSUE_TEMPLATE/config.yml
README.md
docs/contributing.md
docs/index.md
docs/middleware.md
docs/release-notes.md
docs/sponsorship.md
mkdocs.yml
pyproject.toml
scripts/test
starlette/testclient.py
tests/middleware/test_base.py
tests/middleware/test_cors.py
tests/test_routing.py
tests/test_staticfiles.py

index 4c76aeb6a6b8c68e3b023cff24dc27637dada169..ce7f4f3425bf179454996708e3f0e858ab850c90 100644 (file)
@@ -5,7 +5,7 @@ about: Please only raise an issue if you've been advised to do so after discussi
 
 The starting point for issues should usually be a discussion...
 
-https://github.com/encode/starlette/discussions
+https://github.com/Kludex/starlette/discussions
 
 Possible bugs may be raised as a "Potential Issue" discussion, feature requests may be raised as an "Ideas" discussion. We can then determine if the discussion needs to be escalated into an "Issue" or not.
 
index 76e80635ae153289d5dbfb2094cf4b565c55d1b5..6294ce85685ef15a9aaf94d3b3c7a1c48943b507 100644 (file)
@@ -1,11 +1,11 @@
 # Ref: https://help.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
 blank_issues_enabled: false
 contact_links:
-- name: Discussions
-  url: https://github.com/encode/starlette/discussions
-  about: >
-    The "Discussions" forum is where you want to start. 💖
-- name: Chat
-  url: https://discord.gg/SWU73HffbV
-  about: >
-    Our community chat forum.
+  - name: Discussions
+    url: https://github.com/Kludex/starlette/discussions
+    about: >
+      The "Discussions" forum is where you want to start. 💖
+  - name: Chat
+    url: https://discord.gg/SWU73HffbV
+    about: >
+      Our community chat forum.
index 1185cc0157590a9d13c78dd9d47c5d705009ce09..bb769067eaa2ec0b6293e76e018e7b9fc333a69b 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
 <p align="center">
   <picture>
-    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/encode/starlette/master/docs/img/starlette_dark.svg" width="420px">
-    <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/encode/starlette/master/docs/img/starlette.svg" width="420px">
-    <img alt="starlette-logo" src="https://raw.githubusercontent.com/encode/starlette/master/docs/img/starlette_dark.svg">
+    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/Kludex/starlette/master/docs/img/starlette_dark.svg" width="420px">
+    <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/Kludex/starlette/master/docs/img/starlette.svg" width="420px">
+    <img alt="starlette-logo" src="https://raw.githubusercontent.com/Kludex/starlette/master/docs/img/starlette_dark.svg">
   </picture>
 </p>
 
@@ -12,7 +12,7 @@
 
 ---
 
-[![Build Status](https://github.com/encode/starlette/workflows/Test%20Suite/badge.svg)](https://github.com/encode/starlette/actions)
+[![Build Status](https://github.com/Kludex/starlette/workflows/Test%20Suite/badge.svg)](https://github.com/Kludex/starlette/actions)
 [![Package version](https://badge.fury.io/py/starlette.svg)](https://pypi.python.org/pypi/starlette)
 [![Supported Python Version](https://img.shields.io/pypi/pyversions/starlette.svg?color=%2334D058)](https://pypi.org/project/starlette)
 
@@ -20,7 +20,7 @@
 
 **Documentation**: <a href="https://www.starlette.io/" target="_blank">https://www.starlette.io</a>
 
-**Source Code**: <a href="https://github.com/encode/starlette" target="_blank">https://github.com/encode/starlette</a>
+**Source Code**: <a href="https://github.com/Kludex/starlette" target="_blank">https://github.com/Kludex/starlette</a>
 
 ---
 
@@ -128,7 +128,7 @@ in isolation.
 
 ---
 
-<p align="center"><i>Starlette is <a href="https://github.com/encode/starlette/blob/master/LICENSE.md">BSD licensed</a> code.<br/>Designed & crafted with care.</i></br>&mdash; ⭐️ &mdash;</p>
+<p align="center"><i>Starlette is <a href="https://github.com/Kludex/starlette/blob/master/LICENSE.md">BSD licensed</a> code.<br/>Designed & crafted with care.</i></br>&mdash; ⭐️ &mdash;</p>
 
 [asgi]: https://asgi.readthedocs.io/en/latest/
 [httpx]: https://www.python-httpx.org/
index fcb88e5f1e848c5dfe332ecadf1a9bce75a5e085..9e9281877659843d7949414d912d8d8e55f3c3f5 100644 (file)
@@ -3,9 +3,9 @@
 Thank you for being interested in contributing to Starlette.
 There are many ways you can contribute to the project:
 
-- Try Starlette and [report bugs/issues you find](https://github.com/encode/starlette/issues/new)
-- [Implement new features](https://github.com/encode/starlette/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)
-- [Review Pull Requests of others](https://github.com/encode/starlette/pulls)
+- Try Starlette and [report bugs/issues you find](https://github.com/Kludex/starlette/issues/new)
+- [Implement new features](https://github.com/Kludex/starlette/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)
+- [Review Pull Requests of others](https://github.com/Kludex/starlette/pulls)
 - Write documentation
 - Participate in discussions
 
@@ -14,7 +14,7 @@ There are many ways you can contribute to the project:
 Found something that Starlette should support?
 Stumbled upon some unexpected behaviour?
 
-Contributions should generally start out with [a discussion](https://github.com/encode/starlette/discussions).
+Contributions should generally start out with [a discussion](https://github.com/Kludex/starlette/discussions).
 Possible bugs may be raised as a "Potential Issue" discussion, feature requests may
 be raised as an "Ideas" discussion. We can then determine if the discussion needs
 to be escalated into an "Issue" or not, or if we'd consider a pull request.
@@ -34,7 +34,7 @@ that demonstrates the issue.
 ## Development
 
 To start developing Starlette, create a **fork** of the
-[Starlette repository](https://github.com/encode/starlette) on GitHub.
+[Starlette repository](https://github.com/Kludex/starlette) on GitHub.
 
 Then clone your fork with the following command replacing `YOUR-USERNAME` with
 your GitHub username:
@@ -97,7 +97,7 @@ Once you've submitted your pull request, the test suite will automatically run,
 If the test suite fails, you'll want to click through to the "Details" link, and try to identify why the test suite failed.
 
 <p align="center" style="margin: 0 0 10px">
-  <img src="https://raw.githubusercontent.com/encode/starlette/master/docs/img/gh-actions-fail.png" alt='Failing PR commit status'>
+  <img src="https://raw.githubusercontent.com/Kludex/starlette/master/docs/img/gh-actions-fail.png" alt='Failing PR commit status'>
 </p>
 
 Here are some common ways the test suite can fail:
@@ -105,7 +105,7 @@ Here are some common ways the test suite can fail:
 ### Check Job Failed
 
 <p align="center" style="margin: 0 0 10px">
-  <img src="https://raw.githubusercontent.com/encode/starlette/master/docs/img/gh-actions-fail-check.png" alt='Failing GitHub action lint job'>
+  <img src="https://raw.githubusercontent.com/Kludex/starlette/master/docs/img/gh-actions-fail-check.png" alt='Failing GitHub action lint job'>
 </p>
 
 This job failing means there is either a code formatting issue or type-annotation issue.
@@ -126,7 +126,7 @@ a variety of reasons like invalid markdown or missing configuration within `mkdo
 ### Python 3.X Job Failed
 
 <p align="center" style="margin: 0 0 10px">
-  <img src="https://raw.githubusercontent.com/encode/starlette/master/docs/img/gh-actions-fail-test.png" alt='Failing GitHub action test job'>
+  <img src="https://raw.githubusercontent.com/Kludex/starlette/master/docs/img/gh-actions-fail-test.png" alt='Failing GitHub action test job'>
 </p>
 
 This job failing means the unit tests failed or not all code paths are covered by unit tests.
@@ -148,17 +148,17 @@ Before releasing a new version, create a pull request that includes:
 
 - **An update to the changelog**:
     - We follow the format from [keepachangelog](https://keepachangelog.com/en/1.0.0/).
-    - [Compare](https://github.com/encode/starlette/compare/) `master` with the tag of the latest release, and list all entries that are of interest to our users:
+    - [Compare](https://github.com/Kludex/starlette/compare/) `master` with the tag of the latest release, and list all entries that are of interest to our users:
         - Things that **must** go in the changelog: added, changed, deprecated or removed features, and bug fixes.
         - Things that **should not** go in the changelog: changes to documentation, tests or tooling.
         - Try sorting entries in descending order of impact / importance.
         - Keep it concise and to-the-point. 🎯
 - **A version bump**: see `__version__.py`.
 
-For an example, see [#1600](https://github.com/encode/starlette/pull/1600).
+For an example, see [#1600](https://github.com/Kludex/starlette/pull/1600).
 
 Once the release PR is merged, create a
-[new release](https://github.com/encode/starlette/releases/new) including:
+[new release](https://github.com/Kludex/starlette/releases/new) including:
 
 - Tag version like `0.13.3`.
 - Release title `Version 0.13.3`
index b501d6b4e80ba766a2b4ad33a377b88f60918d41..43e50c2838402c0ccda64c60b0b140d73cb4972c 100644 (file)
@@ -6,8 +6,8 @@
     <em>✨ The little ASGI framework that shines. ✨</em>
 </p>
 <p align="center">
-<a href="https://github.com/encode/starlette/actions">
-    <img src="https://github.com/encode/starlette/workflows/Test%20Suite/badge.svg" alt="Build Status">
+<a href="https://github.com/Kludex/starlette/actions">
+    <img src="https://github.com/Kludex/starlette/workflows/Test%20Suite/badge.svg" alt="Build Status">
 </a>
 <a href="https://pypi.org/project/starlette/">
     <img src="https://badge.fury.io/py/starlette.svg" alt="Package version">
@@ -21,7 +21,7 @@
 
 **Documentation**: <a href="https://www.starlette.io/" target="_blank">https://www.starlette.io</a>
 
-**Source Code**: <a href="https://github.com/encode/starlette" target="_blank">https://github.com/encode/starlette</a>
+**Source Code**: <a href="https://github.com/Kludex/starlette" target="_blank">https://github.com/Kludex/starlette</a>
 
 ---
 
@@ -147,7 +147,7 @@ in isolation.
 
 ---
 
-<p align="center"><i>Starlette is <a href="https://github.com/encode/starlette/blob/master/LICENSE.md">BSD licensed</a> code.<br/>Designed & crafted with care.</i></br>&mdash; ⭐️ &mdash;</p>
+<p align="center"><i>Starlette is <a href="https://github.com/Kludex/starlette/blob/master/LICENSE.md">BSD licensed</a> code.<br/>Designed & crafted with care.</i></br>&mdash; ⭐️ &mdash;</p>
 
 [asgi]: https://asgi.readthedocs.io/en/latest/
 [httpx]: https://www.python-httpx.org/
index f7cc23936fdfd1518c9364104033df57981fcd7a..be9bcfc092ff27acea7b9530a1a381d609eeb92b 100644 (file)
@@ -297,7 +297,7 @@ around explicitly, rather than mutating the middleware instance.
 
 Currently, the `BaseHTTPMiddleware` has some known limitations:
 
-- Using `BaseHTTPMiddleware` will prevent changes to [`contextvars.ContextVar`](https://docs.python.org/3/library/contextvars.html#contextvars.ContextVar)s from propagating upwards. That is, if you set a value for a `ContextVar` in your endpoint and try to read it from a middleware you will find that the value is not the same value you set in your endpoint (see [this test](https://github.com/encode/starlette/blob/621abc747a6604825190b93467918a0ec6456a24/tests/middleware/test_base.py#L192-L223) for an example of this behavior).
+- Using `BaseHTTPMiddleware` will prevent changes to [`contextvars.ContextVar`](https://docs.python.org/3/library/contextvars.html#contextvars.ContextVar)s from propagating upwards. That is, if you set a value for a `ContextVar` in your endpoint and try to read it from a middleware you will find that the value is not the same value you set in your endpoint (see [this test](https://github.com/Kludex/starlette/blob/621abc747a6604825190b93467918a0ec6456a24/tests/middleware/test_base.py#L192-L223) for an example of this behavior).
 
 To overcome these limitations, use [pure ASGI middleware](#pure-asgi-middleware), as shown below.
 
@@ -714,7 +714,7 @@ As an example, this would conditionally replace the response body, if an `X-Mock
             await self.app(scope, receive, maybe_send_with_mock_content)
     ```
 
-See also [`GZipMiddleware`](https://github.com/encode/starlette/blob/9ef1b91c9c043197da6c3f38aa153fd874b95527/starlette/middleware/gzip.py) for a full example implementation that navigates this potential gotcha.
+See also [`GZipMiddleware`](https://github.com/Kludex/starlette/blob/9ef1b91c9c043197da6c3f38aa153fd874b95527/starlette/middleware/gzip.py) for a full example implementation that navigates this potential gotcha.
 
 ### Further reading
 
index 4bbcd9bbb8b630868169569943958a96a0560f39..5e5a2b40db2f042fe8b25f168e60701359e818ef 100644 (file)
@@ -6,660 +6,660 @@ toc_depth: 2
 
 #### Fixed
 
-* Use `asyncio.iscoroutinefunction` for Python 3.12 and older [#2984](https://github.com/encode/starlette/pull/2984).
+* Use `asyncio.iscoroutinefunction` for Python 3.12 and older [#2984](https://github.com/Kludex/starlette/pull/2984).
 
 ## 0.47.2 (July 20, 2025)
 
 #### Fixed
 
-* Make `UploadFile` check for future rollover [#2962](https://github.com/encode/starlette/pull/2962).
+* Make `UploadFile` check for future rollover [#2962](https://github.com/Kludex/starlette/pull/2962).
 
 ## 0.47.1 (June 21, 2025)
 
 #### Fixed
 
-* Use `Self` in `TestClient.__enter__` [#2951](https://github.com/encode/starlette/pull/2951).
-* Allow async exception handlers to type-check [#2949](https://github.com/encode/starlette/pull/2949).
+* Use `Self` in `TestClient.__enter__` [#2951](https://github.com/Kludex/starlette/pull/2951).
+* Allow async exception handlers to type-check [#2949](https://github.com/Kludex/starlette/pull/2949).
 
 ## 0.47.0 (May 29, 2025)
 
 #### Added
 
-* Add support for ASGI `pathsend` extension [#2671](https://github.com/encode/starlette/pull/2671).
-* Add `partitioned` attribute to `Response.set_cookie` [#2501](https://github.com/encode/starlette/pull/2501).
+* Add support for ASGI `pathsend` extension [#2671](https://github.com/Kludex/starlette/pull/2671).
+* Add `partitioned` attribute to `Response.set_cookie` [#2501](https://github.com/Kludex/starlette/pull/2501).
 
 #### Changed
 
 * Change `methods` parameter type from `list[str]` to `Collection[str]`
-  [#2903](https://github.com/encode/starlette/pull/2903).
+  [#2903](https://github.com/Kludex/starlette/pull/2903).
 * Replace `import typing` by `from typing import ...` in the whole codebase
-  [#2867](https://github.com/encode/starlette/pull/2867).
+  [#2867](https://github.com/Kludex/starlette/pull/2867).
 
 #### Fixed
 
 * Mark `ExceptionMiddleware.http_exception` as async to prevent thread creation
-  [#2922](https://github.com/encode/starlette/pull/2922).
+  [#2922](https://github.com/Kludex/starlette/pull/2922).
 
 ## 0.46.2 (April 13, 2025)
 
 #### Fixed
 
-* Prevents reraising of exception from BaseHttpMiddleware [#2911](https://github.com/encode/starlette/pull/2911).
-* Use correct index on backwards compatible logic in `TemplateResponse` [#2909](https://github.com/encode/starlette/pull/2909).
+* Prevents reraising of exception from BaseHttpMiddleware [#2911](https://github.com/Kludex/starlette/pull/2911).
+* Use correct index on backwards compatible logic in `TemplateResponse` [#2909](https://github.com/Kludex/starlette/pull/2909).
 
 ## 0.46.1 (March 8, 2025)
 
 #### Fixed
 
-* Allow relative directory path when `follow_symlinks=True` [#2896](https://github.com/encode/starlette/pull/2896).
+* Allow relative directory path when `follow_symlinks=True` [#2896](https://github.com/Kludex/starlette/pull/2896).
 
 ## 0.46.0 (February 22, 2025)
 
 #### Added
 
-* `GZipMiddleware`: Make sure `Vary` header is always added if a response can be compressed [#2865](https://github.com/encode/starlette/pull/2865).
+* `GZipMiddleware`: Make sure `Vary` header is always added if a response can be compressed [#2865](https://github.com/Kludex/starlette/pull/2865).
 
 #### Fixed
 
-* Raise exception from background task on BaseHTTPMiddleware [#2812](https://github.com/encode/starlette/pull/2812).
-* `GZipMiddleware`: Don't compress on server sent events [#2871](https://github.com/encode/starlette/pull/2871).
+* Raise exception from background task on BaseHTTPMiddleware [#2812](https://github.com/Kludex/starlette/pull/2812).
+* `GZipMiddleware`: Don't compress on server sent events [#2871](https://github.com/Kludex/starlette/pull/2871).
 
 #### Changed
 
-* `MultiPartParser`: Rename `max_file_size` to `spool_max_size` [#2780](https://github.com/encode/starlette/pull/2780).
+* `MultiPartParser`: Rename `max_file_size` to `spool_max_size` [#2780](https://github.com/Kludex/starlette/pull/2780).
 
 #### Deprecated
 
-* Add deprecated warning to `TestClient(timeout=...)` [#2840](https://github.com/encode/starlette/pull/2840).
+* Add deprecated warning to `TestClient(timeout=...)` [#2840](https://github.com/Kludex/starlette/pull/2840).
 
 ## 0.45.3 (January 24, 2025)
 
 #### Fixed
 
-* Turn directory into string on `lookup_path` on commonpath comparison [#2851](https://github.com/encode/starlette/pull/2851).
+* Turn directory into string on `lookup_path` on commonpath comparison [#2851](https://github.com/Kludex/starlette/pull/2851).
 
 ## 0.45.2 (January 4, 2025)
 
 #### Fixed
 
-* Make `create_memory_object_stream` compatible with old anyio versions once again, and bump anyio minimum version to 3.6.2 [#2833](https://github.com/encode/starlette/pull/2833).
+* Make `create_memory_object_stream` compatible with old anyio versions once again, and bump anyio minimum version to 3.6.2 [#2833](https://github.com/Kludex/starlette/pull/2833).
 
 ## 0.45.1 (December 30, 2024)
 
 #### Fixed
 
-* Close `MemoryObjectReceiveStream` left unclosed upon exception in `BaseHTTPMiddleware` children [#2813](https://github.com/encode/starlette/pull/2813).
-* Collect errors more reliably from the WebSocket logic on the `TestClient` [#2814](https://github.com/encode/starlette/pull/2814).
+* Close `MemoryObjectReceiveStream` left unclosed upon exception in `BaseHTTPMiddleware` children [#2813](https://github.com/Kludex/starlette/pull/2813).
+* Collect errors more reliably from the WebSocket logic on the `TestClient` [#2814](https://github.com/Kludex/starlette/pull/2814).
 
 #### Refactor
 
-* Use a pair of memory object streams instead of two queues on the `TestClient` [#2829](https://github.com/encode/starlette/pull/2829).
+* Use a pair of memory object streams instead of two queues on the `TestClient` [#2829](https://github.com/Kludex/starlette/pull/2829).
 
 ## 0.45.0 (December 29, 2024)
 
 #### Removed
 
-* Drop Python 3.8 support [#2823](https://github.com/encode/starlette/pull/2823).
-* Remove `ExceptionMiddleware` import proxy from `starlette.exceptions` module [#2826](https://github.com/encode/starlette/pull/2826).
-* Remove deprecated `WS_1004_NO_STATUS_RCVD` and `WS_1005_ABNORMAL_CLOSURE` [#2827](https://github.com/encode/starlette/pull/2827).
+* Drop Python 3.8 support [#2823](https://github.com/Kludex/starlette/pull/2823).
+* Remove `ExceptionMiddleware` import proxy from `starlette.exceptions` module [#2826](https://github.com/Kludex/starlette/pull/2826).
+* Remove deprecated `WS_1004_NO_STATUS_RCVD` and `WS_1005_ABNORMAL_CLOSURE` [#2827](https://github.com/Kludex/starlette/pull/2827).
 
 ## 0.44.0 (December 28, 2024)
 
 #### Added
 
-* Add `client` parameter to `TestClient` [#2810](https://github.com/encode/starlette/pull/2810).
-* Add `max_part_size` parameter to `Request.form()` [#2815](https://github.com/encode/starlette/pull/2815).
+* Add `client` parameter to `TestClient` [#2810](https://github.com/Kludex/starlette/pull/2810).
+* Add `max_part_size` parameter to `Request.form()` [#2815](https://github.com/Kludex/starlette/pull/2815).
 
 ## 0.43.0 (December 25, 2024)
 
 #### Removed
 
-* Remove deprecated `allow_redirects` argument from `TestClient` [#2808](https://github.com/encode/starlette/pull/2808).
+* Remove deprecated `allow_redirects` argument from `TestClient` [#2808](https://github.com/Kludex/starlette/pull/2808).
 
 #### Added
 
-* Make UUID path parameter conversion more flexible [#2806](https://github.com/encode/starlette/pull/2806).
+* Make UUID path parameter conversion more flexible [#2806](https://github.com/Kludex/starlette/pull/2806).
 
 ## 0.42.0 (December 14, 2024)
 
 #### Added
 
-* Raise `ClientDisconnect` on `StreamingResponse` [#2732](https://github.com/encode/starlette/pull/2732).
+* Raise `ClientDisconnect` on `StreamingResponse` [#2732](https://github.com/Kludex/starlette/pull/2732).
 
 #### Fixed
 
-* Use ETag from headers when parsing If-Range in FileResponse [#2761](https://github.com/encode/starlette/pull/2761).
-* Follow directory symlinks in `StaticFiles` when `follow_symlinks=True` [#2711](https://github.com/encode/starlette/pull/2711).
-* Bump minimum `python-multipart` version to `0.0.18` [0ba8395](https://github.com/encode/starlette/commit/0ba83959e609bbd460966f092287df1bbd564cc6).
-* Bump minimum `httpx` version to `0.27.0` [#2773](https://github.com/encode/starlette/pull/2773).
+* Use ETag from headers when parsing If-Range in FileResponse [#2761](https://github.com/Kludex/starlette/pull/2761).
+* Follow directory symlinks in `StaticFiles` when `follow_symlinks=True` [#2711](https://github.com/Kludex/starlette/pull/2711).
+* Bump minimum `python-multipart` version to `0.0.18` [0ba8395](https://github.com/Kludex/starlette/commit/0ba83959e609bbd460966f092287df1bbd564cc6).
+* Bump minimum `httpx` version to `0.27.0` [#2773](https://github.com/Kludex/starlette/pull/2773).
 
 ## 0.41.3 (November 18, 2024)
 
 #### Fixed
 
-* Exclude the query parameters from the `scope[raw_path]` on the `TestClient` [#2716](https://github.com/encode/starlette/pull/2716).
-* Replace `dict` by `Mapping` on `HTTPException.headers` [#2749](https://github.com/encode/starlette/pull/2749).
-* Correct middleware argument passing and improve factory pattern [#2752](https://github.com/encode/starlette/pull/2752).
+* Exclude the query parameters from the `scope[raw_path]` on the `TestClient` [#2716](https://github.com/Kludex/starlette/pull/2716).
+* Replace `dict` by `Mapping` on `HTTPException.headers` [#2749](https://github.com/Kludex/starlette/pull/2749).
+* Correct middleware argument passing and improve factory pattern [#2752](https://github.com/Kludex/starlette/pull/2752).
 
 ## 0.41.2 (October 27, 2024)
 
 #### Fixed
 
-* Revert bump on `python-multipart` on `starlette[full]` extras [#2737](https://github.com/encode/starlette/pull/2737).
+* Revert bump on `python-multipart` on `starlette[full]` extras [#2737](https://github.com/Kludex/starlette/pull/2737).
 
 ## 0.41.1 (October 24, 2024)
 
 #### Fixed
 
-* Bump minimum `python-multipart` version to `0.0.13` [#2734](https://github.com/encode/starlette/pull/2734).
-* Change `python-multipart` import to `python_multipart` [#2733](https://github.com/encode/starlette/pull/2733).
+* Bump minimum `python-multipart` version to `0.0.13` [#2734](https://github.com/Kludex/starlette/pull/2734).
+* Change `python-multipart` import to `python_multipart` [#2733](https://github.com/Kludex/starlette/pull/2733).
 
 ## 0.41.0 (October 15, 2024)
 
 #### Added
 
-- Allow to raise `HTTPException` before `websocket.accept()` [#2725](https://github.com/encode/starlette/pull/2725).
+- Allow to raise `HTTPException` before `websocket.accept()` [#2725](https://github.com/Kludex/starlette/pull/2725).
 
 ## 0.40.0 (October 15, 2024)
 
 This release fixes a Denial of service (DoS) via `multipart/form-data` requests.
 
 You can view the full security advisory:
-[GHSA-f96h-pmfr-66vw](https://github.com/encode/starlette/security/advisories/GHSA-f96h-pmfr-66vw)
+[GHSA-f96h-pmfr-66vw](https://github.com/Kludex/starlette/security/advisories/GHSA-f96h-pmfr-66vw)
 
 #### Fixed
 
 - Add `max_part_size` to `MultiPartParser` to limit the size of parts in `multipart/form-data`
-  requests [fd038f3](https://github.com/encode/starlette/commit/fd038f3070c302bff17ef7d173dbb0b007617733).
+  requests [fd038f3](https://github.com/Kludex/starlette/commit/fd038f3070c302bff17ef7d173dbb0b007617733).
 
 ## 0.39.2 (September 29, 2024)
 
 #### Fixed
 
-- Allow use of `request.url_for` when only "app" scope is available [#2672](https://github.com/encode/starlette/pull/2672).
-- Fix internal type hints to support `python-multipart==0.0.12` [#2708](https://github.com/encode/starlette/pull/2708).
+- Allow use of `request.url_for` when only "app" scope is available [#2672](https://github.com/Kludex/starlette/pull/2672).
+- Fix internal type hints to support `python-multipart==0.0.12` [#2708](https://github.com/Kludex/starlette/pull/2708).
 
 ## 0.39.1 (September 25, 2024)
 
 #### Fixed
 
-- Avoid regex re-compilation in `responses.py` and `schemas.py` [#2700](https://github.com/encode/starlette/pull/2700).
+- Avoid regex re-compilation in `responses.py` and `schemas.py` [#2700](https://github.com/Kludex/starlette/pull/2700).
 - Improve performance of `get_route_path` by removing regular expression usage
-  [#2701](https://github.com/encode/starlette/pull/2701).
-- Consider `FileResponse.chunk_size` when handling multiple ranges [#2703](https://github.com/encode/starlette/pull/2703).
-- Use `token_hex` for generating multipart boundary strings [#2702](https://github.com/encode/starlette/pull/2702).
+  [#2701](https://github.com/Kludex/starlette/pull/2701).
+- Consider `FileResponse.chunk_size` when handling multiple ranges [#2703](https://github.com/Kludex/starlette/pull/2703).
+- Use `token_hex` for generating multipart boundary strings [#2702](https://github.com/Kludex/starlette/pull/2702).
 
 ## 0.39.0 (September 23, 2024)
 
 #### Added
 
 * Add support for [HTTP Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests) to
-  `FileResponse` [#2697](https://github.com/encode/starlette/pull/2697).
+  `FileResponse` [#2697](https://github.com/Kludex/starlette/pull/2697).
 
 ## 0.38.6 (September 22, 2024)
 
 #### Fixed
 
-* Close unclosed `MemoryObjectReceiveStream` in `TestClient` [#2693](https://github.com/encode/starlette/pull/2693).
+* Close unclosed `MemoryObjectReceiveStream` in `TestClient` [#2693](https://github.com/Kludex/starlette/pull/2693).
 
 ## 0.38.5 (September 7, 2024)
 
 #### Fixed
 
-* Schedule `BackgroundTasks` from within `BaseHTTPMiddleware` [#2688](https://github.com/encode/starlette/pull/2688).
+* Schedule `BackgroundTasks` from within `BaseHTTPMiddleware` [#2688](https://github.com/Kludex/starlette/pull/2688).
   This behavior was removed in 0.38.3, and is now restored.
 
 ## 0.38.4 (September 1, 2024)
 
 #### Fixed
 
-* Ensure accurate `root_path` removal in `get_route_path` function [#2600](https://github.com/encode/starlette/pull/2600).
+* Ensure accurate `root_path` removal in `get_route_path` function [#2600](https://github.com/Kludex/starlette/pull/2600).
 
 ## 0.38.3 (September 1, 2024)
 
 #### Added
 
-* Support for Python 3.13 [#2662](https://github.com/encode/starlette/pull/2662).
+* Support for Python 3.13 [#2662](https://github.com/Kludex/starlette/pull/2662).
 
 #### Fixed
 
-* Don't poll for disconnects in `BaseHTTPMiddleware` via `StreamingResponse` [#2620](https://github.com/encode/starlette/pull/2620).
+* Don't poll for disconnects in `BaseHTTPMiddleware` via `StreamingResponse` [#2620](https://github.com/Kludex/starlette/pull/2620).
 
 ## 0.38.2 (July 27, 2024)
 
 #### Fixed
 
-* Not assume all routines have `__name__` on `routing.get_name()` [#2648](https://github.com/encode/starlette/pull/2648).
+* Not assume all routines have `__name__` on `routing.get_name()` [#2648](https://github.com/Kludex/starlette/pull/2648).
 
 ## 0.38.1 (July 23, 2024)
 
 #### Removed
 
-* Revert "Add support for ASGI pathsend extension" [#2649](https://github.com/encode/starlette/pull/2649).
+* Revert "Add support for ASGI pathsend extension" [#2649](https://github.com/Kludex/starlette/pull/2649).
 
 ## 0.38.0 (July 20, 2024)
 
 #### Added
 
-* Allow use of `memoryview` in `StreamingResponse` and `Response` [#2576](https://github.com/encode/starlette/pull/2576)
-  and [#2577](https://github.com/encode/starlette/pull/2577).
-* Send 404 instead of 500 when filename requested is too long on `StaticFiles` [#2583](https://github.com/encode/starlette/pull/2583).
+* Allow use of `memoryview` in `StreamingResponse` and `Response` [#2576](https://github.com/Kludex/starlette/pull/2576)
+  and [#2577](https://github.com/Kludex/starlette/pull/2577).
+* Send 404 instead of 500 when filename requested is too long on `StaticFiles` [#2583](https://github.com/Kludex/starlette/pull/2583).
 
 #### Changed
 
-* Fail fast on invalid `Jinja2Template` instantiation parameters [#2568](https://github.com/encode/starlette/pull/2568).
-* Check endpoint handler is async only once [#2536](https://github.com/encode/starlette/pull/2536).
+* Fail fast on invalid `Jinja2Template` instantiation parameters [#2568](https://github.com/Kludex/starlette/pull/2568).
+* Check endpoint handler is async only once [#2536](https://github.com/Kludex/starlette/pull/2536).
 
 #### Fixed
 
-* Add proper synchronization to `WebSocketTestSession` [#2597](https://github.com/encode/starlette/pull/2597).
+* Add proper synchronization to `WebSocketTestSession` [#2597](https://github.com/Kludex/starlette/pull/2597).
 
 ## 0.37.2 (March 5, 2024)
 
 #### Added
 
-* Add `bytes` to `_RequestData` type [#2510](https://github.com/encode/starlette/pull/2510).
+* Add `bytes` to `_RequestData` type [#2510](https://github.com/Kludex/starlette/pull/2510).
 
 #### Fixed
 
-* Revert "Turn `scope["client"]` to `None` on `TestClient` (#2377)" [#2525](https://github.com/encode/starlette/pull/2525).
-* Remove deprecated `app` argument passed to `httpx.Client` on the `TestClient` [#2526](https://github.com/encode/starlette/pull/2526).
+* Revert "Turn `scope["client"]` to `None` on `TestClient` (#2377)" [#2525](https://github.com/Kludex/starlette/pull/2525).
+* Remove deprecated `app` argument passed to `httpx.Client` on the `TestClient` [#2526](https://github.com/Kludex/starlette/pull/2526).
 
 ## 0.37.1 (February 9, 2024)
 
 #### Fixed
 
-* Warn instead of raise for missing env file on `Config` [#2485](https://github.com/encode/starlette/pull/2485).
+* Warn instead of raise for missing env file on `Config` [#2485](https://github.com/Kludex/starlette/pull/2485).
 
 ## 0.37.0 (February 5, 2024)
 
 #### Added
 
-* Support the WebSocket Denial Response ASGI extension [#2041](https://github.com/encode/starlette/pull/2041).
+* Support the WebSocket Denial Response ASGI extension [#2041](https://github.com/Kludex/starlette/pull/2041).
 
 ## 0.36.3 (February 4, 2024)
 
 #### Fixed
 
-* Create `anyio.Event` on async context [#2459](https://github.com/encode/starlette/pull/2459).
+* Create `anyio.Event` on async context [#2459](https://github.com/Kludex/starlette/pull/2459).
 
 ## 0.36.2 (February 3, 2024)
 
 #### Fixed
 
-* Upgrade `python-multipart` to `0.0.7` [13e5c26](http://github.com/encode/starlette/commit/13e5c26a27f4903924624736abd6131b2da80cc5).
-* Avoid duplicate charset on `Content-Type` [#2443](https://github.com/encode/starlette/2443).
+* Upgrade `python-multipart` to `0.0.7` [13e5c26](http://github.com/Kludex/starlette/commit/13e5c26a27f4903924624736abd6131b2da80cc5).
+* Avoid duplicate charset on `Content-Type` [#2443](https://github.com/Kludex/starlette/2443).
 
 ## 0.36.1 (January 23, 2024)
 
 #### Fixed
 
-* Check if "extensions" in scope before checking the extension [#2438](http://github.com/encode/starlette/pull/2438).
+* Check if "extensions" in scope before checking the extension [#2438](http://github.com/Kludex/starlette/pull/2438).
 
 ## 0.36.0 (January 22, 2024)
 
 #### Added
 
-* Add support for ASGI `pathsend` extension [#2435](http://github.com/encode/starlette/pull/2435).
-* Cancel `WebSocketTestSession` on close [#2427](http://github.com/encode/starlette/pull/2427).
-* Raise `WebSocketDisconnect` when `WebSocket.send()` excepts `IOError` [#2425](http://github.com/encode/starlette/pull/2425).
-* Raise `FileNotFoundError` when the `env_file` parameter on `Config` is not valid [#2422](http://github.com/encode/starlette/pull/2422).
+* Add support for ASGI `pathsend` extension [#2435](http://github.com/Kludex/starlette/pull/2435).
+* Cancel `WebSocketTestSession` on close [#2427](http://github.com/Kludex/starlette/pull/2427).
+* Raise `WebSocketDisconnect` when `WebSocket.send()` excepts `IOError` [#2425](http://github.com/Kludex/starlette/pull/2425).
+* Raise `FileNotFoundError` when the `env_file` parameter on `Config` is not valid [#2422](http://github.com/Kludex/starlette/pull/2422).
 
 ## 0.35.1 (January 11, 2024)
 
 #### Fixed
 
-* Stop using the deprecated "method" parameter in `FileResponse` inside of `StaticFiles` [#2406](https://github.com/encode/starlette/pull/2406).
-* Make `typing-extensions` optional again [#2409](https://github.com/encode/starlette/pull/2409).
+* Stop using the deprecated "method" parameter in `FileResponse` inside of `StaticFiles` [#2406](https://github.com/Kludex/starlette/pull/2406).
+* Make `typing-extensions` optional again [#2409](https://github.com/Kludex/starlette/pull/2409).
 
 ## 0.35.0 (January 11, 2024)
 
 #### Added
 
-* Add `*args` to `Middleware` and improve its type hints [#2381](https://github.com/encode/starlette/pull/2381).
+* Add `*args` to `Middleware` and improve its type hints [#2381](https://github.com/Kludex/starlette/pull/2381).
 
 #### Fixed
 
-* Use `Iterable` instead `Iterator` on `iterate_in_threadpool` [#2362](https://github.com/encode/starlette/pull/2362).
+* Use `Iterable` instead `Iterator` on `iterate_in_threadpool` [#2362](https://github.com/Kludex/starlette/pull/2362).
 
 #### Changes
 
-* Handle `root_path` to keep compatibility with mounted ASGI applications and WSGI [#2400](https://github.com/encode/starlette/pull/2400).
-* Turn `scope["client"]` to `None` on `TestClient` [#2377](https://github.com/encode/starlette/pull/2377).
+* Handle `root_path` to keep compatibility with mounted ASGI applications and WSGI [#2400](https://github.com/Kludex/starlette/pull/2400).
+* Turn `scope["client"]` to `None` on `TestClient` [#2377](https://github.com/Kludex/starlette/pull/2377).
 
 ## 0.34.0 (December 16, 2023)
 
 ### Added
 
-* Use `ParamSpec` for `run_in_threadpool` [#2375](https://github.com/encode/starlette/pull/2375).
-* Add `UploadFile.__repr__` [#2360](https://github.com/encode/starlette/pull/2360).
+* Use `ParamSpec` for `run_in_threadpool` [#2375](https://github.com/Kludex/starlette/pull/2375).
+* Add `UploadFile.__repr__` [#2360](https://github.com/Kludex/starlette/pull/2360).
 
 ### Fixed
 
-* Merge URLs properly on `TestClient` [#2376](https://github.com/encode/starlette/pull/2376).
-* Take weak ETags in consideration on `StaticFiles` [#2334](https://github.com/encode/starlette/pull/2334).
+* Merge URLs properly on `TestClient` [#2376](https://github.com/Kludex/starlette/pull/2376).
+* Take weak ETags in consideration on `StaticFiles` [#2334](https://github.com/Kludex/starlette/pull/2334).
 
 ### Deprecated
 
-* Deprecate `FileResponse(method=...)` parameter [#2366](https://github.com/encode/starlette/pull/2366).
+* Deprecate `FileResponse(method=...)` parameter [#2366](https://github.com/Kludex/starlette/pull/2366).
 
 ## 0.33.0 (December 1, 2023)
 
 ### Added
 
-* Add `middleware` per `Route`/`WebSocketRoute` [#2349](https://github.com/encode/starlette/pull/2349).
-* Add `middleware` per `Router` [#2351](https://github.com/encode/starlette/pull/2351).
+* Add `middleware` per `Route`/`WebSocketRoute` [#2349](https://github.com/Kludex/starlette/pull/2349).
+* Add `middleware` per `Router` [#2351](https://github.com/Kludex/starlette/pull/2351).
 
 ### Fixed
 
-* Do not overwrite `"path"` and `"root_path"` scope keys [#2352](https://github.com/encode/starlette/pull/2352).
-* Set `ensure_ascii=False` on `json.dumps()` for `WebSocket.send_json()` [#2341](https://github.com/encode/starlette/pull/2341).
+* Do not overwrite `"path"` and `"root_path"` scope keys [#2352](https://github.com/Kludex/starlette/pull/2352).
+* Set `ensure_ascii=False` on `json.dumps()` for `WebSocket.send_json()` [#2341](https://github.com/Kludex/starlette/pull/2341).
 
 ## 0.32.0.post1 (November 5, 2023)
 
 ### Fixed
 
-* Revert mkdocs-material from 9.1.17 to 9.4.7 [#2326](https://github.com/encode/starlette/pull/2326).
+* Revert mkdocs-material from 9.1.17 to 9.4.7 [#2326](https://github.com/Kludex/starlette/pull/2326).
 
 ## 0.32.0 (November 4, 2023)
 
 ### Added
 
-* Send `reason` on `WebSocketDisconnect` [#2309](https://github.com/encode/starlette/pull/2309).
-* Add `domain` parameter to `SessionMiddleware` [#2280](https://github.com/encode/starlette/pull/2280).
+* Send `reason` on `WebSocketDisconnect` [#2309](https://github.com/Kludex/starlette/pull/2309).
+* Add `domain` parameter to `SessionMiddleware` [#2280](https://github.com/Kludex/starlette/pull/2280).
 
 ### Changed
 
-* Inherit from `HTMLResponse` instead of `Response` on `_TemplateResponse` [#2274](https://github.com/encode/starlette/pull/2274).
-* Restore the `Response.render` type annotation to its pre-0.31.0 state [#2264](https://github.com/encode/starlette/pull/2264).
+* Inherit from `HTMLResponse` instead of `Response` on `_TemplateResponse` [#2274](https://github.com/Kludex/starlette/pull/2274).
+* Restore the `Response.render` type annotation to its pre-0.31.0 state [#2264](https://github.com/Kludex/starlette/pull/2264).
 
 ## 0.31.1 (August 26, 2023)
 
 ### Fixed
 
-* Fix import error when `exceptiongroup` isn't available [#2231](https://github.com/encode/starlette/pull/2231).
-* Set `url_for` global for custom Jinja environments [#2230](https://github.com/encode/starlette/pull/2230).
+* Fix import error when `exceptiongroup` isn't available [#2231](https://github.com/Kludex/starlette/pull/2231).
+* Set `url_for` global for custom Jinja environments [#2230](https://github.com/Kludex/starlette/pull/2230).
 
 ## 0.31.0 (July 24, 2023)
 
 ### Added
 
-* Officially support Python 3.12 [#2214](https://github.com/encode/starlette/pull/2214).
-* Support AnyIO 4.0 [#2211](https://github.com/encode/starlette/pull/2211).
-* Strictly type annotate Starlette (strict mode on mypy) [#2180](https://github.com/encode/starlette/pull/2180).
+* Officially support Python 3.12 [#2214](https://github.com/Kludex/starlette/pull/2214).
+* Support AnyIO 4.0 [#2211](https://github.com/Kludex/starlette/pull/2211).
+* Strictly type annotate Starlette (strict mode on mypy) [#2180](https://github.com/Kludex/starlette/pull/2180).
 
 ### Fixed
 
-* Don't group duplicated headers on a single string when using the `TestClient` [#2219](https://github.com/encode/starlette/pull/2219).
+* Don't group duplicated headers on a single string when using the `TestClient` [#2219](https://github.com/Kludex/starlette/pull/2219).
 
 ## 0.30.0 (July 13, 2023)
 
 ### Removed
 
-* Drop Python 3.7 support [#2178](https://github.com/encode/starlette/pull/2178).
+* Drop Python 3.7 support [#2178](https://github.com/Kludex/starlette/pull/2178).
 
 ## 0.29.0 (July 13, 2023)
 
 ### Added
 
-* Add `follow_redirects` parameter to `TestClient` [#2207](https://github.com/encode/starlette/pull/2207).
-* Add `__str__` to `HTTPException` and `WebSocketException` [#2181](https://github.com/encode/starlette/pull/2181).
-* Warn users when using `lifespan` together with `on_startup`/`on_shutdown` [#2193](https://github.com/encode/starlette/pull/2193).
-* Collect routes from `Host` to generate the OpenAPI schema [#2183](https://github.com/encode/starlette/pull/2183).
-* Add `request` argument to `TemplateResponse` [#2191](https://github.com/encode/starlette/pull/2191).
+* Add `follow_redirects` parameter to `TestClient` [#2207](https://github.com/Kludex/starlette/pull/2207).
+* Add `__str__` to `HTTPException` and `WebSocketException` [#2181](https://github.com/Kludex/starlette/pull/2181).
+* Warn users when using `lifespan` together with `on_startup`/`on_shutdown` [#2193](https://github.com/Kludex/starlette/pull/2193).
+* Collect routes from `Host` to generate the OpenAPI schema [#2183](https://github.com/Kludex/starlette/pull/2183).
+* Add `request` argument to `TemplateResponse` [#2191](https://github.com/Kludex/starlette/pull/2191).
 
 ### Fixed
 
-* Stop `body_stream` in case `more_body=False` on `BaseHTTPMiddleware` [#2194](https://github.com/encode/starlette/pull/2194).
+* Stop `body_stream` in case `more_body=False` on `BaseHTTPMiddleware` [#2194](https://github.com/Kludex/starlette/pull/2194).
 
 ## 0.28.0 (June 7, 2023)
 
 ### Changed
-* Reuse `Request`'s body buffer for call_next in `BaseHTTPMiddleware` [#1692](https://github.com/encode/starlette/pull/1692).
-* Move exception handling logic to `Route` [#2026](https://github.com/encode/starlette/pull/2026).
+* Reuse `Request`'s body buffer for call_next in `BaseHTTPMiddleware` [#1692](https://github.com/Kludex/starlette/pull/1692).
+* Move exception handling logic to `Route` [#2026](https://github.com/Kludex/starlette/pull/2026).
 
 ### Added
-* Add `env` parameter to `Jinja2Templates`, and deprecate `**env_options` [#2159](https://github.com/encode/starlette/pull/2159).
-* Add clear error message when `httpx` is not installed [#2177](https://github.com/encode/starlette/pull/2177).
+* Add `env` parameter to `Jinja2Templates`, and deprecate `**env_options` [#2159](https://github.com/Kludex/starlette/pull/2159).
+* Add clear error message when `httpx` is not installed [#2177](https://github.com/Kludex/starlette/pull/2177).
 
 ### Fixed
-* Allow "name" argument on `templates url_for()` [#2127](https://github.com/encode/starlette/pull/2127).
+* Allow "name" argument on `templates url_for()` [#2127](https://github.com/Kludex/starlette/pull/2127).
 
 ## 0.27.0 (May 16, 2023)
 
 This release fixes a path traversal vulnerability in `StaticFiles`. You can view the full security advisory:
-https://github.com/encode/starlette/security/advisories/GHSA-v5gw-mw7f-84px
+https://github.com/Kludex/starlette/security/advisories/GHSA-v5gw-mw7f-84px
 
 ### Added
-* Minify JSON websocket data via `send_json` https://github.com/encode/starlette/pull/2128
+* Minify JSON websocket data via `send_json` https://github.com/Kludex/starlette/pull/2128
 
 ### Fixed
-* Replace `commonprefix` by `commonpath` on `StaticFiles` [1797de4](https://github.com/encode/starlette/commit/1797de464124b090f10cf570441e8292936d63e3).
-* Convert ImportErrors into ModuleNotFoundError [#2135](https://github.com/encode/starlette/pull/2135).
-* Correct the RuntimeError message content in websockets [#2141](https://github.com/encode/starlette/pull/2141).
+* Replace `commonprefix` by `commonpath` on `StaticFiles` [1797de4](https://github.com/Kludex/starlette/commit/1797de464124b090f10cf570441e8292936d63e3).
+* Convert ImportErrors into ModuleNotFoundError [#2135](https://github.com/Kludex/starlette/pull/2135).
+* Correct the RuntimeError message content in websockets [#2141](https://github.com/Kludex/starlette/pull/2141).
 
 ## 0.26.1 (March 13, 2023)
 
 ### Fixed
-* Fix typing of Lifespan to allow subclasses of Starlette [#2077](https://github.com/encode/starlette/pull/2077).
+* Fix typing of Lifespan to allow subclasses of Starlette [#2077](https://github.com/Kludex/starlette/pull/2077).
 
 ## 0.26.0.post1 (March 9, 2023)
 
 ### Fixed
-* Replace reference from Events to Lifespan on the mkdocs.yml [#2072](https://github.com/encode/starlette/pull/2072).
+* Replace reference from Events to Lifespan on the mkdocs.yml [#2072](https://github.com/Kludex/starlette/pull/2072).
 
 ## 0.26.0 (March 9, 2023)
 
 ### Added
-* Support [lifespan state](lifespan.md) [#2060](https://github.com/encode/starlette/pull/2060),
-  [#2065](https://github.com/encode/starlette/pull/2065) and [#2064](https://github.com/encode/starlette/pull/2064).
+* Support [lifespan state](lifespan.md) [#2060](https://github.com/Kludex/starlette/pull/2060),
+  [#2065](https://github.com/Kludex/starlette/pull/2065) and [#2064](https://github.com/Kludex/starlette/pull/2064).
 
 ### Changed
-* Change `url_for` signature to return a `URL` instance [#1385](https://github.com/encode/starlette/pull/1385).
+* Change `url_for` signature to return a `URL` instance [#1385](https://github.com/Kludex/starlette/pull/1385).
 
 ### Fixed
-* Allow "name" argument on `url_for()` and `url_path_for()` [#2050](https://github.com/encode/starlette/pull/2050).
+* Allow "name" argument on `url_for()` and `url_path_for()` [#2050](https://github.com/Kludex/starlette/pull/2050).
 
 ### Deprecated
-* Deprecate `on_startup` and `on_shutdown` events [#2070](https://github.com/encode/starlette/pull/2070).
+* Deprecate `on_startup` and `on_shutdown` events [#2070](https://github.com/Kludex/starlette/pull/2070).
 
 ## 0.25.0 (February 14, 2023)
 
 ### Fix
-* Limit the number of fields and files when parsing `multipart/form-data` on the `MultipartParser` [8c74c2c](https://github.com/encode/starlette/commit/8c74c2c8dba7030154f8af18e016136bea1938fa) and [#2036](https://github.com/encode/starlette/pull/2036).
+* Limit the number of fields and files when parsing `multipart/form-data` on the `MultipartParser` [8c74c2c](https://github.com/Kludex/starlette/commit/8c74c2c8dba7030154f8af18e016136bea1938fa) and [#2036](https://github.com/Kludex/starlette/pull/2036).
 
 ## 0.24.0 (February 6, 2023)
 
 ### Added
-* Allow `StaticFiles` to follow symlinks [#1683](https://github.com/encode/starlette/pull/1683).
-* Allow `Request.form()` as a context manager [#1903](https://github.com/encode/starlette/pull/1903).
-* Add `size` attribute to `UploadFile` [#1405](https://github.com/encode/starlette/pull/1405).
-* Add `env_prefix` argument to `Config` [#1990](https://github.com/encode/starlette/pull/1990).
-* Add template context processors [#1904](https://github.com/encode/starlette/pull/1904).
-* Support `str` and `datetime` on `expires` parameter on the `Response.set_cookie` method [#1908](https://github.com/encode/starlette/pull/1908).
+* Allow `StaticFiles` to follow symlinks [#1683](https://github.com/Kludex/starlette/pull/1683).
+* Allow `Request.form()` as a context manager [#1903](https://github.com/Kludex/starlette/pull/1903).
+* Add `size` attribute to `UploadFile` [#1405](https://github.com/Kludex/starlette/pull/1405).
+* Add `env_prefix` argument to `Config` [#1990](https://github.com/Kludex/starlette/pull/1990).
+* Add template context processors [#1904](https://github.com/Kludex/starlette/pull/1904).
+* Support `str` and `datetime` on `expires` parameter on the `Response.set_cookie` method [#1908](https://github.com/Kludex/starlette/pull/1908).
 
 ### Changed
-* Lazily build the middleware stack [#2017](https://github.com/encode/starlette/pull/2017).
-* Make the `file` argument required on `UploadFile` [#1413](https://github.com/encode/starlette/pull/1413).
-* Use debug extension instead of custom response template extension [#1991](https://github.com/encode/starlette/pull/1991).
+* Lazily build the middleware stack [#2017](https://github.com/Kludex/starlette/pull/2017).
+* Make the `file` argument required on `UploadFile` [#1413](https://github.com/Kludex/starlette/pull/1413).
+* Use debug extension instead of custom response template extension [#1991](https://github.com/Kludex/starlette/pull/1991).
 
 ### Fixed
-* Fix url parsing of ipv6 urls on `URL.replace` [#1965](https://github.com/encode/starlette/pull/1965).
+* Fix url parsing of ipv6 urls on `URL.replace` [#1965](https://github.com/Kludex/starlette/pull/1965).
 
 ## 0.23.1 (December 9, 2022)
 
 ### Fixed
-* Only stop receiving stream on `body_stream` if body is empty on the `BaseHTTPMiddleware` [#1940](https://github.com/encode/starlette/pull/1940).
+* Only stop receiving stream on `body_stream` if body is empty on the `BaseHTTPMiddleware` [#1940](https://github.com/Kludex/starlette/pull/1940).
 
 ## 0.23.0 (December 5, 2022)
 
 ### Added
-* Add `headers` parameter to the `TestClient` [#1966](https://github.com/encode/starlette/pull/1966).
+* Add `headers` parameter to the `TestClient` [#1966](https://github.com/Kludex/starlette/pull/1966).
 
 ### Deprecated
-* Deprecate `Starlette` and `Router` decorators [#1897](https://github.com/encode/starlette/pull/1897).
+* Deprecate `Starlette` and `Router` decorators [#1897](https://github.com/Kludex/starlette/pull/1897).
 
 ### Fixed
-* Fix bug on `FloatConvertor` regex [#1973](https://github.com/encode/starlette/pull/1973).
+* Fix bug on `FloatConvertor` regex [#1973](https://github.com/Kludex/starlette/pull/1973).
 
 ## 0.22.0 (November 17, 2022)
 
 ### Changed
-* Bypass `GZipMiddleware` when response includes `Content-Encoding` [#1901](https://github.com/encode/starlette/pull/1901).
+* Bypass `GZipMiddleware` when response includes `Content-Encoding` [#1901](https://github.com/Kludex/starlette/pull/1901).
 
 ### Fixed
-* Remove unneeded `unquote()` from query parameters on the `TestClient` [#1953](https://github.com/encode/starlette/pull/1953).
-* Make sure `MutableHeaders._list` is actually a `list` [#1917](https://github.com/encode/starlette/pull/1917).
-* Import compatibility with the next version of `AnyIO` [#1936](https://github.com/encode/starlette/pull/1936).
+* Remove unneeded `unquote()` from query parameters on the `TestClient` [#1953](https://github.com/Kludex/starlette/pull/1953).
+* Make sure `MutableHeaders._list` is actually a `list` [#1917](https://github.com/Kludex/starlette/pull/1917).
+* Import compatibility with the next version of `AnyIO` [#1936](https://github.com/Kludex/starlette/pull/1936).
 
 ## 0.21.0 (September 26, 2022)
 
 This release replaces the underlying HTTP client used on the `TestClient` (`requests` :arrow_right: `httpx`), and as those clients [differ _a bit_ on their API](https://www.python-httpx.org/compatibility/), your test suite will likely break. To make the migration smoother, you can use the [`bump-testclient`](https://github.com/Kludex/bump-testclient) tool.
 
 ### Changed
-* Replace `requests` with `httpx` in `TestClient` [#1376](https://github.com/encode/starlette/pull/1376).
+* Replace `requests` with `httpx` in `TestClient` [#1376](https://github.com/Kludex/starlette/pull/1376).
 
 ### Added
-* Add `WebSocketException` and support for WebSocket exception handlers [#1263](https://github.com/encode/starlette/pull/1263).
-* Add `middleware` parameter to `Mount` class [#1649](https://github.com/encode/starlette/pull/1649).
-* Officially support Python 3.11 [#1863](https://github.com/encode/starlette/pull/1863).
-* Implement `__repr__` for route classes [#1864](https://github.com/encode/starlette/pull/1864).
+* Add `WebSocketException` and support for WebSocket exception handlers [#1263](https://github.com/Kludex/starlette/pull/1263).
+* Add `middleware` parameter to `Mount` class [#1649](https://github.com/Kludex/starlette/pull/1649).
+* Officially support Python 3.11 [#1863](https://github.com/Kludex/starlette/pull/1863).
+* Implement `__repr__` for route classes [#1864](https://github.com/Kludex/starlette/pull/1864).
 
 ### Fixed
-* Fix bug on which `BackgroundTasks` were cancelled when using `BaseHTTPMiddleware` and client disconnected [#1715](https://github.com/encode/starlette/pull/1715).
+* Fix bug on which `BackgroundTasks` were cancelled when using `BaseHTTPMiddleware` and client disconnected [#1715](https://github.com/Kludex/starlette/pull/1715).
 
 ## 0.20.4 (June 28, 2022)
 
 ### Fixed
-* Remove converter from path when generating OpenAPI schema [#1648](https://github.com/encode/starlette/pull/1648).
+* Remove converter from path when generating OpenAPI schema [#1648](https://github.com/Kludex/starlette/pull/1648).
 
 ## 0.20.3 (June 10, 2022)
 
 ### Fixed
-* Revert "Allow `StaticFiles` to follow symlinks" [#1681](https://github.com/encode/starlette/pull/1681).
+* Revert "Allow `StaticFiles` to follow symlinks" [#1681](https://github.com/Kludex/starlette/pull/1681).
 
 ## 0.20.2 (June 7, 2022)
 
 ### Fixed
-* Fix regression on route paths with colons [#1675](https://github.com/encode/starlette/pull/1675).
-* Allow `StaticFiles` to follow symlinks [#1337](https://github.com/encode/starlette/pull/1377).
+* Fix regression on route paths with colons [#1675](https://github.com/Kludex/starlette/pull/1675).
+* Allow `StaticFiles` to follow symlinks [#1337](https://github.com/Kludex/starlette/pull/1377).
 
 ## 0.20.1 (May 28, 2022)
 
 ### Fixed
-* Improve detection of async callables [#1444](https://github.com/encode/starlette/pull/1444).
-* Send 400 (Bad Request) when `boundary` is missing [#1617](https://github.com/encode/starlette/pull/1617).
-* Send 400 (Bad Request) when missing "name" field on `Content-Disposition` header [#1643](https://github.com/encode/starlette/pull/1643).
-* Do not send empty data to `StreamingResponse` on `BaseHTTPMiddleware` [#1609](https://github.com/encode/starlette/pull/1609).
-* Add `__bool__` dunder for `Secret` [#1625](https://github.com/encode/starlette/pull/1625).
+* Improve detection of async callables [#1444](https://github.com/Kludex/starlette/pull/1444).
+* Send 400 (Bad Request) when `boundary` is missing [#1617](https://github.com/Kludex/starlette/pull/1617).
+* Send 400 (Bad Request) when missing "name" field on `Content-Disposition` header [#1643](https://github.com/Kludex/starlette/pull/1643).
+* Do not send empty data to `StreamingResponse` on `BaseHTTPMiddleware` [#1609](https://github.com/Kludex/starlette/pull/1609).
+* Add `__bool__` dunder for `Secret` [#1625](https://github.com/Kludex/starlette/pull/1625).
 
 ## 0.20.0 (May 3, 2022)
 
 ### Removed
-* Drop Python 3.6 support [#1357](https://github.com/encode/starlette/pull/1357) and [#1616](https://github.com/encode/starlette/pull/1616).
+* Drop Python 3.6 support [#1357](https://github.com/Kludex/starlette/pull/1357) and [#1616](https://github.com/Kludex/starlette/pull/1616).
 
 
 ## 0.19.1 (April 22, 2022)
 
 ### Fixed
-* Fix inference of `Route.name` when created from methods [#1553](https://github.com/encode/starlette/pull/1553).
-* Avoid `TypeError` on `websocket.disconnect` when code is `None` [#1574](https://github.com/encode/starlette/pull/1574).
+* Fix inference of `Route.name` when created from methods [#1553](https://github.com/Kludex/starlette/pull/1553).
+* Avoid `TypeError` on `websocket.disconnect` when code is `None` [#1574](https://github.com/Kludex/starlette/pull/1574).
 
 ### Deprecated
-* Deprecate `WS_1004_NO_STATUS_RCVD` and `WS_1005_ABNORMAL_CLOSURE` in favor of `WS_1005_NO_STATUS_RCVD` and `WS_1006_ABNORMAL_CLOSURE`, as the previous constants didn't match the [WebSockets specs](https://www.iana.org/assignments/websocket/websocket.xhtml) [#1580](https://github.com/encode/starlette/pull/1580).
+* Deprecate `WS_1004_NO_STATUS_RCVD` and `WS_1005_ABNORMAL_CLOSURE` in favor of `WS_1005_NO_STATUS_RCVD` and `WS_1006_ABNORMAL_CLOSURE`, as the previous constants didn't match the [WebSockets specs](https://www.iana.org/assignments/websocket/websocket.xhtml) [#1580](https://github.com/Kludex/starlette/pull/1580).
 
 
 ## 0.19.0 (March 9, 2022)
 
 ### Added
-* Error handler will always run, even if the error happens on a background task [#761](https://github.com/encode/starlette/pull/761).
-* Add `headers` parameter to `HTTPException` [#1435](https://github.com/encode/starlette/pull/1435).
-* Internal responses with `405` status code insert an `Allow` header, as described by [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.5) [#1436](https://github.com/encode/starlette/pull/1436).
-* The `content` argument in `JSONResponse` is now required [#1431](https://github.com/encode/starlette/pull/1431).
-* Add custom URL convertor register [#1437](https://github.com/encode/starlette/pull/1437).
-* Add content disposition type parameter to `FileResponse` [#1266](https://github.com/encode/starlette/pull/1266).
-* Add next query param with original request URL in requires decorator [#920](https://github.com/encode/starlette/pull/920).
-* Add `raw_path` to `TestClient` scope [#1445](https://github.com/encode/starlette/pull/1445).
-* Add union operators to `MutableHeaders` [#1240](https://github.com/encode/starlette/pull/1240).
-* Display missing route details on debug page [#1363](https://github.com/encode/starlette/pull/1363).
-* Change `anyio` required version range to `>=3.4.0,<5.0` [#1421](https://github.com/encode/starlette/pull/1421) and [#1460](https://github.com/encode/starlette/pull/1460).
-* Add `typing-extensions>=3.10` requirement - used only on lower versions than Python 3.10 [#1475](https://github.com/encode/starlette/pull/1475).
+* Error handler will always run, even if the error happens on a background task [#761](https://github.com/Kludex/starlette/pull/761).
+* Add `headers` parameter to `HTTPException` [#1435](https://github.com/Kludex/starlette/pull/1435).
+* Internal responses with `405` status code insert an `Allow` header, as described by [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.5) [#1436](https://github.com/Kludex/starlette/pull/1436).
+* The `content` argument in `JSONResponse` is now required [#1431](https://github.com/Kludex/starlette/pull/1431).
+* Add custom URL convertor register [#1437](https://github.com/Kludex/starlette/pull/1437).
+* Add content disposition type parameter to `FileResponse` [#1266](https://github.com/Kludex/starlette/pull/1266).
+* Add next query param with original request URL in requires decorator [#920](https://github.com/Kludex/starlette/pull/920).
+* Add `raw_path` to `TestClient` scope [#1445](https://github.com/Kludex/starlette/pull/1445).
+* Add union operators to `MutableHeaders` [#1240](https://github.com/Kludex/starlette/pull/1240).
+* Display missing route details on debug page [#1363](https://github.com/Kludex/starlette/pull/1363).
+* Change `anyio` required version range to `>=3.4.0,<5.0` [#1421](https://github.com/Kludex/starlette/pull/1421) and [#1460](https://github.com/Kludex/starlette/pull/1460).
+* Add `typing-extensions>=3.10` requirement - used only on lower versions than Python 3.10 [#1475](https://github.com/Kludex/starlette/pull/1475).
 
 ### Fixed
-* Prevent `BaseHTTPMiddleware` from hiding errors of `StreamingResponse` and mounted applications [#1459](https://github.com/encode/starlette/pull/1459).
-* `SessionMiddleware` uses an explicit `path=...`, instead of defaulting to the ASGI 'root_path' [#1512](https://github.com/encode/starlette/pull/1512).
-* `Request.client` is now compliant with the ASGI specifications [#1462](https://github.com/encode/starlette/pull/1462).
-* Raise `KeyError` at early stage for missing boundary [#1349](https://github.com/encode/starlette/pull/1349).
+* Prevent `BaseHTTPMiddleware` from hiding errors of `StreamingResponse` and mounted applications [#1459](https://github.com/Kludex/starlette/pull/1459).
+* `SessionMiddleware` uses an explicit `path=...`, instead of defaulting to the ASGI 'root_path' [#1512](https://github.com/Kludex/starlette/pull/1512).
+* `Request.client` is now compliant with the ASGI specifications [#1462](https://github.com/Kludex/starlette/pull/1462).
+* Raise `KeyError` at early stage for missing boundary [#1349](https://github.com/Kludex/starlette/pull/1349).
 
 ### Deprecated
-* Deprecate WSGIMiddleware in favor of a2wsgi [#1504](https://github.com/encode/starlette/pull/1504).
-* Deprecate `run_until_first_complete` [#1443](https://github.com/encode/starlette/pull/1443).
+* Deprecate WSGIMiddleware in favor of a2wsgi [#1504](https://github.com/Kludex/starlette/pull/1504).
+* Deprecate `run_until_first_complete` [#1443](https://github.com/Kludex/starlette/pull/1443).
 
 
 ## 0.18.0 (January 23, 2022)
 
 ### Added
-* Change default chunk size from 4Kb to 64Kb on `FileResponse` [#1345](https://github.com/encode/starlette/pull/1345).
-* Add support for `functools.partial` in `WebSocketRoute` [#1356](https://github.com/encode/starlette/pull/1356).
-* Add `StaticFiles` packages with directory [#1350](https://github.com/encode/starlette/pull/1350).
-* Allow environment options in `Jinja2Templates` [#1401](https://github.com/encode/starlette/pull/1401).
-* Allow HEAD method on `HttpEndpoint` [#1346](https://github.com/encode/starlette/pull/1346).
-* Accept additional headers on `websocket.accept` message [#1361](https://github.com/encode/starlette/pull/1361) and [#1422](https://github.com/encode/starlette/pull/1422).
-* Add `reason` to `WebSocket` close ASGI event [#1417](https://github.com/encode/starlette/pull/1417).
-* Add headers attribute to `UploadFile` [#1382](https://github.com/encode/starlette/pull/1382).
-* Don't omit `Content-Length` header for `Content-Length: 0` cases [#1395](https://github.com/encode/starlette/pull/1395).
-* Don't set headers for responses with 1xx, 204 and 304 status code [#1397](https://github.com/encode/starlette/pull/1397).
-* `SessionMiddleware.max_age` now accepts `None`, so cookie can last as long as the browser session [#1387](https://github.com/encode/starlette/pull/1387).
+* Change default chunk size from 4Kb to 64Kb on `FileResponse` [#1345](https://github.com/Kludex/starlette/pull/1345).
+* Add support for `functools.partial` in `WebSocketRoute` [#1356](https://github.com/Kludex/starlette/pull/1356).
+* Add `StaticFiles` packages with directory [#1350](https://github.com/Kludex/starlette/pull/1350).
+* Allow environment options in `Jinja2Templates` [#1401](https://github.com/Kludex/starlette/pull/1401).
+* Allow HEAD method on `HttpEndpoint` [#1346](https://github.com/Kludex/starlette/pull/1346).
+* Accept additional headers on `websocket.accept` message [#1361](https://github.com/Kludex/starlette/pull/1361) and [#1422](https://github.com/Kludex/starlette/pull/1422).
+* Add `reason` to `WebSocket` close ASGI event [#1417](https://github.com/Kludex/starlette/pull/1417).
+* Add headers attribute to `UploadFile` [#1382](https://github.com/Kludex/starlette/pull/1382).
+* Don't omit `Content-Length` header for `Content-Length: 0` cases [#1395](https://github.com/Kludex/starlette/pull/1395).
+* Don't set headers for responses with 1xx, 204 and 304 status code [#1397](https://github.com/Kludex/starlette/pull/1397).
+* `SessionMiddleware.max_age` now accepts `None`, so cookie can last as long as the browser session [#1387](https://github.com/Kludex/starlette/pull/1387).
 
 ### Fixed
-* Tweak `hashlib.md5()` function on `FileResponse`s ETag generation. The parameter [`usedforsecurity`](https://bugs.python.org/issue9216) flag is set to `False`, if the flag is available on the system. This fixes an error raised on systems with [FIPS](https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/FIPS_Mode_-_an_explanation) enabled [#1366](https://github.com/encode/starlette/pull/1366) and [#1410](https://github.com/encode/starlette/pull/1410).
-* Fix `path_params` type on `url_path_for()` method i.e. turn `str` into `Any` [#1341](https://github.com/encode/starlette/pull/1341).
-* `Host` now ignores `port` on routing [#1322](https://github.com/encode/starlette/pull/1322).
+* Tweak `hashlib.md5()` function on `FileResponse`s ETag generation. The parameter [`usedforsecurity`](https://bugs.python.org/issue9216) flag is set to `False`, if the flag is available on the system. This fixes an error raised on systems with [FIPS](https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/FIPS_Mode_-_an_explanation) enabled [#1366](https://github.com/Kludex/starlette/pull/1366) and [#1410](https://github.com/Kludex/starlette/pull/1410).
+* Fix `path_params` type on `url_path_for()` method i.e. turn `str` into `Any` [#1341](https://github.com/Kludex/starlette/pull/1341).
+* `Host` now ignores `port` on routing [#1322](https://github.com/Kludex/starlette/pull/1322).
 
 ## 0.17.1 (November 17, 2021)
 
 ### Fixed
-* Fix `IndexError` in authentication `requires` when wrapped function arguments are distributed between `*args` and `**kwargs` [#1335](https://github.com/encode/starlette/pull/1335).
+* Fix `IndexError` in authentication `requires` when wrapped function arguments are distributed between `*args` and `**kwargs` [#1335](https://github.com/Kludex/starlette/pull/1335).
 
 ## 0.17.0 (November 4, 2021)
 
 ### Added
-* `Response.delete_cookie` now accepts the same parameters as `Response.set_cookie` [#1228](https://github.com/encode/starlette/pull/1228).
-* Update the `Jinja2Templates` constructor to allow `PathLike` [#1292](https://github.com/encode/starlette/pull/1292).
+* `Response.delete_cookie` now accepts the same parameters as `Response.set_cookie` [#1228](https://github.com/Kludex/starlette/pull/1228).
+* Update the `Jinja2Templates` constructor to allow `PathLike` [#1292](https://github.com/Kludex/starlette/pull/1292).
 
 ### Fixed
-* Fix BadSignature exception handling in SessionMiddleware [#1264](https://github.com/encode/starlette/pull/1264).
-* Change `HTTPConnection.__getitem__` return type from `str` to `typing.Any` [#1118](https://github.com/encode/starlette/pull/1118).
-* Change `ImmutableMultiDict.getlist` return type from `typing.List[str]` to `typing.List[typing.Any]` [#1235](https://github.com/encode/starlette/pull/1235).
-* Handle `OSError` exceptions on `StaticFiles` [#1220](https://github.com/encode/starlette/pull/1220).
-* Fix `StaticFiles` 404.html in HTML mode [#1314](https://github.com/encode/starlette/pull/1314).
-* Prevent anyio.ExceptionGroup in error views under a BaseHTTPMiddleware [#1262](https://github.com/encode/starlette/pull/1262).
+* Fix BadSignature exception handling in SessionMiddleware [#1264](https://github.com/Kludex/starlette/pull/1264).
+* Change `HTTPConnection.__getitem__` return type from `str` to `typing.Any` [#1118](https://github.com/Kludex/starlette/pull/1118).
+* Change `ImmutableMultiDict.getlist` return type from `typing.List[str]` to `typing.List[typing.Any]` [#1235](https://github.com/Kludex/starlette/pull/1235).
+* Handle `OSError` exceptions on `StaticFiles` [#1220](https://github.com/Kludex/starlette/pull/1220).
+* Fix `StaticFiles` 404.html in HTML mode [#1314](https://github.com/Kludex/starlette/pull/1314).
+* Prevent anyio.ExceptionGroup in error views under a BaseHTTPMiddleware [#1262](https://github.com/Kludex/starlette/pull/1262).
 
 ### Removed
-* Remove GraphQL support [#1198](https://github.com/encode/starlette/pull/1198).
+* Remove GraphQL support [#1198](https://github.com/Kludex/starlette/pull/1198).
 
 ## 0.16.0 (July 19, 2021)
 
 ### Added
  * Added [Encode](https://github.com/sponsors/encode) funding option
-   [#1219](https://github.com/encode/starlette/pull/1219)
+   [#1219](https://github.com/Kludex/starlette/pull/1219)
 
 ### Fixed
  * `starlette.websockets.WebSocket` instances are now hashable and compare by identity
-    [#1039](https://github.com/encode/starlette/pull/1039)
+    [#1039](https://github.com/Kludex/starlette/pull/1039)
  * A number of fixes related to running task groups in lifespan
-   [#1213](https://github.com/encode/starlette/pull/1213),
-   [#1227](https://github.com/encode/starlette/pull/1227)
+   [#1213](https://github.com/Kludex/starlette/pull/1213),
+   [#1227](https://github.com/Kludex/starlette/pull/1227)
 
 ### Deprecated/removed
  * The method `starlette.templates.Jinja2Templates.get_env` was removed
-   [#1218](https://github.com/encode/starlette/pull/1218)
+   [#1218](https://github.com/Kludex/starlette/pull/1218)
  * The ClassVar `starlette.testclient.TestClient.async_backend` was removed,
    the backend is now configured using constructor kwargs
-   [#1211](https://github.com/encode/starlette/pull/1211)
+   [#1211](https://github.com/Kludex/starlette/pull/1211)
  * Passing an Async Generator Function or a Generator Function to `starlette.routing.Router(lifespan=)` is deprecated. You should wrap your lifespan in `@contextlib.asynccontextmanager`.
-   [#1227](https://github.com/encode/starlette/pull/1227)
-   [#1110](https://github.com/encode/starlette/pull/1110)
+   [#1227](https://github.com/Kludex/starlette/pull/1227)
+   [#1110](https://github.com/Kludex/starlette/pull/1110)
 
 ## 0.15.0 (June 23, 2021)
 
@@ -670,35 +670,35 @@ changes have occurred. Another significant change with this release is the
 
 ### Added
 * Starlette now supports [Trio](https://trio.readthedocs.io/en/stable/) as an async runtime via
-  AnyIO - [#1157](https://github.com/encode/starlette/pull/1157).
+  AnyIO - [#1157](https://github.com/Kludex/starlette/pull/1157).
 * `TestClient.websocket_connect()` now must be used as a context manager.
-* Initial support for Python 3.10 - [#1201](https://github.com/encode/starlette/pull/1201).
+* Initial support for Python 3.10 - [#1201](https://github.com/Kludex/starlette/pull/1201).
 * The compression level used in `GZipMiddleware` is now adjustable -
-  [#1128](https://github.com/encode/starlette/pull/1128).
+  [#1128](https://github.com/Kludex/starlette/pull/1128).
 
 ### Fixed
-* Several fixes to `CORSMiddleware`. See [#1111](https://github.com/encode/starlette/pull/1111),
-  [#1112](https://github.com/encode/starlette/pull/1112),
-  [#1113](https://github.com/encode/starlette/pull/1113),
-  [#1199](https://github.com/encode/starlette/pull/1199).
+* Several fixes to `CORSMiddleware`. See [#1111](https://github.com/Kludex/starlette/pull/1111),
+  [#1112](https://github.com/Kludex/starlette/pull/1112),
+  [#1113](https://github.com/Kludex/starlette/pull/1113),
+  [#1199](https://github.com/Kludex/starlette/pull/1199).
 * Improved exception messages in the case of duplicated path parameter names -
-  [#1177](https://github.com/encode/starlette/pull/1177).
+  [#1177](https://github.com/Kludex/starlette/pull/1177).
 * `RedirectResponse` now uses `quote` instead of `quote_plus` encoding for the `Location` header
   to better match the behaviour in other frameworks such as Django -
-  [#1164](https://github.com/encode/starlette/pull/1164).
+  [#1164](https://github.com/Kludex/starlette/pull/1164).
 * Exception causes are now preserved in more cases -
-  [#1158](https://github.com/encode/starlette/pull/1158).
+  [#1158](https://github.com/Kludex/starlette/pull/1158).
 * Session cookies now use the ASGI root path in the case of mounted applications -
-  [#1147](https://github.com/encode/starlette/pull/1147).
+  [#1147](https://github.com/Kludex/starlette/pull/1147).
 * Fixed a cache invalidation bug when static files were deleted in certain circumstances -
-  [#1023](https://github.com/encode/starlette/pull/1023).
+  [#1023](https://github.com/Kludex/starlette/pull/1023).
 * Improved memory usage of `BaseHTTPMiddleware` when handling large responses -
-  [#1012](https://github.com/encode/starlette/issues/1012) fixed via #1157
+  [#1012](https://github.com/Kludex/starlette/issues/1012) fixed via #1157
 
 ### Deprecated/removed
 
 * Built-in GraphQL support via the `GraphQLApp` class has been deprecated and will be removed in a
-  future release. Please see [#619](https://github.com/encode/starlette/issues/619). GraphQL is not
+  future release. Please see [#619](https://github.com/Kludex/starlette/issues/619). GraphQL is not
   supported on Python 3.10.
 * The `executor` parameter to `GraphQLApp` was removed. Use `executor_class` instead.
 * The `workers` parameter to `WSGIMiddleware` was removed. This hasn't had any effect since
@@ -709,11 +709,11 @@ changes have occurred. Another significant change with this release is the
 ### Fixed
 
 * Fixed `ServerErrorMiddleware` compatibility with Python 3.9.1/3.8.7 when debug mode is enabled -
-  [#1132](https://github.com/encode/starlette/pull/1132).
+  [#1132](https://github.com/Kludex/starlette/pull/1132).
 * Fixed unclosed socket `ResourceWarning`s when using the `TestClient` with WebSocket endpoints -
   #1132.
 * Improved detection of `async` endpoints wrapped in `functools.partial` on Python 3.8+ -
-  [#1106](https://github.com/encode/starlette/pull/1106).
+  [#1106](https://github.com/Kludex/starlette/pull/1106).
 
 
 ## 0.14.1 (November 9th, 2020)
@@ -723,7 +723,7 @@ changes have occurred. Another significant change with this release is the
 * `UJSONResponse` was removed (this change was intended to be included in 0.14.0). Please see the
   [documentation](https://www.starlette.io/responses/#custom-json-serialization) for how to
   implement responses using custom JSON serialization -
-  [#1074](https://github.com/encode/starlette/pull/1047).
+  [#1074](https://github.com/Kludex/starlette/pull/1047).
 
 ## 0.14.0 (November 8th, 2020)
 
index 2b2e635a4a3a2860c8a1947bb7d4c8d371b2cbd8..2d8ff8f323683ab05cb78e342249014dd1836d73 100644 (file)
@@ -153,7 +153,7 @@ We currently manage sponsorships *exclusively* through **GitHub Sponsors**. This
     <p>We are currently evaluating whether to expand our sponsorship options beyond GitHub Sponsors. If your company would be interested in sponsoring Starlette and Uvicorn but prefers to use a different platform (e.g., Open Collective, direct invoicing), please let us know!</p>
     <p>Your feedback is invaluable in helping us make sponsorship as accessible as possible. Share your thoughts by:</p>
     <ul>
-        <li>Opening a discussion on our <a href="https://github.com/encode/starlette/discussions">GitHub repository</a></li>
+        <li>Opening a discussion on our <a href="https://github.com/Kludex/starlette/discussions">GitHub repository</a></li>
         <li>Contacting us directly at <a href="mailto:marcelotryle@gmail.com">marcelotryle@gmail.com</a></li>
     </ul>
 </div>
@@ -176,7 +176,7 @@ Special thanks to some of our most impactful contributors:
 
 If you want your name removed from the list above, or if I forgot a significant contributor, please let me know.
 You can view all contributors on GitHub:
-[Starlette Contributors](https://github.com/encode/starlette/graphs/contributors) / [Uvicorn Contributors](https://github.com/encode/uvicorn/graphs/contributors).
+[Starlette Contributors](https://github.com/Kludex/starlette/graphs/contributors) / [Uvicorn Contributors](https://github.com/encode/uvicorn/graphs/contributors).
 
 While the current sponsorship program directly supports Marcelo's maintenance work, we are exploring ways
 to distribute funding to other key contributors in the future. This initiative is still in early planning
index eb1afd69229fb9cfb1cf2f6ca7073a72398766f9..52e0258d0d5d26b30ece93f9fd073338b3bad2ce 100644 (file)
@@ -2,8 +2,8 @@ site_name: Starlette
 site_description: The little ASGI library that shines.
 site_url: https://www.starlette.io
 
-repo_name: encode/starlette
-repo_url: https://github.com/encode/starlette
+repo_name: Kludex/starlette
+repo_url: https://github.com/Kludex/starlette
 edit_uri: edit/master/docs/
 
 strict: true
index 554da9ccc43b3816d2ccf4e43d14abaecfd5467a..2af8a4e7ed1006c946033c5c527587f56fb776a4 100644 (file)
@@ -64,11 +64,11 @@ docs = [
 default-groups = ["dev", "docs"]
 
 [project.urls]
-Homepage = "https://github.com/encode/starlette"
+Homepage = "https://github.com/Kludex/starlette"
 Documentation = "https://www.starlette.io/"
 Changelog = "https://www.starlette.io/release-notes/"
-Funding = "https://github.com/sponsors/encode"
-Source = "https://github.com/encode/starlette"
+Funding = "https://github.com/sponsors/Kludex"
+Source = "https://github.com/Kludex/starlette"
 
 [tool.hatch.version]
 path = "starlette/__init__.py"
index 815f0208f5dd1bdc21feca06a141558f03c5d8e4..313ed88d0427187b89680f7582a146dacbb110f5 100755 (executable)
@@ -7,7 +7,7 @@ if [ -z $GITHUB_ACTIONS ]; then
 fi
 
 # TODO: Remove this custom logic, and add `branch = true` to the `[coverage.run]` when we drop support for Python 3.9.
-# See https://github.com/encode/starlette/issues/2452.
+# See https://github.com/Kludex/starlette/issues/2452.
 branch_option=$(uv run python -c 'import sys; print("--branch" if sys.version_info >= (3, 10) else "")')
 uv run coverage run $branch_option -m pytest $@
 
index 575b1a71f22bea0976f2fa22b62e041e934ec8ba..9db3b5a21c458af9cc24e8533ba31ee3c8ffda18 100644 (file)
@@ -444,7 +444,7 @@ class TestClient(httpx.Client):
         if timeout is not httpx.USE_CLIENT_DEFAULT:
             warnings.warn(
                 "You should not use the 'timeout' argument with the TestClient. "
-                "See https://github.com/encode/starlette/issues/1108 for more information.",
+                "See https://github.com/Kludex/starlette/issues/1108 for more information.",
                 DeprecationWarning,
             )
         url = self._merge_url(url)
index d00bd6ab5f01f8fe3df92b39fa0f946633600b5b..d4548e66b679f0e22528972a81928225ea28718b 100644 (file)
@@ -174,7 +174,7 @@ def test_app_middleware_argument(test_client_factory: TestClientFactory) -> None
 
 
 def test_fully_evaluated_response(test_client_factory: TestClientFactory) -> None:
-    # Test for https://github.com/encode/starlette/issues/1022
+    # Test for https://github.com/Kludex/starlette/issues/1022
     class CustomMiddleware(BaseHTTPMiddleware):
         async def dispatch(
             self,
@@ -253,7 +253,7 @@ def test_contextvars(
 
 @pytest.mark.anyio
 async def test_run_background_tasks_even_if_client_disconnects() -> None:
-    # test for https://github.com/encode/starlette/issues/1438
+    # test for https://github.com/Kludex/starlette/issues/1438
     response_complete = anyio.Event()
     background_task_run = anyio.Event()
 
@@ -299,7 +299,7 @@ async def test_run_background_tasks_even_if_client_disconnects() -> None:
 
 
 def test_run_background_tasks_raise_exceptions(test_client_factory: TestClientFactory) -> None:
-    # test for https://github.com/encode/starlette/issues/2625
+    # test for https://github.com/Kludex/starlette/issues/2625
 
     async def sleep_and_set() -> None:
         await anyio.sleep(0.1)
@@ -399,7 +399,7 @@ async def test_do_not_block_on_background_tasks() -> None:
 
 @pytest.mark.anyio
 async def test_run_context_manager_exit_even_if_client_disconnects() -> None:
-    # test for https://github.com/encode/starlette/issues/1678#issuecomment-1172916042
+    # test for https://github.com/Kludex/starlette/issues/1678#issuecomment-1172916042
     response_complete = anyio.Event()
     context_manager_exited = anyio.Event()
 
@@ -1005,7 +1005,7 @@ def test_downstream_middleware_modifies_receive(
 
 def test_pr_1519_comment_1236166180_example() -> None:
     """
-    https://github.com/encode/starlette/pull/1519#issuecomment-1236166180
+    https://github.com/Kludex/starlette/pull/1519#issuecomment-1236166180
     """
     bodies: list[bytes] = []
 
@@ -1049,8 +1049,8 @@ def test_pr_1519_comment_1236166180_example() -> None:
 async def test_multiple_middlewares_stacked_client_disconnected() -> None:
     """
     Tests for:
-    - https://github.com/encode/starlette/issues/2516
-    - https://github.com/encode/starlette/pull/2687
+    - https://github.com/Kludex/starlette/issues/2516
+    - https://github.com/Kludex/starlette/pull/2687
     """
     ordered_events: list[str] = []
     unordered_events: list[str] = []
index 0d987263e7f857da9f1e8803bf1bfcc800d82f45..45bab3e1d629a7a411ed442884a3c99768bae3f2 100644 (file)
@@ -198,7 +198,7 @@ def test_cors_disallowed_preflight(
     assert response.text == "Disallowed CORS origin, method, headers"
     assert "access-control-allow-origin" not in response.headers
 
-    # Bug specific test, https://github.com/encode/starlette/pull/1199
+    # Bug specific test, https://github.com/Kludex/starlette/pull/1199
     # Test preflight response text with multiple disallowed headers
     headers = {
         "Origin": "https://example.org",
index 041aab103e389d749a619e735f4c8b919b89bbde..ccd9e80cc3c5468ab336fe11061c2c5661bce3cf 100644 (file)
@@ -1041,7 +1041,7 @@ def test_exception_on_mounted_apps(
 def test_mounted_middleware_does_not_catch_exception(
     test_client_factory: Callable[..., TestClient],
 ) -> None:
-    # https://github.com/encode/starlette/pull/1649#discussion_r960236107
+    # https://github.com/Kludex/starlette/pull/1649#discussion_r960236107
     def exc(request: Request) -> Response:
         raise HTTPException(status_code=403, detail="auth")
 
index 4f4e07eaea4ca0be945bccc6a1ad932ea7fff34c..dfeb09ebde6fe95cbd4dbf61c221bae1cc1cf9d9 100644 (file)
@@ -45,7 +45,7 @@ def test_staticfiles_with_pathlib(tmp_path: Path, test_client_factory: TestClien
 
 def test_staticfiles_head_with_middleware(tmpdir: Path, test_client_factory: TestClientFactory) -> None:
     """
-    see https://github.com/encode/starlette/pull/935
+    see https://github.com/Kludex/starlette/pull/935
     """
     path = os.path.join(tmpdir, "example.txt")
     with open(path, "w") as file: