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

@awscloud @BroadGenomics Jamie the Cromwell pig runs on AWS Batch! Read the blog post by @RuchMunsh at… https://t.co/n6AK77ljQo
1 Oct 18
@sminot @iprophage Tadaaa Cromwell is now on AWS, see https://t.co/gT0KFnmGC5 and https://t.co/375wew4Alk
1 Oct 18
@sminot @iprophage Like seriously we’re talking days on a scale that a preschooler can count to. Keep an eye on the… https://t.co/JFGyviqGSL
22 Sep 18
@sminot @iprophage Coming sooooon...
22 Sep 18
@vanilla Aaand we're back; everything should be working properly now.
20 Sep 18

- Our favorite tweets from others

@sminot So true! If the workflow manager side of you is interested, check this out. I’ve been getting more into thi… https://t.co/GmXZKac9b5
21 Sep 18
We had a lot of fun in the last day of the #GATK workshop. A lot to learn and practice on their workflow descriptiv… https://t.co/bTMSyT8W60
20 Sep 18
Today at #GATK course, pipelining with WDL, Cromwell and Firecloud! @ClinicalBioinfo @FProgresoysalud @gatk_dev https://t.co/V4bLinpoPh
20 Sep 18
Pretty cool. An #rstats shiny dashboard for Cromwell (and thus both #OpenWDL and #commonwl) https://t.co/Qg9ZBa1slX
4 Aug 18
Reminder for #GCCBSOC attendees, there's a BoF for #OpenWDL at 12:30 in PAB 332.
27 Jun 18

See more of our favorite tweets...