Cerberus v1.3 Release Notes
Release Date: 2019-04-30 // almost 5 years ago-
๐ Releases on April 30, 2019.
๐ New
- Add ``require_all`` rule and validator argument (`#417`_) - The ``contains`` rule (`#358`_) - ๐ All fields that are defined as ``readonly`` are removed from a document when a validator has the ``purge_readonly`` flag set to ``True`` (`#240`_) - The ``validator`` rule is renamed to ``check_with``. The old name is deprecated and will not be available in the next major release of Cerberus (`#405`_) - The rules ``keyschema`` and ``valueschema`` are renamed to ``keysrules`` and ``valuesrules``; the old names are deprecated and will not be available in the next major release of Cerbers (`#385`_) - The ``meta`` pseudo-rule can be used to store arbitrary application data related to a field in a schema - ๐ Python 3.7 officially supported (`#451`_) - ๐ **Python 2.6 and 3.3 are no longer supported** ๐ Fixed
- 0๏ธโฃ Fix test test_{default,default_setter}none_nonnullable (
#435
) - Normalization rules defined within the
items
rule are applied (#361
_) - 0๏ธโฃ Defaults are applied to undefined fields from an
allow_unknown
definition (#310
_) - The
forbidden
value now handles any input type (#449
_) - The
allowed
rule will not be evaluated on fields that have a legitNone
value (#454
_) - If the cerberus distribution cannot not be found, the version is set to the
value
unknown
(#472
_)
๐ Improved
- ๐ Suppress DeprecationWarning about collections.abc (`#451`_) - โ Omit warning when no schema for ``meta`` rule constraint is available (`#425`_) - โ Add ``.eggs`` to .gitignore file (`#420`_) - ๐ Reformat code to match Black code-style (`#402`_) - ๐ Perform lint checks and fixes on staged files, as a pre-commit hook (`#402`_) - ๐ Change ``allowed`` rule to use containers instead of lists (`#384`_) - โ Remove ``Registry`` from top level namespace (`#354`_) - โ Remove ``utils.is_class`` - Check the ``empty`` rule against values of type ``Sized`` - Various micro optimizations and 'safety belts' that were inspired by adding type annotations to a branch of the code base ๐ Docs ~~~~ - ๐ Fix semantical versioning naming. There are only two hard things in Computer Science: cache invalidation and naming things -- *Phil Karlton* (`#429`_) - ๐ Improve documentation of the regex rule (`#389`_) - Expand upon `validator` rules (`#320`_) - ๐ Include all errors definitions in API docs (`#404`_) - ๐ Improve changelog format (`#406`_) - ๐ Update homepage URL in package metadata (`#382`_) - โ Add feature freeze note to CONTRIBUTING and note on Python support in README - โ Add the intent of a ``dataclasses`` module to ROADMAP.md - โก๏ธ Update README link; make it point to the new PyPI website - โก๏ธ Update README with elaborations on versioning and testing - ๐ Fix misspellings and missing pronouns - โ Remove redundant hint from ``*of-rules``. - โ Add usage recommendation regarding the ``*of-rules`` - โ Add a few clarifications to the GitHub issue template - โก๏ธ Update README link; make it point to the new PyPI website .. _`#472`: https://github.com/pyeve/cerberus/pull/472 .. _`#454`: https://github.com/pyeve/cerberus/issues/454 .. _`#451`: https://github.com/pyeve/cerberus/pull/451 .. _`#449`: https://github.com/pyeve/cerberus/pull/449 .. _`#435`: https://github.com/pyeve/cerberus/pull/435 .. _`#429`: https://github.com/pyeve/cerberus/pull/429 .. _`#425`: https://github.com/pyeve/cerberus/pull/425 .. _`#420`: https://github.com/pyeve/cerberus/issues/420 .. _`#417`: https://github.com/pyeve/cerberus/issues/417 .. _`#406`: https://github.com/pyeve/cerberus/issues/406 .. _`#405`: https://github.com/pyeve/cerberus/issues/405 .. _`#404`: https://github.com/pyeve/cerberus/issues/404 .. _`#402`: https://github.com/pyeve/cerberus/issues/402 .. _`#389`: https://github.com/pyeve/cerberus/issues/389 .. _`#385`: https://github.com/pyeve/cerberus/issues/385 .. _`#384`: https://github.com/pyeve/cerberus/issues/384 .. _`#382`: https://github.com/pyeve/cerberus/issues/382 .. _`#361`: https://github.com/pyeve/cerberus/pull/361 .. _`#358`: https://github.com/pyeve/cerberus/issues/358 .. _`#354`: https://github.com/pyeve/cerberus/issues/354 .. _`#320`: https://github.com/pyeve/cerberus/issues/320 .. _`#310`: https://github.com/pyeve/cerberus/issues/310 .. _`#240`: https://github.com/pyeve/cerberus/issues/240
- 0๏ธโฃ Fix test test_{default,default_setter}none_nonnullable (