- #280: Making
IsDir()
,IsFile()
andPathExists()
consistent between different python versions. - #279: Treat Python 2 old-style classes like types when validating.
- 324: Default values MUST now pass validation just as any regular value.
- #278: Unicode translation to python 2 issue fixed.
Changes:
- #195:
Range
raisesRangeInvalid
when testingmath.nan
. - #215:
{}
and[]
now always evaluate as is, instead of as any dict or any list. To specify a free-form list, uselist
instead of[]
. To specify a free-form dict, usedict
instead ofSchema({}, extra=ALLOW_EXTRA)
. - #224: Change the encoding of keys in error messages from Unicode to UTF-8.
New:
- #185: Add argument validation decorator.
- #199:
Add
Unordered
. - #200:
Add
Equal
. - #207:
Add
Number
. - #210:
Add
Schema
equality check. - #212:
Add
coveralls
. - #227:
Improve
Marker
management inSchema
. - #232:
Add
Maybe
. - #234:
Add
Date
. - #236, #237, and #238:
Add script for updating
gh-pages
. - #256:
Add support for
OrderedDict
validation. - #258:
Add
Contains
.
Fixes:
- #197:
ExactSequence
checks sequences are the same length. - #201: Empty lists are evaluated as is.
- #205:
Filepath validators correctly handle
None
. - #206:
Handle non-subscriptable types in
humanize_error
. - #231:
Validate
namedtuple
as atuple
. - #235: Update docstring.
- #249: Update documentation.
- #262: Fix a performance issue of exponential complexity where all of the dict keys were matched against all keys in the schema. This resulted in O(n*m) complexity where n is the number of keys in the dict being validated and m is the number of keys in the schema. The fix ensures that each key in the dict is matched against the relevant schema keys only. It now works in O(n).
- #266: Remove setuptools as a dependency.
Changelog not kept for 0.9.3 and earlier releases.