----------------
- Add ``node.schema.DateTime``, ``node.schema.DateTimeSerializer`` and
``node.schema.datetime_serializer``.
[rnix]
- Subclass ``threading.local`` for
``node.behaviors.lifecycle._lifecycle_context``,
``node.behaviors.events._attribute_subscribers`` and
``node.behaviors.schema._schema_property`` objects in order to safely provide
default values.
[rnix]
- Introduce ``node.interfaces.IChildFilter``, ``node.behaviors.MappingFilter``
and ``node.behaviors.SequenceFilter``.
[rnix]
- Introduce ``node.interfaces.IWildcardFactory`` and
``node.behaviors.WildcardFactory``.
[rnix]
- Introduce ``node.interfaces.INodeInit`` and ``node.behaviors.NodeInit``.
[rnix]
- Deprecate ``IFixedChildren.fixed_children_factories`` Use
``IFixedChildren.factories`` instead.
[rnix]
- Introduce ``node.interfaces.IContentishNode`` and
``node.behaviors.ContentishNode``. Use as base for mapping and sequence nodes.
[rnix]
- ``insertbefore``, ``insertafter`` and ``swap`` in ``node.behaviors.Order``
alternatively accept node names as arguments where possible.
[rnix]
- ``insertbefore``, ``insertafter``, and ``insertfirst`` and ``insertlast`` in
``node.behaviors.Order`` internally use ``movebefore``, ``moveafter``,
``movefirst`` and ``movelast`` of ``odict`` to avoid modifying the data
structure before ``__setitem__`` gets called.
[rnix]
- Extend ``node.interfaces.IOrder`` respective ``node.behaviors.Order``
by ``movebefore``, ``moveafter``, ``movefirst`` and ``movelast``.
[rnix]
- Reset ``__parent__`` in ``node.behaviors.Node.detach``. Node is no longer
contained in tree.
[rnix]
- Introduce ``IndexViolationError`` which inherits from ``ValueError`` and
raise it in reference related behaviors instead of ``ValueError`` where
appropriate.
[rnix]
- Introduce ``node.interfaces.INodeReference`` and
``node.behaviors.NodeReference``.
[rnix]
- Introduce ``node.interfaces.ISequenceReference`` and
``node.behaviors.SequenceReference``.
[rnix]
- Rename ``node.interfaces.IReference`` to ``node.interfaces.IMappingReference``
and ``node.behaviors.Reference`` to ``node.behaviors.MappingReference``.
B/C is kept.
[rnix]
**Breaking changes**:
- Remove ``_notify_suppress`` flag from ``Lifecycle`` behavior. Introduce
``suppress_lifecycle_events`` contextmanager as substitute.
[rnix]
- Importing ``ChildFactory`` and ``FixedChildren`` from
``node.behaviors.common`` not works any more. Please import from
``node.behaviors``.
[rnix]
- Importing B/C ``Reference`` behavior from ``node.behaviors.reference``
not works any more. Please import from ``node.behaviors``.
[rnix]