Skip to content

Releases: broadinstitute/cromwell

0.18

03 Mar 18:33
Compare
Choose a tag to compare
  • 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 and defaultZones to be simply disks and zones 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 value db.numThreads, but may be increased up to Slick's
    db.maxConnections, via a new property actionThreadPoolSize.
  • 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

02 Feb 19:16
Compare
Choose a tag to compare
  • 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

11 Jan 20:19
Compare
Choose a tag to compare
  • 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

18 Dec 20:05
Compare
Choose a tag to compare
  • 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

03 Nov 13:20
Compare
Choose a tag to compare
  • Improved logging
  • Improved concurrency handing for high workflow loads
  • Bug fixes
  • Improved stability

0.13

16 Oct 12:52
Compare
Choose a tag to compare
  • Stability and bug fixes

  • implemented read_float(), read_boolean(), read_object(), and write_object() WDL functions

  • Allow WDL functions at the workflow level:

    workflow wf {
      Array[Int] my_ints = read_lines("some_file")
    }
    

0.12

05 Oct 18:48
Compare
Choose a tag to compare
Merge branch 'develop'

0.10

04 Sep 16:38
Compare
Choose a tag to compare
  • Sun GridEngine backend. Specifying -Dbackend.backend=sge will use qsub 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, and copy. 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

25 Aug 21:06
Compare
Choose a tag to compare
0.9

0.8

10 Aug 14:35
Compare
Choose a tag to compare
0.8
  • API Endpoints for validating
  • Stability / bug fixes
  • Newline characters are now not stripped from the command section