------------------
- Reach 100% automated test coverage.
- Add support for Python 3.7.
- Drop support for Python 3.3 and remove internal compatibility
functions needed to support it. See `issue 20
<https://github.com/zopefoundation/zope.configuration/issues/20>`_
and `issue 26
<https://github.com/zopefoundation/zope.configuration/issues/26>`_.
- Drop support for ``python setup.py test``.
- Make ``zope.configuration.fields.Path`` and
``zope.configuration.config.ConfigurationContext`` expand
environment variables and expand user home directories in paths. See
`issue 3 <https://github.com/zopefoundation/zope.configuration/issues/3>`_.
- Fix resolving names from a Python 2 package whose ``__init__.py`` has
unicode elements in ``__all__``.
- Make ``GroupingContextDecorator`` stop shadowing builtins in its
``__getattr__``. These were not intended as arguments to be used by
subclasses, and the signature caused confusion.
- Fix the doctests with zope.schema 4.7 and above, and run the
doctests on both Python 2 and Python 3. See `issue 21
<https://github.com/zopefoundation/zope.configuration/issues/21>`_.
- Fix ``GlobalObject`` and ``GlobalInterface`` fields to only accept
dotted names instead of names with ``/``. Previously, slash
delimited names could result in incorrect imports. See `issue 6
<https://github.com/zopefoundation/zope.configuration/issues/6>`_.
- Fix the schema fields to include the ``value`` and ``field`` values
on exceptions they raise.
- Make ``zope.configuration.fields.PythonIdentifier`` subclass
``PythonIdentifier`` from ``zope.schema``. It now implements ``fromBytes``,
always produces a native string, and validates the value in
``fromUnicode``. See `issue 28
<https://github.com/zopefoundation/zope.configuration/issues/28>`_.
- Add ``ConfigurationMachine.pass_through_exceptions`` to allow
customizing the exceptions that
``ConfigurationMachine.execute_actions`` wraps in a
``ConfigurationExecutionError``. See `issue 10
<https://github.com/zopefoundation/zope.configuration/issues/10>`_.
- Stop catching ``BaseException`` and wrapping it in either
``ConfigurationExecutionError`` or ``ZopeXMLConfigurationError``.
``SystemExit`` and ``KeyboardInterrupt`` were always allowed to
propagate; now ``GeneratorExit`` and custom subclasses of
``BaseException`` are also allowed te propagate.