Skip to content

v0.9.0

Compare
Choose a tag to compare
@mlin mlin released this 03 Nov 10:05
· 294 commits to main since this release

"WDL 2.0" preview

This release adds new features defined in the pending "WDL 2.0" language version. For WDL documents beginning with a version development declaration, the parser and runner support:

  • Directory inputs and outputs for tasks and workflows
  • Directory downloads and caching for s3: URIs (other services pending)
  • None literal keyword, to create an empty value explicitly
  • call task1 after prevCall { ... } to declare a dependency between workflow calls without an output-input linkage
  • Revised struct literals declaring the struct type name instead of object, e.g. Car { make: "Ford", model: "Model T" }
  • New standard library functions:
    • min() max()
    • sep() quote() squote()
    • keys() as_map() as_pairs() collect_by_key()

⚠️ version development is a moving target, as "WDL 2.0" is still to be finalized in the OpenWDL community.

miniwdl run

  • CLI:
    • key=value inputs accept a space after the = and before the value, allowing shell path autocompletion for File/Directory inputs
    • --empty can specify empty strings (as well as empty arrays)
    • --none to nullify optional inputs with defaults
  • The legacy output_links/ (linking to out/) is no longer created in each run directory
  • Allow task call caching with URI inputs
  • Default docker image (used if runtime.docker isn't specified) updated to ubuntu:20.04
  • Call and download cache entries created with previous releases are invalidated, and may be deleted

WDL

  • Pair values serialize to & from JSON {"left": x, "right": y} instead of [x,y]
  • Allow Map literals with compound key types