Upgrading pydantic 0.12 to 0.13
Breaking0.12.1 → 0.13.1Breaking1New3Changed1Fixed1
BreakingUpgrade verdict
1 breaking change.
In plain terms
- Models can no longer use field names that clash with built-in model attributes; doing so now raises an error.
Must act 1 item needs code or config changes
What you must change
Breaking1
Raises an exception if a field's name shadows an existing BaseModel attribute.
BaseModelAPI changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- added:
class UrlRegexError(PydanticValueError) - added:
class UrlSchemeError(PydanticValueError) - added:
constructor UrlSchemeError(*, scheme: str) -> None - added:
field UrlRegexError.code - added:
field UrlRegexError.msg_template - added:
field UrlSchemeError.code - added:
field UrlSchemeError.msg_template
- added:
function custom_pydantic_encoder(type_encoders, obj) - added:
function timedelta_isoformat(td: datetime.timedelta) -> str
- changed:
method BaseModel.copy(*, include: Set[str]=…, exclude: Set[str]=…, update: Dict[str, Any]=…) → method BaseModel.copy(*, include: Set[str]=…, exclude: Set[str]=…, update: Dict[str, Any]=…, deep: bool=…) - changed:
method BaseModel.json(*, include: Set[str]=…, exclude: Set[str]=…, by_alias: bool=…, **dumps_kwargs) -> str → method BaseModel.json(*, include: Set[str]=…, exclude: Set[str]=…, by_alias: bool=…, encoder=…, **dumps_kwargs) -> str - added:
field BaseConfig.json_encoders
- added:
class UrlStr(str) - added:
field UrlStr.max_length - added:
field UrlStr.min_length - added:
field UrlStr.relative - added:
field UrlStr.require_tld - added:
field UrlStr.schemes: Optional[Set[str]] - added:
field UrlStr.strip_whitespace - added:
function urlstr(*, strip_whitespace=…, min_length=…, max_length=…, relative=…, require_tld=…, schemes: Optional[Set[str]]=…) -> Type[str] - added:
static method UrlStr.get_validators() - added:
static method UrlStr.validate(value: str) -> str
- added:
function url_regex_generator(*, relative: bool, require_tld: bool) -> Pattern - added:
function validate_field_name(bases: List[Type[BaseModel]], field_name: str) -> None