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

RT @wwcboston: Next Monday, join us for some great tech talks at @broadinstitute! https://t.co/Brlowmhlun
16 Aug 18
@jdidion @commonwl Or #OpenWDL — the language is BSD-3 and independent of the engine. And the major engine, Cromwel… https://t.co/nJrOnuhCF1
10 Jul 18
RT @geoffjentry: Was great to talk to everyone at the #OpenWDL BoF today at #GCCBOSC https://t.co/bj0l0emMeI
27 Jun 18
RT @morgantaschuk: @boconnor @OpenApiSpec .@boconnor Analyze, "green box" for @humancellatlas, WDL-based workflows, contribute pipelines, u…
27 Jun 18
RT @stevetsa1: @boconnor describes the Green Box, the analysis component of the Human Cell Atlas Data Coordination Platform using #WDL_dev…
27 Jun 18

- Our favorite tweets from others

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
#usegalaxy, #WDL, #CommonWL, #Snakemake and finally I'm at the session of #nextflow here in #GCCBOSC! Workflow lang… https://t.co/C9EVPJQzdH
26 Jun 18
Saw people poking #commonwl at the #OpenWDL workshop and people poking #OpenWDL at the #comonwl workshop, so I supp… https://t.co/kRDat8qtMC
26 Jun 18
The longest output for "hello world" tutorial I got ever :) #gccbosc #wdl
26 Jun 18

See more of our favorite tweets...