diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 97b796b0c7e5f6f4350c20ae1f05cd6c57c9ec6b..a0ee14cd02a50f33615856ed1d32a76cd30daeb2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -157,12 +157,32 @@ builder:singularity:
         - build/eic_builder.sif
         - build/eic_builder.def
 
-release:singularity:
+builder:singularity:unstable:
   stage: singularity
   tags:
      - singularity
   only:
      - tags
+  needs: ["builder:unstable"]
+  when: manual
+  script:
+     - cp containers/builder/eic_builder.def .
+     - /bin/bash .gitlabci/setup.sh
+     - /bin/bash .gitlabci/build.sh eic_builder.def
+     - mkdir -p build 
+     - cp eic_builder.sif build/.
+     - cp eic_builder.def build/.
+  artifacts:
+      paths:
+        - build/eic_builder.sif
+        - build/eic_builder.def
+
+release:singularity:
+  stage: singularity
+  tags:
+     - singularity
+  only:
+     - develop
   needs: ["release:stable"]
   script:
      - cp containers/release/eic.def .
@@ -176,3 +196,24 @@ release:singularity:
       paths:
         - build/eic.sif
         - build/eic.def
+
+release:singularity:unstable:
+  stage: singularity
+  tags:
+     - singularity
+  only:
+     - develop
+  needs: ["release:unstable"]
+  when: manual
+  script:
+     - cp containers/release/eic.def .
+     - /bin/bash .gitlabci/setup.sh
+     - /bin/bash .gitlabci/build.sh eic.def
+     - mkdir -p build 
+     - cp eic.sif build/.
+     - cp eic.def build/.
+  artifacts:
+      expire_in: 90 days # this will change in future gitlab vesions :https://docs.gitlab.com/13.3/ee/ci/yaml/README.html#artifactsexpire_in
+      paths:
+        - build/eic.sif
+        - build/eic.def
diff --git a/README.md b/README.md
index 0d1f67226cdd58822777327dbc016a867dfff99f..98f1f077928f8e31ba068e394cbcea3b3b1196ab 100644
--- a/README.md
+++ b/README.md
@@ -15,9 +15,9 @@ cd eic_container
    modeuefile will be installed to `$PREFIX/../../etc/modulefiles`. 
    You can use the `-v` flag to select the version you want to deploy, or omit the 
    flag if you want to install the master build. The recommended stable 
-   release version is `v2.3.1`.
+   release version is `v2.4.0`.
 ```bash
-./deploy.py -v 2.3.1 <PREFIX>
+./deploy.py -v 2.4.0 <PREFIX>
 ```
 
    Available flags:
@@ -102,23 +102,24 @@ Included software:
 ------------------
   - Included software:
     - gcc@10.2.0
-    - cmake@3.18.1
-    - fmt@6.1.2
+    - cmake@3.18.4
+    - fmt@7.1.2
     - spdlog@1.5.0
     - nlohmann-json
     - heppdt@3.04.01
     - clhep@2.4.1.3
-    - eigen@3.3.7
-    - python@3.7.8 with pip, numpy, pyyaml, pyafp,  matplotlib, ipython, scipy
+    - eigen@3.3.8
+    - python@3.8.6 with pip, numpy, pyyaml, pyafp,  matplotlib, ipython, scipy
     - xrootd@4.12.3
     - root@6.22.00
-    - pythia8@8244
+    - pythia8@8303
     - hepmc3@3.2.2 +python +rootio
+    - stow@2.3.1
     - podio@master
     - geant4@10.6.2
     - dd4hep@1.14.1
-    - acts@1.02.0
-    - gaudi@34.0
+    - acts@2.00.0
+    - gaudi@35.0
     - dawn@3.91a
     - dawncut@1.54a
   - The singularity build exports the following applications:
diff --git a/VERSION b/VERSION
index 2bf1c1ccf363acd53eaf92ef33a7f11f5f4557c2..197c4d5c2d7c724b4cd0048f4e3574bb3fa5c8db 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.3.1
+2.4.0
diff --git a/containers/builder/Dockerfile b/containers/builder/Dockerfile
index e80801e4eadd3192d67b6cab9f53a45ea08c17a5..3c763cdd41970c3b246a34de0b3b988ee4ed7f95 100644
--- a/containers/builder/Dockerfile
+++ b/containers/builder/Dockerfile
@@ -1,6 +1,6 @@
 # Builder with Argonne EIC software
 #
-FROM eicweb.phy.anl.gov:4567/containers/image_recipes/debian_spack:snapshot-20201025
+FROM eicweb.phy.anl.gov:4567/containers/image_recipes/debian_spack:snapshot-20201117
 
 LABEL maintainer="Sylvester Joosten <sjoosten@anl.gov>" \
       name="eic_builder" \
@@ -11,7 +11,7 @@ LABEL maintainer="Sylvester Joosten <sjoosten@anl.gov>" \
 
 ENV DOCKERFILE_BASE=debian            \
     DOCKERFILE_DISTRO=debian          \
-    DOCKERFILE_DISTRO_VERSION=20201012-testing \
+    DOCKERFILE_DISTRO_VERSION=20201117-testing \
     SPACK_ROOT=/opt/spack             \
     DEBIAN_FRONTEND=noninteractive    \
     CURRENTLY_BUILDING_DOCKER_IMAGE=1 \
@@ -24,19 +24,19 @@ RUN apt-get -yqq update \
         gv \
  && rm -rf /var/lib/apt/lists/*
 
+## Setup our environment definition
+COPY spack.yaml /opt/spack-environment/spack.yaml
+
 ## Ensure an up-to-date custom package list
 RUN rm -rf $SPACK_ROOT/np-spack \
  && git clone https://eicweb.phy.anl.gov/EIC/np-spack.git $SPACK_ROOT/np-spack \
  && cd $SPACK_ROOT/np-spack \
- && git checkout snapshot-`echo $(spack --version) | cut -d- -f3` \
+ && git checkout v$(spack --version) \
  && cd - \
  && echo "DISABLED: rm -rf $SPACK_ROOT/np-spack/.git" \
  && echo "repos:" > $SPACK_ROOT/etc/spack/repos.yaml \
  && echo " - $SPACK_ROOT/np-spack" >> $SPACK_ROOT/etc/spack/repos.yaml
 
-## Setup our environment definition
-COPY spack.yaml /opt/spack-environment/spack.yaml
-
 ## Install the software, no garbage collection at this stage
 ## as this is a raw builder image
 RUN cd /opt/spack-environment \
@@ -61,7 +61,7 @@ RUN cd /opt/spack-environment && spack env activate . \
  #&& spack install \
  #&& spack clean -a
 
-## Strip the binaries
+## Strip the binaries/DISABLED for builder, do this for release step
 #RUN find -L /usr/local/* -type f -exec readlink -f '{}' \; | \
 #    xargs file -i | \
 #    grep 'charset=binary' | \
@@ -81,7 +81,7 @@ RUN cd /opt/spack-environment \
  && spack env activate . \
  && export PODIO=`spack find -p podio | grep software | awk '{print $2}'` \
  && echo "export PODIO=${PODIO};" >> /etc/profile.d/z10_spack_environment.sh \
- && echo "export BINARY_TAG=x86_64-linux-gcc9-opt" >> /etc/profile.d/z10_spack_environment.sh
+ && echo "export BINARY_TAG=x86_64-linux-gcc10-opt" >> /etc/profile.d/z10_spack_environment.sh
 
 ## make sure we have the entrypoints setup correctly
 ENTRYPOINT []
diff --git a/containers/builder/spack.yaml b/containers/builder/spack.yaml
index af27cfc779f657cf49caf76fb5aa42af545aa76d..0ed51310f6a429e9cc470c64d9ef0743205e5d32 100644
--- a/containers/builder/spack.yaml
+++ b/containers/builder/spack.yaml
@@ -1,29 +1,31 @@
 spack:
   specs:
-  - cmake@3.18.1
-  - fmt@6.1.2 cxxstd=17
-  - spdlog@1.5.0
-  - nlohmann-json
-  - heppdt@3.04.01
-  - clhep@2.4.1.3 cxxstd=17
-  - cairo+fc+ft+X+pdf+gobject
-  - eigen@3.3.7
-  - python@3.7.8
-  - py-pip
-  - py-numpy
-  - py-pyyaml
-  - xrootd@4.12.3 cxxstd=17 +python
-  - root@6.22.00 cxxstd=17 +fftw +fortran +gdml +http +mlp +pythia8 +root7 +tmva +vc
-    +xrootd +ssl ^mesa+opengl -llvm -osmesa
-  - pythia8@8244
-  - hepmc3@3.2.2 +python +rootio
-  - stow@2.2.2
-  - podio@master
-  - geant4@10.6.2 cxxstd=17 +opengl +vecgeom +x11 +qt ^qt +opengl
-  - dd4hep@1.14.1 +geant4 +assimp +hepmc3
-  - acts@1.02.0 +dd4hep +digitization +identification +json +tgeo
-  - gaudi@34.0
-  - dawn@3_91a
-  - dawncut@1_54a
+    - cmake@3.18.4
+    - fmt@7.1.2 cxxstd=17
+    - spdlog@1.5.0
+    - nlohmann-json@3.9.1
+    - heppdt@3.04.01
+    - clhep@2.4.1.3 cxxstd=17
+    - eigen@3.3.8
+    - python@3.8.6
+    - py-pip
+    - py-numpy
+    - py-pyyaml
+    - xrootd@4.12.3 cxxstd=17 +python
+    - root@6.22.00 cxxstd=17 
+          +fftw +fortran +gdml +http +mlp +pythia8 
+          +root7 +tmva +vc +xrootd +ssl ^mesa+opengl 
+          -llvm -osmesa
+    - pythia8@8303
+    - hepmc3@3.2.2 +python +rootio 
+    - stow@2.3.1
+    - cairo+fc+ft+X+pdf+gobject
+    - podio@master
+    - geant4@10.6.2 cxxstd=17 +opengl +vecgeom +x11 +qt ^qt +opengl
+    - dd4hep@1.14.1 +geant4 +assimp +hepmc3 +ipo
+    - acts@2.00.0 +dd4hep +digitization +identification +json +tgeo +ipo
+    - gaudi@35.0
+    - dawn@3_91a
+    - dawncut@1_54a
   concretization: together
   view: /usr/local
diff --git a/containers/release/Dockerfile.in b/containers/release/Dockerfile.in
index cb21cf8d47ba2b41760752d3ca1fe0bcb2de8cd2..2b3b8c5fe14995ed5af05bf62ca99a02c2326f5f 100644
--- a/containers/release/Dockerfile.in
+++ b/containers/release/Dockerfile.in
@@ -11,7 +11,7 @@ RUN find -L /usr/local/* -type f -exec readlink -f '{}' \; | \
     grep 'x-executable\|x-archive\|x-sharedlib' | \
     awk -F: '{print $1}' | xargs strip -s
 
-FROM eicweb.phy.anl.gov:4567/containers/image_recipes/debian_minimal:testing-20201012
+FROM eicweb.phy.anl.gov:4567/containers/image_recipes/debian_minimal:testing-20201117
 LABEL maintainer="Sylvester Joosten <sjoosten@anl.gov>" \
       name="eic" \
       group="eic" \
@@ -21,14 +21,12 @@ LABEL maintainer="Sylvester Joosten <sjoosten@anl.gov>" \
 
 ## @ENV@ will be automatically expanded to auto-load the 
 ## runtime environment
-ENV DOCKERFILE_DISTRO=ubuntu          \
-    DOCKERFILE_DISTRO_VERSION=20201012-testing   \
+ENV DOCKERFILE_DISTRO=debian          \
+    DOCKERFILE_DISTRO_VERSION=20201117-testing   \
     DEBIAN_FRONTEND=noninteractive    \
 @ENV@
 
-## TODO: move this to upstream, as we should have ssh available in
-## any dev container
-## poppler-utils for pdftoppm, is this is right now now supported by the
+## poppler-utils for pdftoppm, is this is right now not supported by the
 ## Spack version
 RUN apt-get -yqq update \
  && apt-get -yqq install --no-install-recommends \