Cerberus

Latest version: v1.3.5

Safety actively analyzes 681775 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

1.3.5

-------------

Released on August 9, 2023.

New
~~~

- Support for Python 3.10 & 3.11
- The HTML documentation uses the *furo* theme

Fixed
~~~~~

- ``*of`` rules are skipped for ``None`` values (`582`_)
- Validations of mappings would raise an exception when the field's rules were
provided as reference to a registry item (`599`_)

.. _`582`: https://github.com/pyeve/cerberus/issues/582
.. _`599`: https://github.com/pyeve/cerberus/issues/599

Improved
~~~~~~~~

- Various minor improvements of the documentation

1.3.4

-------------

Released on May 5, 2021.

Fixed
~~~~~

- Reverts the unsatisfying fix for `557`_,
- instead a ``RuntimeError`` is thrown when Python is running with optimization
level 2 (`567`_)

.. _`567`: https://github.com/pyeve/cerberus/issues/567

1.3.3

-------------

Released on April 11, 2021.

New
~~~

- Adds a benchmark to observe overall performance between code changes (`531`_)
- Adds support for Python 3.9
- The Continuous Integration now runs on GitHub Actions

Fixed
~~~~~

- Fixed unresolved registry references when getting a constraint for an error
(`562`_)
- Fixed crash when submitting non-hashable values to ``allowed`` (`524`_)
- Fixed schema validation for rules specifications with space (`527`_)
- Replaced deprecated rule name ``validator`` with ``check_with`` in the docs
(`527`_)
- Use the UnconcernedValidator when the Python interpreter is executed with
an optimization flag (`557`_)
- Several fixes and refinements of the docs

.. _`524`: https://github.com/pyeve/cerberus/issues/524
.. _`527`: https://github.com/pyeve/cerberus/issues/527
.. _`531`: https://github.com/pyeve/cerberus/issues/531
.. _`557`: https://github.com/pyeve/cerberus/issues/557
.. _`562`: https://github.com/pyeve/cerberus/issues/562

1.3.2

-------------

Released on October 29, 2019.

New
~~~

- Support for Python 3.8

Fixed
~~~~~

- Fixed the message of the ``BasicErrorHandler`` for an invalid amount of items
(`505`_)
- Added ``setuptools`` as dependency to the package metadata (`499`_)
- The ``CHANGES.rst`` document is properly included in the package (`493`_)

Improved
~~~~~~~~

- Docs: Examples were added for the ``min``- and ``maxlength`` rules. (`509`_)

.. _`509`: https://github.com/pyeve/cerberus/issues/509
.. _`505`: https://github.com/pyeve/cerberus/issues/505
.. _`499`: https://github.com/pyeve/cerberus/issues/499
.. _`493`: https://github.com/pyeve/cerberus/issues/493

1.3.1

-------------

Releases on May 10, 2019.

Fixed
~~~~~

- Fixed the expansion of the deprecated rule names ``keyschema`` and
``valueschema`` (`482`_)
- ``*of_``-typesavers properly expand rule names containing ``_`` (`484`_)

Improved
~~~~~~~~
- Add ``maintainer`` and ``maintainer_email`` to setup.py (`481`_)
- Add ``project_urls`` to setup.py (`480`_)
- Don't ignore all exceptions during coercions for nullable fields. If a
- Coercion raises an exception for a nullable field where the field is not
``None`` the validation now fails. (`490`_)

.. _`490`: https://github.com/pyeve/cerberus/issues/490
.. _`484`: https://github.com/pyeve/cerberus/issues/484
.. _`482`: https://github.com/pyeve/cerberus/issues/482
.. _`481`: https://github.com/pyeve/cerberus/issues/481
.. _`480`: https://github.com/pyeve/cerberus/issues/480

1.3

-----------

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
~~~~~
- Fix test test_{default,default_setter}_none_nonnullable (`435`_)
- Normalization rules defined within the ``items`` rule are applied (`361`_)
- 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 legit ``None``
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

Page 1 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.