diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0b668ab13b313d61e9fbf5cb8047fb3bbabc4276..27d4aa71033f2f5f69295b236d7bb5dcf8810cfe 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,8 @@ that users understand how the changes affect the new version.
 
 version 5.0.0-dev
 ---------------------------
++ Update CutAdapt to version 3.0.0.
++ Update StringTie to version 2.1.4.
 + Complete `parameter_meta` for tasks missing the outputs.
 + DeepVariant: Add an optional input for the gvcf index.
 + Samtools: `Sort` task now has `threads` in runtime instead of `1`.
diff --git a/TO-DO.md b/TO-DO.md
deleted file mode 100644
index be125abe2ec69227ead2ad970fb3c7081ca5fbbe..0000000000000000000000000000000000000000
--- a/TO-DO.md
+++ /dev/null
@@ -1,27 +0,0 @@
-#TO-DO
-This file describes WDL files and tasks within those files which need
-more specific attention than just adding outputs to the parameter_meta.
-
-Some tasks have not been updated to match the new SLURM requirements and are
-missing a parameter_meta section.
-
-Some tasks are importing other WDL files.
-
-## Out of date with new cluster & parameter_meta:
-* common.wdl: `AppendToStringArray`, `CheckFileMD5`, `ConcatenateTextFiles`,
-              `Copy`, `CreateLink`, `MapMd5`, `StringArrayMd5`
-* fastqsplitter.wdl: `Fastqsplitter`
-* flash.wdl: `Flash`
-* macs2.wdl: `PeakCalling`
-* ncbi.wdl: `GenomeDownload`, `DownloadNtFasta`, `DownloadAccessionToTaxId`
-* seqtk.wdl: `Sample`
-* spades.wdl: `Spades`
-* unicycler.wdl: `Unicycler`
-* wisestork.wdl: `Count`, `GcCorrect`, `Newref`, `Zscore`
-* picard.wdl: `ScatterIntervalList`
-
-## Requires input from others:
-These tasks below are still missing descriptions `outputs` in
-the `parameter_meta`.
-* somaticseq.wdl
-* picard.wdl
diff --git a/cutadapt.wdl b/cutadapt.wdl
index b2dbdec0c58c9d9aa5fbd464b0efff3793211dc8..b9f5a649197f5d8ad290d7314996134bc1441b45 100644
--- a/cutadapt.wdl
+++ b/cutadapt.wdl
@@ -85,7 +85,7 @@ task Cutadapt {
         Int cores = 4
         String memory = "~{300 + 100 * cores}M"
         Int timeMinutes = 1 + ceil(size([read1, read2], "G")  * 12.0 / cores)
-        String dockerImage = "quay.io/biocontainers/cutadapt:2.10--py37hf01694f_1"
+        String dockerImage = "quay.io/biocontainers/cutadapt:3.0--py37hf01694f_0"
     }
 
     String realRead2output = select_first([read2output, "cut_r2.fq.gz"])
diff --git a/stringtie.wdl b/stringtie.wdl
index 05df05c6f186b928942bd74da4e8a8fe87e45782..81d9613265242aaa7504f78fa426cab510d9dc91 100644
--- a/stringtie.wdl
+++ b/stringtie.wdl
@@ -35,7 +35,7 @@ task Stringtie {
         Int threads = 1
         String memory = "2G"
         Int timeMinutes = 1 + ceil(size(bam, "G") * 60 / threads)
-        String dockerImage = "quay.io/biocontainers/stringtie:1.3.4--py35_0"
+        String dockerImage = "quay.io/biocontainers/stringtie:2.1.4--h7e0af3c_0"
     }
 
     command {
@@ -101,7 +101,7 @@ task Merge {
 
         String memory = "10G"
         Int timeMinutes = 1 + ceil(size(gtfFiles, "G") * 20)
-        String dockerImage = "quay.io/biocontainers/stringtie:1.3.4--py35_0"
+        String dockerImage = "quay.io/biocontainers/stringtie:2.1.4--h7e0af3c_0"
     }
 
     command {