From 6b69a52e5247db83740002ced30c04b3876f8eef Mon Sep 17 00:00:00 2001
From: Glenn Hickey <glenn.hickey@gmail.com>
Date: Mon, 18 Nov 2024 12:10:02 -0500
Subject: [PATCH] prep release v2.9.3

---
 BIN-INSTALL.md              | 10 +++++-----
 ReleaseNotes.md             | 14 ++++++++++++++
 doc/progressive.md          |  4 ++--
 setup.py                    |  2 +-
 src/cactus/shared/common.py |  2 +-
 5 files changed, 23 insertions(+), 9 deletions(-)

diff --git a/BIN-INSTALL.md b/BIN-INSTALL.md
index 361af3e64..bc689101a 100644
--- a/BIN-INSTALL.md
+++ b/BIN-INSTALL.md
@@ -6,17 +6,17 @@ pre-compile binary, static linked distribution.
 ## Extracting
 If you have not already extract the distribution and cd into the cactus directory:
 ```
-tar -xzf cactus-bin-v2.9.2.tar.gz
-cd cactus-bin-v2.9.2
+tar -xzf cactus-bin-v2.9.3.tar.gz
+cd cactus-bin-v2.9.3
 ```
 
 ## Setup
 
 To build a python virtualenv and activate, do the following steps. This requires Python version >= 3.7 (so Ubuntu 18.04 users should use `-p python3.8` below):
 ```
-virtualenv -p python3 venv-cactus-v2.9.2
-printf "export PATH=$(pwd)/bin:\$PATH\nexport PYTHONPATH=$(pwd)/lib:\$PYTHONPATH\nexport LD_LIBRARY_PATH=$(pwd)/lib:\$LD_LIBRARY_PATH\n" >> venv-cactus-v2.9.2/bin/activate
-source venv-cactus-v2.9.2/bin/activate
+virtualenv -p python3 venv-cactus-v2.9.3
+printf "export PATH=$(pwd)/bin:\$PATH\nexport PYTHONPATH=$(pwd)/lib:\$PYTHONPATH\nexport LD_LIBRARY_PATH=$(pwd)/lib:\$LD_LIBRARY_PATH\n" >> venv-cactus-v2.9.3/bin/activate
+source venv-cactus-v2.9.3/bin/activate
 python3 -m pip install -U setuptools pip wheel
 python3 -m pip install -U .
 python3 -m pip install -U -r ./toil-requirement.txt
diff --git a/ReleaseNotes.md b/ReleaseNotes.md
index 8be0b1228..549a96eaa 100644
--- a/ReleaseNotes.md
+++ b/ReleaseNotes.md
@@ -1,3 +1,17 @@
+# Releaes 2.9.3 2024-11-18
+
+This release adds some new options to the pangenome pipeline, and hopefully improves robustness overall
+
+- Faster path normalization (`vg paths -n`) for pangenomes via vg upgrade to v1.61.0
+- Sanity checks added to better detect corrupted intermediate FASTA files
+- Switch off abPOA's progressive mode unless input sequences have same length (otherwise sort by length)
+- `--lastTrain / --scoresFile` options added to learn and/or use custom scoring models for multiple alignment using `last-train`.
+- Update to latest `vcflib`.  Also add `vcflib` installation command as option to `BIN-INSTALL` instructions
+- Make `--maxLen` default value consistent between `cactus-align --pangenome` and `cactus-pangenome`.  Previously it was 100X bigger in the former, which made it very easy to have wildly different performance between the all-at-once and step-by-step versions of the pipeline
+- Fix bug where `--binariesMode singularity` could potentially attempt to write temporary files outside specified workDir
+- Tighten disk usage estimate for `tile_alignments` job
+- Patch `mafTools` to fix a bug where `taffy` normalization in `cactus-hal2maf` would crash if 1-character genome names were present in the input
+
 # Release 2.9.2 2024-10-14
 
 This release patches a couple bugs
diff --git a/doc/progressive.md b/doc/progressive.md
index 64673bf11..49b7733ef 100644
--- a/doc/progressive.md
+++ b/doc/progressive.md
@@ -278,12 +278,12 @@ The Cactus Docker image contains everything you need to run Cactus (python envir
 
 ```
 wget -q https://raw.githubusercontent.com/ComparativeGenomicsToolkit/cactus/master/examples/evolverMammals.txt -O evolverMammals.txt
-docker run -v $(pwd):/data --rm -it quay.io/comparative-genomics-toolkit/cactus:v2.9.2 cactus /data/jobStore /data/evolverMammals.txt /data/evolverMammals.hal
+docker run -v $(pwd):/data --rm -it quay.io/comparative-genomics-toolkit/cactus:v2.9.3 cactus /data/jobStore /data/evolverMammals.txt /data/evolverMammals.hal
 ```
 
 Or you can proceed interactively by running
 ```
-docker run -v $(pwd):/data --rm -it quay.io/comparative-genomics-toolkit/cactus:v2.9.2 bash
+docker run -v $(pwd):/data --rm -it quay.io/comparative-genomics-toolkit/cactus:v2.9.3 bash
 cactus /data/jobStore /data/evolverMammals.txt /data/evolverMammals.hal
 
 ```
diff --git a/setup.py b/setup.py
index 08a79c54b..877b43fa8 100644
--- a/setup.py
+++ b/setup.py
@@ -24,7 +24,7 @@ def run(self):
 
 setup(
     name = "Cactus",
-    version = "2.9.2",
+    version = "2.9.3",
     author = "Benedict Paten",
     package_dir = {'': 'src'},
     packages = find_packages(where='src'),
diff --git a/src/cactus/shared/common.py b/src/cactus/shared/common.py
index 9a23df59f..5a7101f09 100644
--- a/src/cactus/shared/common.py
+++ b/src/cactus/shared/common.py
@@ -318,7 +318,7 @@ def getDockerTag(gpu=False):
         return "latest"    
     else:
         # must be manually kept current with each release        
-        return 'v2.9.2' + ('-gpu' if gpu else '')
+        return 'v2.9.3' + ('-gpu' if gpu else '')
 
 def getDockerImage(gpu=False):
     """Get fully specified Docker image name."""