29 Release Notes

Breaking Changes

  • Command line
    In preparation for supporting CWL scripts (yes, you read that right!), we have extensively revised the Command Line in Cromwell 29. For more details about the usage changes please see the README. And stay tuned to the WDL/Cromwell blog over the next couple of months for more news about CWL.

  • Request timeouts
    Cromwell now returns more specific 503 Service Unavailable error codes on request timeouts, rather than the more generic 500 Internal Server Error. The response for a request timeout will now be plain text, rather than a JSON format.

  • Metadata endpoint
    The response from the metadata endpoint can be quite large depending on your workflow. You can now opt-in to have Cromwell gzip your metadata file, in order to reduce file size, by sending the Accept-Encoding: gzip header. The default behavior now does not gzip encode responses.

  • Engine endpoints
    Previously the engine endpoints were available under /api/engine but now the endpoints are under /engine so they don't require authentication. Workflow endpoints are still available under /api/workflows. We also deprecated the setting api.routeUnwrapped as a part of this internal consistency effort.

  • Call caching diff
    We updated the response format of the callcaching/diff endpoint.

Other changes

  • Cromwell server
    When running in server mode, Cromwell now attempts to gracefully shutdown after receiving a SIGINT (Ctrl-C) or SIGTERM (kill) signal. This means that Cromwell waits for all pending database writes before exiting, as long as you include application.conf at the top of your config file. You can find detailed information about how to configure this feature in the Cromwell Wiki.

  • Concurrent jobs
    You can now limit the number of concurrent jobs for any backend. Previously this was only possible in some backend implementations. Please see the README for details.

WDL

  • Optional WDL variables
    Empty optional WDL values are now rendered as the null JSON value instead of the JSON string "null" in the metadata and output endpoints. You do not need to migrate previous workflows. Workflows run on Cromwell 28 and prior will still render empty values as "null".

  • Empty WDL variables
    Cromwell now accepts null JSON values in the input file and coerces them as an empty WDL value. WDL variables must be declared optional in order to be supplied with a null JSON value.

input.json

{
    "null_input_values.maybeString": null,
    "null_input_values.arrayOfMaybeInts": [1, 2, null, 4]
}

workflow.wdl

workflow null_input_values {
    String? maybeString
    Array[Int?] arrayOfMaybeInts
}


Comment on this article


- Recent posts


- Upcoming events

See Events calendar for full list and dates


- Recent events

See Events calendar for full list and dates



- Follow us on Twitter

WDL Dev Team

@WDL_dev

Featuring WDL and Cromwell on @Azure thanks to @Microsoft @Health_IT -- see also our blog at… https://t.co/gCUAQrcgC1
16 Oct 19
Blue skies ahead for Cromwell on Azure! https://t.co/35jHw7yIqt https://t.co/2OD9w8EyZ9
15 Oct 19
RT @jgoecks: Nice overview of bioinformatics workflows definition and execution including discussion of @commonwl @galaxyproject and @WDL_d…
3 Sep 19
RT @JMonlong: If you're in team #Emacs and want to work with WDL, here is how to get syntax highlighting and indentation polymode-style. Al…
16 Jul 19
RT @DockstoreOrg: Explore a WDL workflow on Dockstore by choosing between classic and EPAM visualizations. https://t.co/JQEPsIo4Ez https://…
3 Jul 19

- Our favorite tweets from others

@tangming2005 @geoffjentry @dnanexus I was surprised at the cost too, most user group meetings in biotech are free/… https://t.co/GP0Os3t64r
9 Sep 19
Nice overview of bioinformatics workflows definition and execution including discussion of @commonwl @galaxyprojecthttps://t.co/3WfecaEEJH
3 Sep 19
Workflow systems turn raw data into scientific knowledge https://t.co/t5jUjl39RW
2 Sep 19
@DNAstack @DTSupercluster Ok, so now I'm expecting this many more @WDL_dev PRs :P
2 Aug 19
@geoffjentry @DTSupercluster Patrick was busy reviewing a @WDL_dev PR
2 Aug 19

See more of our favorite tweets...