CHANGES
*******

0.10.2 (2016-04-26)
===================

- If nothing is found for an app in the query tool, don't mention it
  in the output so as to avoid cluttering the results.

- Fix a major bug in the query tool where if an app resulted in no
  results, any subsequent apps weren't even searched.

0.10.1 (2016-04-26)
===================

- Create proper deprecation warnings instead of plain warnings for
  ``autocommit`` and ``auto_query_tool``.

0.10 (2016-04-25)
=================

- **Deprecated** The ``autocommit`` function is deprecated. Rely on
  the ``commit`` class method of the ``App`` class instead for a more
  explicit alternative.

- **Deprecated** The ``auto_query_tool`` function is deprecated. Rely
  on ``dectate.query_tool(MyApp.commit())`` instead. Since the commit
  method returns an iterable of ``App`` classes that are required to
  commit the app class it is invoked on, this returns the right
  information.

- ``topological_sort`` function is exposed as the public API.

- A ``commit`` class method on ``App`` classes.

- Report on inconsistent uses of factories between different directives'
  ``config`` settings as well as ``factory_arguments`` for registries. This
  prevents bugs where a new directive introduces the wrong factory for
  an existing directive.

- Expanded internals documentation.

0.9.1 (2016-04-19)
==================

- Fix a subtle bug introduced in the last release. If
  ``factory_arguments`` were in use with a config name only created in
  that context, it was not properly cleaned up, which in some cases
  can make a commit of a subclass get the same config object as that
  of the base class.

0.9 (2016-04-19)
================

- Change the behavior of ``query_tool`` so that if it cannot find an
  action class for the directive name the query result is empty
  instead of making this an error. This makes ``auto_query_tool`` work
  better.

- Introduce ``auto_query_tool`` which uses the automatically found
  app classes as the default app classes to query.

- Fix tests that use ``__builtin__`` that were failing on Python 3.

- Dependencies only listed in ``factory_arguments`` are also created
  during config creation.

0.8 (2016-04-12)
================

- Document how to refer to builtins in Python 3.

- Expose ``is_committed`` method on ``App`` subclasses.

0.7 (2016-04-11)
================

- Fix a few documentation issues.

- Expose ``convert_dotted_name`` and document it.

- Implement new ``convert_bool``.

- Allow use of directive name instead of Action subclass as argument
  to Query.

- A ``query_app`` function which is especially helpful when writing
  tests for the query tool -- it takes unconverted filter arguments.

- Use newer version of ``with_metaclass`` from six.

- Expose ``NOT_FOUND`` and document it.

- Introduce a new ``filter_get_value`` method you can implement if the
  normal attribute getting and ``filter_name`` are not enough.

0.6 (2016-04-06)
================

- Introduce a query system for actions and a command-line tool that
  lets you query actions.

0.5 (2016-04-04)
================

- **Breaking change** The signature of ``commit`` has changed. Just
  pass in one or more arguments you want to commit instead of a list. See
  #8.

0.4 (2016-04-01)
================

- Expose ``code_info`` attribute for action. The ``path`` in
  particular can be useful in implementing a directive such as
  Morepath's ``template_directory``. Expose it for composite too.

- Report a few more errors; you cannot use ``config``, ``before`` or
  ``after`` after in an action class if ``group_class`` is set.

- Raise a DirectiveReportError if a DirectiveError is raised in a
  composite ``actions`` method.

0.3 (2016-03-30)
================

- Document ``importscan`` package that can be used in combination with
  this one.

- Introduced ``factory_arguments`` feature on ``config`` factories,
  which can be used to create dependency relationships between
  configuration.

- Fix a bug where config items were not always properly reused. Now
  only the first one in the action class dependency order is used, and
  it is not recreated.

0.2 (2016-03-29)
================

- Remove clear_autocommit as it was useless during testing anyway.
  In tests just use explicit commit.

- Add a ``dectate.sphinxext`` module that can be plugged into Sphinx
  so that directives are documented properly.

- Document how Dectate deals with double imports.

0.1 (2016-03-29)
================

- Initial public release.
