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 @gatk_dev: Would anyone in the Boston/Cambridge area be interested in an informal meetup about GATK? Chat about current tools, go over a…
6 Jun 19
RT @geoffjentry: Win a trip to @OBF_BOSC this summer in Basel! https://t.co/BRabGp6MT1
18 May 19
RT @geoffjentry: We had a hackathon yesterday to make the AWS support in Cromwell. A lot of great progress was made, the next release shoul…
20 Apr 19
RT @xDBio_Inc: Are you a Python developer with experience with @WDL_dev and @commonwl ? If so, get in touch with us, we're looking for you!…
18 Apr 19
RT @geoffjentry: It appears Cromwell has reached "bar graffiti" status. Onwards and upwards, Jamie! https://t.co/J6zAZx32ml
8 Apr 19

- Our favorite tweets from others

Win a trip to @OBF_BOSC this summer in Basel! https://t.co/BRabGp6MT1
17 May 19
Do you have a pet workflow or a favorite notebook? Have you thought about sharing them with the world, but keep pus… https://t.co/Cza7Yobu80
17 May 19
Err that’s “make it better”, not “make it” 🤦🏻‍♂️
19 Apr 19
We had a hackathon yesterday to make the AWS support in Cromwell. A lot of great progress was made, the next releas… https://t.co/Zs7rn4nELy
19 Apr 19
@ecerami @WDL_dev @googlecloud This is a great resource you put together @ecerami - let us know if we can be of any… https://t.co/AgAzrnojUA
29 Mar 19

See more of our favorite tweets...