See Changelog.
- Breaking Change: deprecate the
Model.fields
property, useModel.__fields__
instead, #883 by @samuelcolvin - Breaking Change: Change the precedence of aliases so child model aliases override parent aliases,
including usingalias_generator
, #904 by @samuelcolvin - Breaking change: Rename
skip_defaults
toexclude_unset
, and add ability to exclude actual defaults, #915 by @dmontagu - Add
**kwargs
topydantic.main.ModelMetaclass.__new__
so__init_subclass__
can take custom parameters on extended
BaseModel
classes, #867 by @retnikt - Fix field of a type that has a default value, #880 by @koxudaxi
- Use
FutureWarning
instead ofDeprecationWarning
whenalias
instead ofenv
is used for settings models, #881 by @samuelcolvin - Fix issue with
BaseSettings
inheritance andalias
getting set toNone
, #882 by @samuelcolvin - Modify
__repr__
and__str__
methods to be consistent across all public classes, add__pretty__
to support
python-devtools, #884 by @samuelcolvin - deprecation warning for
case_insensitive
onBaseSettings
config, #885 by @samuelcolvin - For
BaseSettings
merge environment variables and in-code values recursively, as long as they create a valid object
when merged together, to allow splitting init arguments, #888 by @idmitrievsky - change secret types example, #890 by @ashears
- Change the signature of
Model.construct()
to be more user-friendly, documentconstruct()
usage, #898 by @samuelcolvin - Add example for the
construct()
method, #907 by @ashears - Improve use of
Field
constraints on complex types, raise an error if constraints are not enforceable,
also support tuples with an ellipsisTuple[X, ...]
,Sequence
andFrozenSet
in schema, #909 by @samuelcolvin - update docs for bool missing valid value, #911 by @trim21
- Better
str
/repr
logic forModelField
, #912 by @samuelcolvin - Fix
ConstrainedList
, update schema generation to reflectmin_items
andmax_items
Field()
arguments, #917 by @samuelcolvin - Allow abstracts sets (eg. dict keys) in the
include
andexclude
arguments ofdict()
, #921 by @samuelcolvin - Fix JSON serialization errors on
ValidationError.json()
by usingpydantic_encoder
, #922 by @samuelcolvin - Clarify usage of
remove_untouched
, improve error message for types with no validators, #926 by @retnikt