Skip to content

Update dependency fastapi to ~=0.161.1 - #115

Open
renovate[bot] wants to merge 1 commit into
devfrom
renovate/fastapi-0.x
Open

renovate[bot] wants to merge 1 commit into
devfrom
renovate/fastapi-0.x

Conversation

@renovate

@renovate renovate Bot commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
fastapi (changelog) ~=0.143.1 → ~=0.161.1 age confidence

Release Notes

fastapi/fastapi (fastapi)

v0.161.1

Compare Source

Fixes

v0.161.0

Compare Source

Features

v0.160.0

Compare Source

Query, header, cookie, and form parameter models now apply their extra configuration to all submitted fields in the same parameter location, consistent with Pydantic behavior. This includes fields declared in other models, individual parameters, or dependencies, which were previously excluded.

With extra="forbid", fields outside the model are rejected even if another parameter declares them. With extra="allow", those fields are included as model extras. With the default extra="ignore", they are ignored.

Breaking Changes
Internal

v0.159.1

Compare Source

Features

v0.159.0

Compare Source

Features

v0.158.2

Compare Source

Features

v0.158.1

Compare Source

Fixes

v0.158.0

Compare Source

Features

v0.157.0

Compare Source

Features
  • ✨ Add support for combining query, header, and cookie parameter models. PR #​16573 by @​tiangolo.
Docs
Internal

v0.156.8

Compare Source

Fixes

v0.156.7

Compare Source

Fixes

v0.156.6

Compare Source

Fixes
  • 🐛 Respect model alias settings for query, header, and cookie parameters. PR #​16562 by @​tiangolo.

v0.156.5

Compare Source

Fixes

v0.156.4

Compare Source

Fixes

v0.156.3

Compare Source

Fixes

v0.156.2

Compare Source

Fixes

v0.156.1

Compare Source

Fixes

v0.156.0

Compare Source

Fixes

v0.155.0

Compare Source

The deprecated **extra keyword arguments have been removed from Path, Query, Header, Cookie, Body, Form, and File. Unknown keyword arguments now raise TypeError. For additional JSON Schema properties, replace, for example, Query(custom="value") with Query(json_schema_extra={"custom": "value"}).

Breaking Changes

v0.154.0

Compare Source

Features

v0.153.0

Compare Source

Unions of form models now apply the same browser form handling as individual models. Empty scalar fields use defaults or produce missing-field errors, empty list items are preserved, omitted boolean fields become False, and unselected files are treated as missing. JSON request bodies are unchanged.

Fixes

v0.152.0

Compare Source

Validation errors for header parameter models now report the HTTP header name, such as int-val, instead of the Python field name, int_val. Explicit aliases, Header(convert_underscores=False), and Pydantic models with loc_by_alias=False keep their existing behavior.

Fixes

v0.151.0

Compare Source

JSON request bodies now distinguish an explicit null from an omitted value. For individual Body parameters, null is validated as None: nullable types accept it, and non-nullable types reject it even when a default is defined. Defaults and default factories apply only when the value is omitted. This applies both to parameters inside JSON objects and to parameters representing the entire body. Clients that used null to request a default should omit the value instead.

When a JSON object is expected because of Body(embed=True) or multiple body parameters, sending null as the entire body now returns a validation error.

Breaking Changes

v0.150.0

Compare Source

When no file is selected, browsers submit a file part with an empty filename and empty content. FastAPI now treats this as missing: required file fields return a validation error, and fields with defaults or default factories use them. Unselected inputs are ignored in lists of files. Named zero-byte files are still accepted.

Breaking Changes

v0.149.0

Compare Source

Browsers submit empty text inputs as empty strings (""). FastAPI now treats empty scalar form values as missing in form models, matching individual Form parameters. Required fields return a validation error. Fields with defaults or default factories use them and remain unset in model_dump(exclude_unset=True).

Empty strings inside lists are preserved. Omitted boolean form fields still become False. JSON requests and direct Pydantic validation are unchanged.

Breaking Changes

v0.148.0

Compare Source

Defaults for omitted Query, Header, Cookie, and Form parameters and model fields are no longer treated as user input. Defaults are not validated unless validate_default=True is enabled. If you rely on validators running for omitted values, enable default validation with Field(validate_default=True) for model fields or, for example, Query(validate_default=True) for individual parameters. Body(validate_default=True) is now honored too.

For parameter models, applying a default no longer marks a field as explicitly set, so model_dump(exclude_unset=True) excludes it. Default factories run once, and validation errors no longer include injected defaults in input.

Omitted boolean form fields still become False and count as explicitly set.

Breaking Changes

v0.147.0

Compare Source

Omitted bool and bool | None form fields are now interpreted as False, matching unchecked HTML checkboxes. This applies to individual Form parameters and form models, including required fields and fields with defaults of True or None. The inferred value is considered explicitly set, including in model_dump(exclude_unset=True).

JSON requests and direct Pydantic validation are unchanged. See Boolean Form Fields.

Breaking Changes
Internal

v0.146.0

Compare Source

The root_path parameter in FastAPI() is deprecated. Configure the server with fastapi run --root-path /api/v1 instead.

Breaking Changes

v0.145.0

Compare Source

Breaking Changes
Docs

v0.144.0

Compare Source

Features

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • "before 6:00am on friday"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the renovate label Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants