Upgrading fastapi 0.118 to 0.119
Review needed0.118.3 → 0.119.1Deprecated1New1Fixed1Other3
Review neededUpgrade verdict
1 deprecation.
In plain terms
- Support for the old Pydantic v1 is now deprecated and will be removed later, so apps should plan to move to Pydantic v2.
Must act 1 item needs code or config changes
fastapi publishes an official migration guide for version 0.119. It covers more than the release notes do.
Migrate from Pydantic v1 to Pydantic v2 ↗Nothing in this upgrade needs a code or configuration change.
Deprecations to plan for
Deprecated1
Deprecates Pydantic v1 support, which will be removed from FastAPI in a future version.
API changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- changed:
constructor FastAPI(*, debug: Annotated[bool, Doc('\n Boolean indicating if debug tracebacks should be returned on server\n errors.\n\n Read more in the\n [Starlette docs for Applications](https://www.starlette.io/applications/#instantiating-the-application).\n ')]=…, routes: Annotated[Optional[List[BaseRoute]], Doc("\n… → constructor FastAPI(*, debug: Annotated[bool, Doc('\n Boolean indicating if debug tracebacks should be returned on server\n errors.\n\n Read more in the\n [Starlette docs for Applications](https://www.starlette.dev/applications/#instantiating-the-application).\n ')]=…, routes: Annotated[Optional[List[BaseRoute]], Doc("\n…
- changed:
function get_openapi_operation_request_body(*, body_field: Optional[ModelField], schema_generator: GenerateJsonSchema, model_name_map: ModelNameMap, field_mapping: Dict[Tuple[ModelField, Literal['validation', 'serialization']], JsonSchemaValue], separate_input_output_schemas: bool=…) -> Optional[Dict[str, Any]] → function get_openapi_operation_request_body(*, body_field: Optional[ModelField], model_name_map: ModelNameMap, field_mapping: Dict[Tuple[ModelField, Literal['validation', 'serialization']], JsonSchemaValue], separate_input_output_schemas: bool=…) -> Optional[Dict[str, Any]] - changed:
function get_openapi_path(*, route: routing.APIRoute, operation_ids: Set[str], schema_generator: GenerateJsonSchema, model_name_map: ModelNameMap, field_mapping: Dict[Tuple[ModelField, Literal['validation', 'serialization']], JsonSchemaValue], separate_input_output_schemas: bool=…) -> Tuple[Dict[str, Any], Dict[str, Any], Dict[str, Any]] → function get_openapi_path(*, route: routing.APIRoute, operation_ids: Set[str], model_name_map: ModelNameMap, field_mapping: Dict[Tuple[ModelField, Literal['validation', 'serialization']], JsonSchemaValue], separate_input_output_schemas: bool=…) -> Tuple[Dict[str, Any], Dict[str, Any], Dict[str, Any]]
- added:
class Body(FieldInfo) - added:
class Cookie(Param) - added:
class File(Form) - added:
class Form(Body) - added:
class Header(Param) - added:
class Param(FieldInfo) - added:
class Path(Param) - added:
class Query(Param) - added:
constructor Body(default: Any=…, *, default_factory: Union[Callable[[], Any], None]=…, annotation: Optional[Any]=…, embed: Union[bool, None]=…, media_type: str=…, alias: Optional[str]=…, alias_priority: Union[int, None]=…, validation_alias: Union[str, None]=…, serialization_alias: Union[str, None]=…, title: Optional[str]=…, description: Optional[str]=…, gt: Optional[float]=…, ge: Optional[float]=… - added:
constructor Cookie(default: Any=…, *, default_factory: Union[Callable[[], Any], None]=…, annotation: Optional[Any]=…, alias: Optional[str]=…, alias_priority: Union[int, None]=…, validation_alias: Union[str, None]=…, serialization_alias: Union[str, None]=…, title: Optional[str]=…, description: Optional[str]=…, gt: Optional[float]=…, ge: Optional[float]=…, lt: Optional[float]=…, le: Optional[float]… - added:
constructor File(default: Any=…, *, default_factory: Union[Callable[[], Any], None]=…, annotation: Optional[Any]=…, media_type: str=…, alias: Optional[str]=…, alias_priority: Union[int, None]=…, validation_alias: Union[str, None]=…, serialization_alias: Union[str, None]=…, title: Optional[str]=…, description: Optional[str]=…, gt: Optional[float]=…, ge: Optional[float]=…, lt: Optional[float]=…, le… - added:
constructor Form(default: Any=…, *, default_factory: Union[Callable[[], Any], None]=…, annotation: Optional[Any]=…, media_type: str=…, alias: Optional[str]=…, alias_priority: Union[int, None]=…, validation_alias: Union[str, None]=…, serialization_alias: Union[str, None]=…, title: Optional[str]=…, description: Optional[str]=…, gt: Optional[float]=…, ge: Optional[float]=…, lt: Optional[float]=…, le… - added:
constructor Header(default: Any=…, *, default_factory: Union[Callable[[], Any], None]=…, annotation: Optional[Any]=…, alias: Optional[str]=…, alias_priority: Union[int, None]=…, validation_alias: Union[str, None]=…, serialization_alias: Union[str, None]=…, convert_underscores: bool=…, title: Optional[str]=…, description: Optional[str]=…, gt: Optional[float]=…, ge: Optional[float]=…, lt: Optional[… - added:
constructor Param(default: Any=…, *, default_factory: Union[Callable[[], Any], None]=…, annotation: Optional[Any]=…, alias: Optional[str]=…, alias_priority: Union[int, None]=…, validation_alias: Union[str, None]=…, serialization_alias: Union[str, None]=…, title: Optional[str]=…, description: Optional[str]=…, gt: Optional[float]=…, ge: Optional[float]=…, lt: Optional[float]=…, le: Optional[float]=… - added:
constructor Path(default: Any=…, *, default_factory: Union[Callable[[], Any], None]=…, annotation: Optional[Any]=…, alias: Optional[str]=…, alias_priority: Union[int, None]=…, validation_alias: Union[str, None]=…, serialization_alias: Union[str, None]=…, title: Optional[str]=…, description: Optional[str]=…, gt: Optional[float]=…, ge: Optional[float]=…, lt: Optional[float]=…, le: Optional[float]=…… - added:
constructor Query(default: Any=…, *, default_factory: Union[Callable[[], Any], None]=…, annotation: Optional[Any]=…, alias: Optional[str]=…, alias_priority: Union[int, None]=…, validation_alias: Union[str, None]=…, serialization_alias: Union[str, None]=…, title: Optional[str]=…, description: Optional[str]=…, gt: Optional[float]=…, ge: Optional[float]=…, lt: Optional[float]=…, le: Optional[float]=… - added:
field Cookie.in_ - added:
field Header.in_ - added:
field Param.in_: ParamTypes - added:
field Path.in_ - added:
field Query.in_
- changed:
function create_model_field(name: str, type_: Any, class_validators: Optional[Dict[str, Validator]]=…, default: Optional[Any]=…, required: Union[bool, UndefinedType]=…, model_config: Type[BaseConfig]=…, field_info: Optional[FieldInfo]=…, alias: Optional[str]=…, mode: Literal['validation', 'serialization']=…) -> ModelField → function create_model_field(name: str, type_: Any, class_validators: Optional[Dict[str, Validator]]=…, default: Optional[Any]=…, required: Union[bool, UndefinedType]=…, model_config: Union[Type[BaseConfig], None]=…, field_info: Optional[FieldInfo]=…, alias: Optional[str]=…, mode: Literal['validation', 'serialization']=…, version: Literal['1', 'auto']=…) -> ModelField