Skip to content

Releases: openwdl/wdl

WDL 1.2

23 May 18:48
Compare
Choose a tag to compare

What's New

Files and Directories

  • Added Directory type. PR 641
  • Added JSON extended file/directory input/output format. [PR 643] (#643)
  • Input files and directories should be treated as read-only. PR 642
  • Local paths are always used when evaluating input/private/command expressions.
  • Clarified the meaning of a remote parent folder for the purposes of localization.

Requirements and Hints

  • The requirements and hints sections (#540 and #541) replace runtime.
  • Workflow hints section (#543).
  • fpga requirement and reserved hint for requesting FPGA resources.
  • disks and gpu reserved hints for requesting specific resources.
  • Implicit task variable that provides access the actual values of requirements, meta, and parameter_meta at runtime.

Struct Improvements

  • Structs can now have meta and parameter_meta sections.
  • Relaxed the requirements on coercing object/map to struct - extra keys are allowed and ignored. Note that this may constitute a breaking change if you rely on a task to fail when coercing an object/map with extra keys.
  • Allow conversion between Struct types when certain criteria are met.

Standard Library Functions

New

  • contains_key: whether a Map or Object contain a specific member. PR 603
  • values: get the values from a Map.
  • find: search for a regular expression in a string.
  • matches: whether a string match a regular expression.
  • chunk: split an array into sub-arrays.
  • join_paths: join two or more paths.
  • contains: whether an array contains a specified value.

Improved

  • Generalized size function to take any compound value.
  • Added optional default parameter to select_first.
  • Generalized length function to also accept Map, Object, and String arguments.
  • Added the Array[String] keys(Struct|Object) function variant for getting the member names for a struct or object.
  • Added parameters to read_tsv that enable it to read field names from a header row or an Array[String] and return an Array[Object]. PR 627

Other

  • Exponentiation operator (**).
  • Multi-line strings. PR 602.
  • Clarify that accessing a non-existent member of an object, struct, or call is an error.
  • Inputs with defaults are implicitly optional PR 464 by @mlin
  • input: is optional in call bodies. PR 524 by @mlin.
  • The concept of "scoped types", to support the use of object-like values within the hints section while still keeping the Object type as deprecated.

What's Deprecated

  • runtime section (use requirements and hints instead).
  • Specifying allowNestedInputs in the workflow meta section (put it in workflow hints instead).
  • The previously allowed behavior implied by setting allowNestedInputs: true where required task/subworkflow inputs could be left unsatisfied. Now all inputs either need to have a default value or have their value specified in the call inputs. Only optional task/subworkflow inputs that are not explicitly set in the call inputs may have their value set at runtime if the allow_nested_inputs hint is true.

New Contributors

Full Changelog: release-1.1.0...release-1.2.0

WDL 1.1.2

22 May 19:25
a512dbc
Compare
Choose a tag to compare

What's Changed

  • State that Union is also the type of some runtime attributes.
  • Remove some syntax sections that were missed in 1.1.1.
  • Clarify short-circuiting of boolean expressions (#199)
  • Added requirement for tests to the RFC
  • Clarifies number of sections allowed within task and workflow blocks.
    PR 598 by @claymcleod
  • Clarified that read_bool is case-insensitive, and added an example.

Full Changelog: https://github.com/openwdl/wdl/compare/119f92c1a7c3ad7c1a00520b13861d5a14adec22..826bfbc1ab64a8d119bc66b0efc0ecb6382ce466

WDL 1.1.1

04 Oct 18:06
Compare
Choose a tag to compare

This is a patch release to the WDL 1.1 specification - there are no new features or changes to functionality.

In addition, we are changing to a separate-branch-per-version model for the GitHub repository. The branch for WDL 1.1 will become the repository's default branch.

Changes

  • Introduce the concept of "hidden types"; declare that None is of the hidden type Union
  • Add clarifications to several sections
  • Fix lots of typos
  • Organize the standard library hierarchically
  • Convert most code examples to test cases

Details can be found in the pull request.

Legacy WDL specification repository

03 Dec 17:24
cb87586
Compare
Choose a tag to compare

This is a tag for the main branch of the WDL specification repository prior to the release of WDL 1.1.1.

Going forward, each version of the specification will have its own branch, and the default branch on GitHub will be set to the branch for the current version.