=============
This release contains a few large features such as named inputs and outputs
and the introduction of the :class:`Workflow.map` method for easily generating
multiple targets from a template and improving readability.
There are also several minor improvements that contribute to the overall
user experience ranging from speed improvements for the ``logs`` command to
improved debugging output.
The documentation has also been restructured and improved.
Added
-----
* Named inputs and outputs. The ``inputs`` and ``outputs`` arguments to
``Workflow.target`` can now be either a string, list or dictionary. See the
documentation for more details.
* Tutorial now explains what happens if a target fails.
* Documentation now has an official list of *gwf* plugins.
* The ``status`` command now has a ``--summary`` option the summarizes the
status of an entire workflow.
* All input and output paths are now checked for non-printable characters such
as newlines and tabs. This can cause problems that are very hard to find and
fix (e.g. *gwf* reporting that a file is missing even though it seems to be
there). Paths containing such characters now result in an error.
Changed
-------
* The ``logs`` command is now much faster since it no longer builds the entire
graph.
* The target in the ``status`` output is now sorted in creation order, instead
of alphabetically.
* Cleaner output formatting, especially when running with ``-v debug``.
* Improved log messages from scheduler when running with ``-v debug``. The
messages are now more specific and helpful.
* Documentation has been restructured to be more readable and have less
redundant information.
Fixed
-----
* Crash when running ``gwf init`` without an existing configuration file.
* The ``--force`` flag for the ``cancel`` command now actually forces cancellation.
* We now respect the ``--no-color`` flag completely and implement the ``NO_COLOR``
environment variable standard described `here <https://no-color.org/>`_.