Releases: broadinstitute/cromwell
Releases · broadinstitute/cromwell
0.18
- The deprecated parse, validate, inputs and highlight functionality from the command line tool has been removed in favor of wdltool (https://github.com/broadinstitute/wdltool)
- Workflow options can now include a
defaultRuntimeOptions
section, so that the same runtime attribute is not needed in every single WDL task. E.g.:
{
"defaultRuntimeOptions": {
"docker": "ubuntu:latest"
}
}
- Changed the JES runtime attributes
defaultDisks
anddefaultZones
to be simplydisks
andzones
respectively. - Liquibase scripts now run automatically. Non-persistent, in-memory databases are not affected. However Cromwell will
not start if it detects evidence of manually run liquibase migrations in a persistent database. Instead, before Cromwell
will start cleanly, the database should backed up, and then this SQL should be manually executed:
update DATABASECHANGELOG
set MD5SUM = null,
FILENAME = substr(FILENAME, instr(FILENAME, "src/main/migrations/") + length("src/main/migrations/"))
where FILENAME like '%src/main/migrations/%'
- Added Preemptible VMs support for JES. This has impacts on the API Endpoint responses as a Call/Shard can now be attempted multiple times. Each attempt will have its own entry.
- Added custom thread pool to workaround Slick deadlocks. The thread pool
size defaults to the Slick configuration valuedb.numThreads
, but may be increased up to Slick's
db.maxConnections
, via a new propertyactionThreadPoolSize
. - Added support for size WDL standard library function.
- Allow for runtime attribute values to be interpreted as full expressions. For example:
task example {
String ubuntu_tag
command { ... }
runtime {
docker: "ubuntu:" + ubuntu_tag
}
}
- Add runtime attributes in Call metadata :
{
"workflowName": "hello",
"calls": {
"hello.hello": [
{
...,
"runtimeAttributes": {
"preemptible": "0",
"failOnStderr": "false",
"disks": "local-disk 10 SSD",
"continueOnReturnCode": "0",
"docker": "ubuntu:latest",
"cpu": "1",
"zones": "us-central1-a",
"memory": "2GB"
},
...
}
]
}
}
- Added "preemptible" field in Call metadata. This only appears if the backend is JES.
{
"workflowName": "hello",
"calls": {
"hello.hello": [
{
...,
"preemptible": "true"
...
}
]
}
}
0.17
- Validate RuntimeAttributes before starting a call
- Prevent infinite retries
- Persist disallowed return codes in DB
- Add deprecation notices to WDL specific command line functionality
- Make Call backoff polling backend specific
- Aborts jobs on shutdown.
- Numerous bug fixes and stability improvements
0.16
- Bug fix: call caching will not calculate MD5s if turned off
- New API endpoint for generating HTML timing diagrams of a workflow
- Move the Scala bindings for WDL into a new project wdl4s
0.15
- Call caching allows Cromwell to use results from prior invocations if it detected that it's run a
call
in the past - Various bug fixes, stability improvements
- Improved REST API
0.14
- Improved logging
- Improved concurrency handing for high workflow loads
- Bug fixes
- Improved stability
0.13
-
Stability and bug fixes
-
implemented
read_float()
,read_boolean()
,read_object()
, andwrite_object()
WDL functions -
Allow WDL functions at the workflow level:
workflow wf { Array[Int] my_ints = read_lines("some_file") }
0.12
Merge branch 'develop'
0.10
-
Sun GridEngine backend. Specifying
-Dbackend.backend=sge
will useqsub
to launch jobs. See also the filesystem assumptions for using the GridEngine backend. -
Support for
scatter
blocks, for example:task add_one { Int n command { python -c "print(${n}+1)" } output { Int incremented = read_int(stdout()) } } workflow test { Array[Int] list = [1,2,3,4] scatter (x in list) { call add_one {input: n=x} } }
-
Localization strategies for SGE/local backends. Instead of copying all files, one can specify
hard-link
,soft-link
, andcopy
. By default they are tried in the order that they're listed here until one succeeds, though the priority is configurable. See filesystem assumptions for more information.
0.9
- Updated parser for the new specification changes
- Fix bugs in JES backend
0.8
- API Endpoints for validating
- Stability / bug fixes
- Newline characters are now not stripped from the
command
section