- support Python 3.7 #216, thanks @layday
- Allow arbitrary types in model #209, thanks @oldPadavan
- make
list,tupleandsettypes stricter #86 - breaking change: remove msgpack parsing #201
- add
FilePathandDirectoryPathtypes #10 - model schema generation #190
- JSON serialisation of models and schemas #133
- add
Config.allow_population_by_alias#160, thanks @bendemaree - breaking change: new errors format #179, thanks @Gr1N
- breaking change: removed
Config.min_number_sizeandConfig.max_number_size#183, thanks @Gr1N - breaking change: correct behaviour of
ltandgtarguments toconintetc. #188 for the old behaviour useleandge#194, thanks @jaheba - added error context and ability to redefine error message templates using
Config.error_msg_templates#183, thanks @Gr1N - fix typo in validator exception #150
- copy defaults to model values, so different models don't share objects #154
- allow custom
get_field_configon config classes #159 - add
UUID1,UUID3,UUID4andUUID5types #167, thanks @Gr1N - modify some inconsistent docstrings and annotations #173, thanks @YannLuo
- fix type annotations for exotic types #171, thanks @Gr1N
- re-use type validators in exotic types #171
- scheduled monthly requirements updates #168
- add
Decimal,ConstrainedDecimalandcondecimaltypes #170, thanks @Gr1N
- tweak email-validator import error message #145
- fix parse error of
parse_date()andparse_datetime()when input is 0 #144, thanks @YannLuo - add
Config.anystr_strip_whitespaceandstrip_whitespacekwarg toconstr, by default values isFalse#163, thanks @Gr1N - add
ConstrainedFloat,confloat,PositiveFloatandNegativeFloattypes #166, thanks @Gr1N
- fix type annotation for
inherit_config#139 - breaking change: check for invalid field names in validators #140
- validate attributes of parent models #141
- breaking change: email validation now uses email-validator #142
- fix bug with
create_modelmodifying the base class
- added compatibility with abstract base classes (ABCs) #123
- add
create_modelmethod #113 #125 - breaking change: rename
.configto.__config__on a model - breaking change: remove deprecated
.values()on a model, use.dict()instead - remove use of
OrderedDictand use simple dict #126 - add
Config.use_enum_values#127 - add wildcard validators of the form
@validate('*')#128
- allow python date and times objects #122
- fix direct install without
README.rstpresent
- errors for invalid validator use
- safer check for complex models in
Settings
- prevent duplicate validators, #101
- add
alwayskwarg to validators, #102
- assignment validation #94, thanks petroswork!
- JSON in environment variables for complex types, #96
- add
validatordecorators for complex validation, #97 - depreciate
values(...)and replace with.dict(...), #99
- add
UUIDvalidation #89 - remove
indexandtrackfrom error object (json) if they're null #90 - improve the error text when a list is provided rather than a dict #90
- add benchmarks table to docs #91
- show length in string validation error
- fix aliases in config during inheritance #55
- simplify error display
- use unicode ellipsis in
truncate - add
parse_obj,parse_rawandparse_filehelper functions #58 - switch annotation only fields to come first in fields list not last
- immutable models via
config.allow_mutation = False, associated cleanup and performance improvement #44 - immutable helper methods
construct()andcopy()#53 - allow pickling of models #53
setattris removed as__setattr__is now intelligent #44raise_exceptionremoved, Models now always raise exceptions #44- instance method validators removed
- django-restful-framework benchmarks added #47
- fix inheritance bug #49
- make str type stricter so list, dict etc are not coerced to strings. #52
- add
StrictStrwhich only always strings as input #52
- pypi and travis together messed up the deploy of
v0.2this should fix it
- breaking change:
values()on a model is now a method not a property, takesincludeandexcludearguments - allow annotation only fields to support mypy
- add pretty
to_string(pretty=True)method for models
- add docs
- add history