Cromwell 25 release
Happy 25th birthday, Cromwell! You're a quarter of a century old! In this version, we added a major new feature we named "call caching" that could potentially save you tons of money; as well as labels, a TES backend and new WDL functions.
But before you do, have a look at the version highlights below!
Using Docker Hashes, call caching will soon be available for FireCloud. Call caching is already available through Cromwell directly, and by default it is disabled.
For users who are concerned about running repeatable WDLs we recommend avoiding floating tags, such as
"ubuntu:latest". When you use floating tags or expressions those jobs will not be call cached when using Cromwell directly. The reasoning behind this decision is that if the value changes, such as the latest version of Ubuntu, then it could create different results than without call caching. FireCloud will still use call caching when there are floating tags in WDLs.
Note that currently Cromwell doesn't track changes to the output files (there's a feature request), so you could get a call cache hit to a file that has been modified, rather than the originally cached output. To avoid this, make sure to rename the file if you change it.
Every call in Cromwell is now labeled by default so you can query them, see the README for how to apply custom labels.
New WDL functions
MySQL users can use batched inputs by adding
"rewriteBatchedStatements=true" to the JDBC URL.
Members of the Cromwell community added support for TES (Task Execution Schema), thanks! Stay tuned to the WDL blog for a post this week with more information about TES.
Notable bug fixes
- De-duping: When call caching was on, the FireCloud timing diagram would show duplicated results.
- Optionals: Optionals regression is now fixed.