Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning

1.2.0 - 2017-03-15

Added

  • Failed sample annotation: when a job fails, the result is annotated and forwarded until a SinkNode, where we can determine the status and possibly point of failure of the Sample.
  • Commandline tool fastr trace that can inspect a workflow run and help trace errors and print debug information
  • Supported for Lmod modules environment next to the old environmentmodules
  • BaseDataType descendants are now (un)picklable (including EnumTypes)
  • Option to use {extension} field in sink_data, which differs from {ext} in that it doesn’t include a leading dot.
  • Support for Docker targets. A Docker target will execute a command inside of a specified docker container, allowing Tools to use Docker for distribution
  • Using the right and left shift operator (<< and >>) for creating links to Inputs using input << output or output >> input.
  • In the FastrInterfaces, automatic outputs can have a prefix for a flag that should be set for the output to be actually generated.
  • Fastr is now able to limit the amount of SourceJobs that are allowed to run concurrently.
  • Ability to report progress to PIM (use the pim_host field in the config)

Changed

  • Version can now also accept a format based on a date (e.g. 2017-02-17_bananas) which will be parsed the same way as 2017.02.17_bananas
  • Work on the ExecutionPlugin and the corresponding API. Has better fall-backs and a mechanism to advertise plugin capabilities.
  • The collector plugins have the input and input_parts fields merged, and the output and output_parts fields merged.

Fixed

  • In some cases the log directory was not created properly, causing an handled exception
  • A bug making the handling of Booleans incorrect for the FastrInterface, when a Boolean was given a flag would also appear when it was False
  • Serialization of the namespace of a Network was not correct
  • Check version of Fastr that creates and executes a Job against each other
  • load_gpickle helper can handle data with Enums that use to cause an AttributeError
  • Output validation of Jobs did not work correctly for automatic outputs

1.1.2 - 2016-12-22

Fixed

  • The example network in resources/networks/add_ints.json was using an old serialization format making it non-functions. Replaced by a new network file.

1.1.1 - 2016-12-22

Fixed

  • Network runs called from an interpreter (and not file) caused a crash because the network tried to report the file used. Better handling of these situations.

1.1.0 - 2016-12-08

Added

  • Namespaces for resources (tools and networks)
  • Network manager located at fastr.networklist
  • RQExecution plugin. This plugin uses python-rq to manage a job queue.
  • LinearExecution plugin. This plugin uses a background thread for execution.
  • BlockingExecution plugin. This plugin executes jobs in a blocking fashion.
  • Automatic generation of documentation for all plugins, the configuration fields and all commandline tools.

Changed

  • Provenance is updated with a network dump and used tool definitions.
  • New configuration system that uses python files
  • New plugin system that integrates with the new configuration system and enables automatic importing of plugins
  • The fastr command line tools now use an entrypoint which is located in fastr.utils.cmd. This code also dispatches the sub commands.

Removed

  • fastr.config file. This is replaced by the config.py file. Go to the docs!

Fixed

  • Adds explicit tool namespace and version to the provenance document.