Upgrading fastapi 0.109 to 0.110
Breaking0.109.2 β 0.110.3Breaking1Changed10Fixed2Other217
BreakingUpgrade verdict
1 breaking change.
In plain terms
- If a dependency that uses yield catches an exception with except and does not re-raise it, it must now re-raise it, otherwise errors are swallowed and memory can leak.
Must act 1 item needs code or config changes
Moves starlette 0.36.3 β 0.37.2. Your build may pick other versions.
What you must change
Breaking1
Fixes unhandled growing memory for internal server errors by requiring dependencies with yield and except to raise again as in regular Python.
yieldexceptAPI changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- removed:
class Components.Config - removed:
class Contact.Config - removed:
class Encoding.Config - removed:
class ExternalDocumentation.Config - removed:
class Info.Config - removed:
class License.Config - removed:
class Link.Config - removed:
class MediaType.Config - removed:
class OAuthFlow.Config - removed:
class OAuthFlows.Config - removed:
class OpenAPI.Config - removed:
class Operation.Config - removed:
class ParameterBase.Config - removed:
class PathItem.Config - removed:
class RequestBody.Config - removed:
class Response.Config - removed:
class Schema.Config - removed:
class SecurityBase.Config - removed:
class Server.Config - removed:
class ServerVariable.Config - removed:
class Tag.Config - removed:
class XML.Config - removed:
field Components.Config.extra - removed:
field Components.model_config - removed:
field Contact.Config.extra - removed:
field Contact.model_config - removed:
field Encoding.Config.extra - removed:
field Encoding.model_config - removed:
field ExternalDocumentation.Config.extra - removed:
field ExternalDocumentation.model_config - removed:
field Info.Config.extra - removed:
field Info.model_config - removed:
field License.Config.extra - removed:
field License.model_config - removed:
field Link.Config.extra - removed:
field Link.model_config - removed:
field MediaType.Config.extra - removed:
field MediaType.model_config - removed:
field OAuthFlow.Config.extra - removed:
field OAuthFlow.model_config - removed:
field OAuthFlows.Config.extra - removed:
field OAuthFlows.model_config - removed:
field OpenAPI.Config.extra - removed:
field OpenAPI.model_config - removed:
field Operation.Config.extra - removed:
field Operation.model_config - removed:
field ParameterBase.Config.extra - removed:
field ParameterBase.model_config - removed:
field PathItem.Config.extra - removed:
field PathItem.model_config - removed:
field RequestBody.Config.extra - removed:
field RequestBody.model_config - removed:
field Response.Config.extra - removed:
field Response.model_config - removed:
field Schema.Config.extra - removed:
field Schema.model_config - removed:
field SecurityBase.Config.extra - removed:
field SecurityBase.model_config - removed:
field Server.Config.extra - removed:
field Server.model_config - removed:
field ServerVariable.Config.extra - removed:
field ServerVariable.model_config - removed:
field Tag.Config.extra - removed:
field Tag.model_config - removed:
field XML.Config.extra - removed:
field XML.model_config - changed:
class Components(BaseModel) β class Components(BaseModelWithConfig) - changed:
class Contact(BaseModel) β class Contact(BaseModelWithConfig) - changed:
class Encoding(BaseModel) β class Encoding(BaseModelWithConfig) - changed:
class ExternalDocumentation(BaseModel) β class ExternalDocumentation(BaseModelWithConfig) - changed:
class Info(BaseModel) β class Info(BaseModelWithConfig) - changed:
class License(BaseModel) β class License(BaseModelWithConfig) - changed:
class Link(BaseModel) β class Link(BaseModelWithConfig) - changed:
class MediaType(BaseModel) β class MediaType(BaseModelWithConfig) - changed:
class OAuthFlow(BaseModel) β class OAuthFlow(BaseModelWithConfig) - changed:
class OAuthFlows(BaseModel) β class OAuthFlows(BaseModelWithConfig) - changed:
class OpenAPI(BaseModel) β class OpenAPI(BaseModelWithConfig) - changed:
class Operation(BaseModel) β class Operation(BaseModelWithConfig) - changed:
class ParameterBase(BaseModel) β class ParameterBase(BaseModelWithConfig) - changed:
class PathItem(BaseModel) β class PathItem(BaseModelWithConfig) - changed:
class RequestBody(BaseModel) β class RequestBody(BaseModelWithConfig) - changed:
class Response(BaseModel) β class Response(BaseModelWithConfig) - changed:
class Schema(BaseModel) β class Schema(BaseModelWithConfig) - changed:
class SecurityBase(BaseModel) β class SecurityBase(BaseModelWithConfig) - changed:
class Server(BaseModel) β class Server(BaseModelWithConfig) - changed:
class ServerVariable(BaseModel) β class ServerVariable(BaseModelWithConfig) - changed:
class Tag(BaseModel) β class Tag(BaseModelWithConfig) - changed:
class XML(BaseModel) β class XML(BaseModelWithConfig) - added:
class BaseModelWithConfig(BaseModel) - added:
class BaseModelWithConfig.Config - added:
field BaseModelWithConfig.Config.extra - added:
field BaseModelWithConfig.model_config
- removed:
function match_pydantic_error_url(error_type: str) -> Any