Changes in 0.3.0 (since 0.2.0)
Features
New array
construct to specify array types
Allow specification of array input item separators
New pass-through identity
construct
New scattering scatter
, scatter-cross
and scatter-nested-cross
constructs
New #:stdout
and #:stderr
parameters in commands
Support staging input files
Support returning command objects, not just workflow objects, from ccwl files
Allow literal values as arguments
Add message requesting users report uncaught exceptions as bugs
Allow steps with expressions that evaluate to commands
Allow steps with unspecified default arguments
Support specifying command requirements
Tolerate prefixed strings in #:run
parameters of commands
Allow calling workflows inside other workflows
Deprecate auto-connection of single-input commands
Compiler error messages
ccwl now comes with significantly better error messages that highlight
the exact context of errors in workflow descriptions.
Error out if arguments have been supplied more than once
Error out when ccwl file does not return supported object
Error out when unknown keys were passed to rename
Error out when workflow syntax is not recognized
Error out when body of workflow has multiple expressions
Error out on unrecognized keyword arguments to command
, input
or output
Error out on unexpected extra argument to unary keyword argument of command
, input
or output
Error out on unexpected positional argument to command
, input
or output
Error out when external CWL workflow files do not exist
Error out when undefined inputs are used in the #:run
parameter of a command
Error out when command is not defined
Error out on argument prefixes that are not strings
Error out when #:other
and #:binding
parameters are not YAML serializable trees
Error out when workflow step is missing required parameters
Error out when workflow step does not accept input key
Error out when workflow step is supplied with unknown key
Error out when #:run
argument to command is invalid
Error out when rename mappings are not an alternating sequence of keywords and symbols
Noteworthy bug fixes
Escape all indicator characters when serializing YAML
Do not escape backslashes when serializing graphviz dot
When key is renamed, rename the corresponding CWL output ID too
Rename final workflow output correctly
Other
Serialize atomic YAML dictionary values on the same line
Serialize YAML arrays with a single atomic value on the same line
New guile-lib dependency for (term ansi-color)
Changes in 0.2.0 (since 0.1.0)
Documentation
New "Let's write a spell check workflow" section in the manual
New "Reuse external CWL workflows" section in the manual
Features
Make workflow inputs global to all steps
Support renaming intermediate inputs and outputs
Support external CWL workflows
Support compiling workflows to graphviz dot language for rendering as a graph
Other
New guile-libyaml dependency