Upgrading fastapi 0.159 to 0.160
Breaking0.159.1 → 0.160.0Breaking1Other1
BreakingUpgrade verdict
1 breaking change.
In plain terms
- If a query, header, cookie, or form model sets extra to forbid, allow, or ignore, that setting now affects every submitted field in that location, not just the model's own fields.
Must act 1 item needs code or config changes
What you must change
Breaking1
Parameter models now apply their extra configuration to all fields in the same parameter location, including sibling fields from other models, parameters, or dependencies.
API changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- changed:
async function request_body_to_args(body_fields: list[ModelField], received_body: Any, embed_body_fields: bool, known_param_names: set[str] | None=…) -> tuple[dict[str, Any], list[dict[str, Any]]] → async function request_body_to_args(body_fields: list[ModelField], received_body: Any, embed_body_fields: bool) -> tuple[dict[str, Any], list[dict[str, Any]]] - changed:
async function solve_dependencies(*, request: Request | WebSocket, dependant: Dependant, body: Any=…, background_tasks: StarletteBackgroundTasks | None=…, response: Response | None=…, dependency_overrides_provider: Any | None=…, dependency_cache: dict[DependencyCacheKey, Any] | None=…, async_exit_stack: AsyncExitStack, embed_body_fields: bool, _uses_scopes_cache: _UsesScopesCache | None=…, _reque… → async function solve_dependencies(*, request: Request | WebSocket, dependant: Dependant, body: Any=…, background_tasks: StarletteBackgroundTasks | None=…, response: Response | None=…, dependency_overrides_provider: Any | None=…, dependency_cache: dict[DependencyCacheKey, Any] | None=…, async_exit_stack: AsyncExitStack, embed_body_fields: bool, _uses_scopes_cache: _UsesScopesCache | None=…) -> Sol… - changed:
function request_params_to_args(fields: Sequence[ModelField], received_params: Mapping[str, Any] | QueryParams | Headers, *, known_param_names: set[str] | None=…) -> tuple[dict[str, Any], list[Any]] → function request_params_to_args(fields: Sequence[ModelField], received_params: Mapping[str, Any] | QueryParams | Headers) -> tuple[dict[str, Any], list[Any]]