================
- Drop support for Python 2.7, 3.4, 3.5, 3.6.
- Add support for Python 3.10, 3.11.
- **[breaking]** If a ``bytes`` object is serialized by a ``String`` schema
node with the ``encoding`` parameter specified, it will be passed through
directly to ``str`` first, causing it to come out with a ``b''`` prefix. In
order to serialize it properly, it should be decoded to a string first.
Previously, when the ``encoding`` parameter was specified it would be decoded
and re-encoded, effectively passing it through untouched, despite not being a
string type.
- Add a new ``colander.DataURL`` validator.
See https://github.com/Pylons/colander/pull/348
- Add IDN support to ``colander.url``.
See https://github.com/Pylons/colander/pull/352
- ``colander.All`` now supports ``colander.Invalid.msg`` being ``None`` or a
list, otherwise ``colander.Invalid.asdict`` crashes with
``TypeError: sequence item 1: expected str instance, NoneType found``.
See https://github.com/Pylons/colander/pull/333 and
https://github.com/Pylons/colander/issues/194
- Fixed an issue with ``colander.Mapping`` and ``colander.Sequence``
where a ``default`` value of ``drop`` caused missing values to be dropped
during deserialization. (Only ``missing`` values should affect
deserialization, and only ``default`` values should affect serialization.)
Added many new test cases for ``MappingSchema`` and ``SequenceSchema``.
See https://github.com/Pylons/colander/pull/264
- Remove the dependency on ``setuptools`` for resolving pkg_resources-style
importable paths in ``colander.GlobalObject``.
- Refresh localization files with Babel 2.11.