# Starlette changelog > The lightweight ASGI toolkit that FastAPI is built on. - Vendor: Encode - Category: Frameworks & Libraries - Official site: https://www.starlette.dev - Tracked by: What's New (https://whatsnew.fyi/product/starlette) - Harvested from: GitHub (encode/starlette) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## Releases ### 1.6.0 — Version 1.6.0 - Date: 2026-08-08 - Version: 1.6.0 - Original notes: https://github.com/Kludex/starlette/releases/tag/1.6.0 - Permalink: https://whatsnew.fyi/product/starlette/releases/1.6.0 - **added** — Add max_body_size parameter to Starlette and route classes - **added** — Expose http.response.debug info via response extensions ##### What's Changed * Add `max_body_size` to `Starlette` and route classes by @Kludex in https://github.com/Kludex/starlette/pull/3431 * Expose `http.response.debug` info via response extensions by @y2kbugger in https://github.com/Kludex/starlette/pull/3130 ##### New Contributors * @y2kbugger made their first contribution in https://github.com/Kludex/starlette/pull/3130 **Full Changelog**: https://github.com/Kludex/starlette/compare/1.5.1...1.6.0 ### 1.5.1 — Version 1.5.1 - Date: 2026-08-08 - Version: 1.5.1 - Original notes: https://github.com/Kludex/starlette/releases/tag/1.5.1 - Permalink: https://whatsnew.fyi/product/starlette/releases/1.5.1 - **fixed** — Reject inverted single-byte Range requests like bytes=5-4 - **changed** — Limit FileResponse to 100 ranges ##### What's Changed * Reject inverted single-byte Range like `bytes=5-4` by @nikolauspschuetz in https://github.com/encode/starlette/pull/3389 * Limit `FileResponse` to 100 ranges by @Kludex in https://github.com/encode/starlette/pull/3430 **Full Changelog**: https://github.com/encode/starlette/compare/1.5.0...1.5.1 ### 1.5.0 — Version 1.5.0 - Date: 2026-08-08 - Version: 1.5.0 - Original notes: https://github.com/Kludex/starlette/releases/tag/1.5.0 - Permalink: https://whatsnew.fyi/product/starlette/releases/1.5.0 - **added** — Add exclude_content_types parameter to GZipMiddleware - **changed** — Flush GZip output for each streamed chunk - **changed** — Skip compression of partial responses in GZipMiddleware - **changed** — Expand default excluded content types in GZipMiddleware This release is all about giving `GZipMiddleware` some love. 🗜️ ##### What's Changed * Add `exclude_content_types` parameter to `GZipMiddleware` by @Kludex in https://github.com/encode/starlette/pull/3418 * Flush GZip output for each streamed chunk by @Kludex in https://github.com/encode/starlette/pull/3419 * Skip compression of partial responses in `GZipMiddleware` by @Kludex in https://github.com/encode/starlette/pull/3420 * Expand default excluded content types in `GZipMiddleware` by @Kludex in https://github.com/encode/starlette/pull/3421 **Full Changelog**: https://github.com/encode/starlette/compare/1.4.1...1.5.0 ### 1.4.1 — Version 1.4.1 - Date: 2026-08-05 - Version: 1.4.1 - Original notes: https://github.com/Kludex/starlette/releases/tag/1.4.1 - Permalink: https://whatsnew.fyi/product/starlette/releases/1.4.1 - **changed** — Default thread_minimum_size in GZipResponder ##### What's Changed * Default `thread_minimum_size` in `GZipResponder` by @Kludex in https://github.com/Kludex/starlette/pull/3415 **Full Changelog**: https://github.com/Kludex/starlette/compare/1.4.0...1.4.1 ### 1.4.0 — Version 1.4.0 - Date: 2026-08-05 - Version: 1.4.0 - Original notes: https://github.com/Kludex/starlette/releases/tag/1.4.0 - Permalink: https://whatsnew.fyi/product/starlette/releases/1.4.0 - **changed** — GZipMiddleware now lazily allocates compression resources - **changed** — GZipMiddleware uses zlib.compressobj instead of GzipFile - **changed** — GZipMiddleware offloads large GZip compression ##### What's Changed * Lazily allocate GZipMiddleware compression resources by @Kludex in https://github.com/Kludex/starlette/pull/3407 * Use `zlib.compressobj` instead of `GzipFile` in `GZipMiddleware` by @Kludex in https://github.com/Kludex/starlette/pull/3411 * Offload large GZip compression by @Kludex in https://github.com/Kludex/starlette/pull/3410 ##### New Contributors * @benberryallwood made their first contribution in https://github.com/Kludex/starlette/pull/3334 * @lkk7 made their first contribution in https://github.com/Kludex/starlette/pull/3359 **Full Changelog**: https://github.com/Kludex/starlette/compare/1.3.1...1.4.0 ### 1.3.1 — Version 1.3.1 - Date: 2026-06-12 - Version: 1.3.1 - Original notes: https://github.com/Kludex/starlette/releases/tag/1.3.1 - Permalink: https://whatsnew.fyi/product/starlette/releases/1.3.1 - **changed** — Use StarletteDeprecationWarning instead of DeprecationWarning - **changed** — Enforce max_fields and max_part_size limits in FormParser - **fixed** — Enforce FormParser limits in parser callbacks ##### What's Changed * Use `StarletteDeprecationWarning` instead of `DeprecationWarning` by @Kludex in https://github.com/Kludex/starlette/pull/3119 * Enforce `max_fields` and `max_part_size` in `FormParser` by @Kludex in https://github.com/Kludex/starlette/pull/3329 * Enforce `FormParser` limits in parser callbacks by @Kludex in https://github.com/Kludex/starlette/pull/3331 **Full Changelog**: https://github.com/Kludex/starlette/compare/1.3.0...1.3.1 ### 1.3.0 — Version 1.3.0 - Date: 2026-06-11 - Version: 1.3.0 - Original notes: https://github.com/Kludex/starlette/releases/tag/1.3.0 - Permalink: https://whatsnew.fyi/product/starlette/releases/1.3.0 - **fixed** — Clamp oversized suffix ranges in FileResponse - **fixed** — Catch OSError alongside MultiPartException when closing temp files - **added** — Add httpx2 to the full extra - **changed** — Adjust testclient typing and warnings - **fixed** — Fix IndexError in URL.replace() on a URL with no authority - **changed** — Annotate URLPath protocol parameter with Literal - **fixed** — Avoid collapsing exception groups from user code - **changed** — Use removeprefix to strip weak ETag indicator in is_not_modified - **changed** — Build request.url from structured components ##### What's Changed * Clamp oversized suffix ranges in `FileResponse` by @jiyujie2006 in https://github.com/Kludex/starlette/pull/3307 * Catch `OSError` alongside `MultiPartException` when closing temp files by @N3XT3R1337 in https://github.com/Kludex/starlette/pull/3191 * Add `httpx2` to the `full` extra by @Kludex in https://github.com/Kludex/starlette/pull/3323 * Adjust testclient typing and warnings by @waketzheng in https://github.com/Kludex/starlette/pull/3322 * Fix IndexError in URL.replace() on a URL with no authority by @LeSingh1 in https://github.com/Kludex/starlette/pull/3317 * Annotate URLPath protocol parameter with Literal by @Chang-LeHung in https://github.com/Kludex/starlette/pull/3285 * avoid collapsing exception groups from user code by @graingert in https://github.com/Kludex/starlette/pull/2830 * Use `removeprefix` to strip weak ETag indicator in `is_not_modified` by @gnosyslambda in https://github.com/Kludex/starlette/pull/3193 * Build `request.url` from structured components by @Kludex in https://github.com/Kludex/starlette/pull/3326 ##### New Contributors * @jiyujie2006 made their first contribution in https://github.com/Kludex/starlette/pull/3307 * @N3XT3R1337 made their first contribution in https://github.com/Kludex/starlette/pull/3191 * @leestana01 made their first contribution in https://github.com/Kludex/starlette/pull/3319 * @LeSingh1 made their first contribution in https://github.com/Kludex/starlette/pull/3317 * @EmmanuelNiyonshuti made their first contribution in https://github.com/Kludex/starlette/pull/3204 * @Chang-LeHung made their first contribution in https://github.com/Kludex/starlette/pull/3285 * @gnosyslambda made their first contribution in https://github.com/Kludex/starlette/pull/3193 **Full Changelog**: https://github.com/Kludex/starlette/compare/1.2.1...1.3.0 ### 1.2.1 — Version 1.2.1 - Date: 2026-05-31 - Version: 1.2.1 - Original notes: https://github.com/Kludex/starlette/releases/tag/1.2.1 - Permalink: https://whatsnew.fyi/product/starlette/releases/1.2.1 - **changed** — Use httpx2 for type checking in the testclient module - **added** — Add assert error for requires() when request param is not Request type ##### What's Changed * Use `httpx2` for type checking in the `testclient` module by @leifwar in https://github.com/Kludex/starlette/pull/3304 * Add assert error for requires() when request param is not Request type by @KeeganOP in https://github.com/Kludex/starlette/pull/3298 ##### New Contributors * @leifwar made their first contribution in https://github.com/Kludex/starlette/pull/3304 * @diskeu made their first contribution in https://github.com/Kludex/starlette/pull/3243 * @KeeganOP made their first contribution in https://github.com/Kludex/starlette/pull/3298 **Full Changelog**: https://github.com/Kludex/starlette/compare/1.2.0...1.2.1 ### 1.2.0 — Version 1.2.0 - Date: 2026-05-28 - Version: 1.2.0 - Original notes: https://github.com/Kludex/starlette/releases/tag/1.2.0 - Permalink: https://whatsnew.fyi/product/starlette/releases/1.2.0 - **added** — Support httpx2 in the test client ##### What's Changed * Support httpx2 in the test client by @Kludex in https://github.com/Kludex/starlette/pull/3291 **Full Changelog**: https://github.com/Kludex/starlette/compare/1.1.0...1.2.0 ### 1.1.0 — Version 1.1.0 - Date: 2026-05-23 - Version: 1.1.0 - Original notes: https://github.com/Kludex/starlette/releases/tag/1.1.0 - Permalink: https://whatsnew.fyi/product/starlette/releases/1.1.0 - **changed** — Use "application/octet-stream" as the FileResponse media type fallback - **changed** — Only dispatch standard HTTP verbs in HTTPEndpoint - **fixed** — Reject absolute paths in StaticFiles.lookup_path ##### What's Changed * Use `"application/octet-stream"` as the `FileResponse` media type fallback by @ATOM00blue in https://github.com/Kludex/starlette/pull/3283 * Only dispatch standard HTTP verbs in `HTTPEndpoint` by @Kludex in https://github.com/Kludex/starlette/pull/3286 * Reject absolute paths in `StaticFiles.lookup_path` by @Kludex in https://github.com/Kludex/starlette/pull/3287 ##### New Contributors * @ATOM00blue made their first contribution in https://github.com/Kludex/starlette/pull/3283 **Full Changelog**: https://github.com/Kludex/starlette/compare/1.0.1...1.1.0