2018-06-01 20:56:23 +03:00
# Changelog
2018-08-06 13:45:33 +03:00
## [0.11.0]
**Changes**:
- [#293 ](https://github.com/alecthomas/voluptuous/pull/293 ): Support Python 3.6.
- [#294 ](https://github.com/alecthomas/voluptuous/pull/294 ): Drop support for Python 2.6, 3.1 and 3.2.
- [#318 ](https://github.com/alecthomas/voluptuous/pull/318 ): Allow to use nested schema and allow any validator to be compiled.
- [#324 ](https://github.com/alecthomas/voluptuous/pull/324 ):
Default values MUST now pass validation just as any regular value. This is a backward incompatible change if a schema uses default values that don't pass validation against the specified schema.
- [#328 ](https://github.com/alecthomas/voluptuous/pull/328 ):
Modify `__lt__` in Marker class to allow comparison with non Marker objects, such as str and int.
**New**:
- [#307 ](https://github.com/alecthomas/voluptuous/pull/307 ): Add description field to `Marker` instances.
- [#311 ](https://github.com/alecthomas/voluptuous/pull/311 ): Add `Schema.infer` method for basic schema inference.
- [#314 ](https://github.com/alecthomas/voluptuous/pull/314 ): Add `SomeOf` validator.
**Fixes**:
- [#279 ](https://github.com/alecthomas/voluptuous/pull/279 ):
Treat Python 2 old-style classes like types when validating.
- [#280 ](https://github.com/alecthomas/voluptuous/pull/280 ): Make
`IsDir()` , `IsFile()` and `PathExists()` consistent between different Python versions.
- [#290 ](https://github.com/alecthomas/voluptuous/pull/290 ): Use absolute imports to avoid import conflicts.
- [#291 ](https://github.com/alecthomas/voluptuous/pull/291 ): Fix `Coerce` validator to catch `decimal.InvalidOperation` .
- [#298 ](https://github.com/alecthomas/voluptuous/pull/298 ): Make `Schema([])` usage consistent with `Schema({})` .
- [#303 ](https://github.com/alecthomas/voluptuous/pull/303 ): Allow partial validation when using validate decorator.
- [#316 ](https://github.com/alecthomas/voluptuous/pull/316 ): Make `Schema.__eq__` deterministic.
- [#319 ](https://github.com/alecthomas/voluptuous/pull/319 ): Replace implementation of `Maybe(s)` with `Any(None, s)` to allow it to be compiled.
2018-06-01 20:56:23 +03:00
## [0.10.5]
- [#278 ](https://github.com/alecthomas/voluptuous/pull/278 ): Unicode
translation to python 2 issue fixed.
## [0.10.2]
**Changes**:
- [#195 ](https://github.com/alecthomas/voluptuous/pull/195 ):
`Range` raises `RangeInvalid` when testing `math.nan` .
- [#215 ](https://github.com/alecthomas/voluptuous/pull/215 ):
`{}` and `[]` now always evaluate as is, instead of as any dict or any list.
To specify a free-form list, use `list` instead of `[]` . To specify a
free-form dict, use `dict` instead of `Schema({}, extra=ALLOW_EXTRA)` .
- [#224 ](https://github.com/alecthomas/voluptuous/pull/224 ):
Change the encoding of keys in error messages from Unicode to UTF-8.
**New**:
- [#185 ](https://github.com/alecthomas/voluptuous/pull/185 ):
Add argument validation decorator.
- [#199 ](https://github.com/alecthomas/voluptuous/pull/199 ):
Add `Unordered` .
- [#200 ](https://github.com/alecthomas/voluptuous/pull/200 ):
Add `Equal` .
- [#207 ](https://github.com/alecthomas/voluptuous/pull/207 ):
Add `Number` .
- [#210 ](https://github.com/alecthomas/voluptuous/pull/210 ):
Add `Schema` equality check.
- [#212 ](https://github.com/alecthomas/voluptuous/pull/212 ):
Add `coveralls` .
- [#227 ](https://github.com/alecthomas/voluptuous/pull/227 ):
Improve `Marker` management in `Schema` .
- [#232 ](https://github.com/alecthomas/voluptuous/pull/232 ):
Add `Maybe` .
- [#234 ](https://github.com/alecthomas/voluptuous/pull/234 ):
Add `Date` .
- [#236 ](https://github.com/alecthomas/voluptuous/pull/236 ), [#237 ](https://github.com/alecthomas/voluptuous/pull/237 ), and [#238 ](https://github.com/alecthomas/voluptuous/pull/238 ):
Add script for updating `gh-pages` .
- [#256 ](https://github.com/alecthomas/voluptuous/pull/256 ):
Add support for `OrderedDict` validation.
- [#258 ](https://github.com/alecthomas/voluptuous/pull/258 ):
Add `Contains` .
**Fixes**:
- [#197 ](https://github.com/alecthomas/voluptuous/pull/197 ):
`ExactSequence` checks sequences are the same length.
- [#201 ](https://github.com/alecthomas/voluptuous/pull/201 ):
Empty lists are evaluated as is.
- [#205 ](https://github.com/alecthomas/voluptuous/pull/205 ):
Filepath validators correctly handle `None` .
- [#206 ](https://github.com/alecthomas/voluptuous/pull/206 ):
Handle non-subscriptable types in `humanize_error` .
- [#231 ](https://github.com/alecthomas/voluptuous/pull/231 ):
Validate `namedtuple` as a `tuple` .
- [#235 ](https://github.com/alecthomas/voluptuous/pull/235 ):
Update docstring.
- [#249 ](https://github.com/alecthomas/voluptuous/pull/249 ):
Update documentation.
- [#262 ](https://github.com/alecthomas/voluptuous/pull/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 ](https://github.com/alecthomas/voluptuous/pull/266 ):
Remove setuptools as a dependency.
## 0.9.3 (2016-08-03)
Changelog not kept for 0.9.3 and earlier releases.