β Add support for Python 3.9.
π Fix handling of insert_before on deferred nodes so that it inserts the
new node before the specified node instead of always appending to the end of
node.children after binding.
β¬οΈ Drop support for Python 3.4.
β Add support for Python 3.7 and 3.8.
π Fix deserializer on Date and DateTime fields to correctly catch
ValueError and TypeError exception, which can arise when using custom
formats on the field. Instead of allowing these exceptions to propagate,
replace then with an Invalid exception instead.
See https://github.com/Pylons/colander/pull/338
This does change the behaviour of the URL validator and it no longer supports
file:// URI scheme (https://tools.ietf.org/html/rfc8089). Users that
wish to validate file:// URI's should change their validator to use
colander.file_uri instead.
It has also dropped support for alternate schemes outside of http/ftp (and their secure equivelants). Please let us know if we need to relax this requirement.
CVE-ID: CVE-2017-18361
β‘οΈ The Email validator has been updated to use the same regular expression that is used by the WhatWG HTML specification, thereby increasing the email addresses that will validate correctly from web forms submitted. See https://github.com/Pylons/colander/pull/324 and https://github.com/Pylons/colander/issues/283
Number once again will allow you to serialize None to colander.null, this reverts an accidental revert. See https://github.com/Pylons/colander/issues/204#issuecomment-459556100
π Integer SchemaType now supports an optional strict mode that will
validate that the number is an integer, rather than silently accepting floats
and truncating. See https://github.com/Pylons/colander/pull/322 and
https://github.com/Pylons/colander/issues/292
π Support custom format strings on DateTime and Date fields.
See https://github.com/Pylons/colander/pull/318
π Support sub-second precision on Time fields if provided.
See https://github.com/Pylons/colander/pull/319
π
Format Python code of colander to conform to the PEP 8 style guide.
Add some linters (flake8, black and other) into tox.ini.
See https://github.com/Pylons/colander/pull/320
colander.drop and colander.required.
See https://github.com/Pylons/colander/pull/304 β¬οΈ Drop Python 3.3 support. Add PyPy3 and Python 3.7 as allowed failures. See https://github.com/Pylons/colander/pull/309
π Fix email validation to not allow all ASCII characters between + and /. This prevents email addresses like 'foo1,foo2@bar.baz' from being validated, which would be handled as multiple email addresses by subsequent tools. See https://github.com/Pylons/colander/pull/315
β Add support for enum.Enum objects.
See https://github.com/Pylons/colander/pull/305
β‘οΈ Recompiled language translations and updated de and el locales.
See https://github.com/Pylons/colander/pull/284 and
https://github.com/Pylons/colander/pull/314
colander.iso8601 backward-compatibility module, broken
by recent updates to the actual iso8601 package which backed it.
Downstream libraries can just mechanically adjust imports to use
iso8601.iso8601 instead of colander.iso8601.
See https://github.com/Pylons/colander/pull/296 β Add "zh_Hant", traditional chinese translations, and rename simplified chinese from "zh" to "zh_Hans". See https://github.com/Pylons/colander/pull/285
π Improve serialization of class objects using colander.GlobalObject.
See https://github.com/Pylons/colander/pull/288