-------------------
* Testing against python 3.10 in github actions and officially noting support
for 3.10 in ``setup.py``.
* Testing against python 3.9 in github actions and noting support in
``setup.py``.
* Fixed an issue where exceptions raised during execution where the task
completed before ``TaskGraph.join()`` was called would not be raised. Now,
if a task raises an exception, its exception will always be raised when
either ``Task.join()`` and ``TaskGraph.join()`` is called.
* Fixed an issue where tasks with ``hash_algorithm='sizetimestamp'`` would,
under certain conditions, fail to re-execute when they should. This only
occurred when a graph writing the same amount of , but possibly different,
data is executed successively, with less than about 1.5 seconds between
task executions.
* After many years with the Natural Capital Project, Rich Sharp has stepped
down from the Project and as the maintainer of ``taskgraph``. James
Douglass is taking his place, and this change is now reflected in
``setup.py``.
* Fixes an issue that causes an ``EOFError`` or ``BrokenPipeError`` to occur
when the ``TaskGraph`` terminates.
* Updated the ``taskgraph`` example in the README for the latest API changes
and to clarify the need for ``if __name__ == '__main__':``
* Fixed an issue that could cause the ``TaskGraph`` object to hang if
duplicate ``Task`` objects were created.
* Fixed an issue that was causing TaskGraph to ignore a changed
``hash_algorithm`` if the TaskGraph was created on one run, was
deconstructed, then restarted. If the user chose a different hash, TaskGraph
would use the hash that the target file was originally hashed under rather
than the new algorithm.
* Removed ``copy_duplicate_artifact`` and ``hardlink_allowed`` parameters
and functionality from TaskGraph. This is to address a design error that
TaskGraph is not well suited for caching file results to avoid
recomputation. Rather than add additional complexity around the limitations
of this feature it is being removed to guide a design toward a standalone
cache library if needed.