Taskgraph

Latest version: v0.11.1

Safety actively analyzes 630130 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 6

0.9.1

Not secure
------------------
* Fixed issue that would cause an infinite loop if a ``TaskGraph`` object were
created with a database from an incompatible previous version. Behavior now
is to log the issue, delete the old database, and create a new compatible
one.
* Fixed issue that would cause some rare infinite loops if ``TaskGraph`` were
to fail due to some kinds of task exceptions.
* Adding open source BSD-3-Clause license.

0.9.0

Not secure
------------------
* Updating primary repository URL to GitHub.
* Adding support for Python 3.8.
* Removing the ``EncapsulatedOp`` abstract class. In practice the development
loop that encouraged the use of ``EncapsulatedOp`` is flawed and can lead to
design errors.
* Removing unnecessary internal locks which will improve runtime performance of
processing many small Tasks.
* Refactor to support separate TaskGraph objects that use the same database.
* Removed the ``n_retries`` parameter from ``add_task``. Users are recommended
to handle retries within functions themselves.
* Added a ``hash_target_files`` flag to ``add_task`` that when set to False,
causes TaskGraph to only note the existence of target files after execution
or as part of an evaluation to determine if the Task was precalculated.
This is useful for operations that initialize a file but subsequent runs of
the program modify it such as a new database or a downloaded file.
* Fixed an issue on the monitor execution thread that caused shutdown of a
TaskGraph object to be delayed up to the amount of delay in the monitor
reporting update.
* Added a ``.get()`` function for ``Task`` objects that returns the result of
the respective ``func`` call. This value is cached in the TaskGraph database
and hence can be used to avoid repeated execution. Note the addition of this
function changes the functionality of calling ``add_task`` with no target
path list. In previous versions the Task would execute once per TaskGraph
instance, now successive ``Task`` objects with the same execution signature
will use cached results.
* To support the addition of the ``.get()`` function a ``transient_run``
parameter is added to ``add_task`` that causes TaskGraph to avoid
recording a completed ``Task`` even if the execution hash would have been
identical to a previously completed run where the target artifacts still
existed.

0.8.5

Not secure
------------------
* Dropped support for Python 2.7.
* Fixed an issue where paths in ``ignore_paths`` were not getting ignored in
the case of ``copy_duplicate_artifact=True``.
* Fixed an issue where the "percent completed" in the logging monitor would
sometimes exceed 100%. This occurred when a duplicate task was added to
the TaskGraph object.
* Fixed an issue where a relative path set as a target path would always cause
TaskGraph to raise an exception after the task was complete.
* Fixed an issue where kwargs that were unhashable were not considered when
determining if a Task should be re-run.
* Fixed an issue where files with almost identical modified times and sizes
would hash equal in cases even when the filenames were different.

0.8.4

------------------
* Fixed an exception that occurred when two tasks were constructed that
targeted the same file but one path was relative and the other was absolute.

0.8.3

Not secure
------------------
* Fixed an issue that would cause TaskGraph to raise an IOError if an
``add_task`` call was marked for ``copy_duplicate_artifact`` but the
base target file was missing.
* Fixed an issue that would prevent the source distribution from
installing.
* Taskgraph is now tested against python versions 2.7, 3.6 and 3.7.

0.8.2

Not secure
------------------
* Adjusted logging levels so most chatty information is lowered to debug and
oddness in ``__del__`` shutdown are degraded from ``error`` to ``debug`` so
as not to cause alarm.

Page 2 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.