Skip to content

CWL v1.1

Latest
Compare
Choose a tag to compare
@tetron tetron released this 07 Jun 19:13
· 6 commits to master since this release
4feec74

On behalf of everyone who has contributed, I am pleased to announce that v1.1 of the CWL specification been approved by the CWL leadership team. This comes after two years of work collecting feedback, handling issues and feature requests, and establishing community processes that will ensure sustainable development and maintenance of the CWL standard for a long time to come.

CWL v1.0 documents can be trivially updated to CWL v1.1 simply by changing to 'cwlVersion: v1.1'.

Major new features of CWL v1.1 include:

  • secondaryFiles can now be explicitly marked as required or not.
  • Parameters on tools declared directly in a workflow no longer conflict with the enclosing workflow
  • Addition of stdin type shortcut for CommandInputParameter
  • Added ToolTimeLimit feature, allows setting an upper limit on the execution time of a CommandLineTool.
  • Added WorkReuse feature, allowing to enable or disable the reuse behavior for a particular tool or step for implementations that support reusing output from past work.
  • Added NetworkAccess feature, allowing to indicate whether a process requires outgoing network access.
  • The position field of the CommandLineBinding can now be calculated from a CWL Expression.
  • The exit code of a CommandLineTool invocation is now available to expressions in outputEval as runtime.exitCode

In addition, CWL v1.1 documents have following two important changes in default behavior compared to v1.0:

  • The CWL runtime no longer loads listings of Directory objects by default. This was changed after feedback that enumerating very large/deep directory trees could be very expensive in time and memory. If you need the contents of the directory to manipulate in an expression, read about the 'loadListing' field.
  • CWL command line tools running inside containers now must have network access disabled by default. This was done to improve security and reproducibility. Use the new process requirement NetworkAccess to explicitly enable

Detailed changes in CWL v1.1 are covered in the following changelogs:

https://www.commonwl.org/v1.1/CommandLineTool.html#Changelog
https://www.commonwl.org/v1.1/Workflow.html#Changelog