diff --git a/packages/nest/nest-simulator-3.2-p1-VersionNumber.patch b/packages/nest/nest-simulator-3.2-p1-VersionNumber.patch
new file mode 100644
index 0000000000000000000000000000000000000000..9e0ed9500ff2ffecc26db4266c0297d5cef18c96
--- /dev/null
+++ b/packages/nest/nest-simulator-3.2-p1-VersionNumber.patch
@@ -0,0 +1,49 @@
+diff --git a/README.md b/README.md
+index 93a4727f2..c8be0e019 100644
+--- a/README.md
++++ b/README.md
+@@ -3,18 +3,18 @@
+ [![Documentation](https://img.shields.io/readthedocs/nest-simulator?logo=readthedocs&logo=Read%20the%20Docs&label=Documentation)](https://nest-simulator.org/documentation)
+ [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/2218/badge)](https://bestpractices.coreinfrastructure.org/projects/2218)
+ [![License](http://img.shields.io/:license-GPLv2+-green.svg)](http://www.gnu.org/licenses/gpl-2.0.html)
+-[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4739103.svg)](https://doi.org/10.5281/zenodo.4739103)
++[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5886894.svg)](https://doi.org/10.5281/zenodo.5886894)
+ 
+ [![Latest release](https://img.shields.io/github/release/nest/nest-simulator.svg?color=brightgreen&label=latest%20release)](https://github.com/nest/nest-simulator/releases)
+ [![GitHub contributors](https://img.shields.io/github/contributors/nest/nest-simulator?logo=github)](https://github.com/nest/nest-simulator)
+ [![GitHub commit activity](https://img.shields.io/github/commit-activity/y/nest/nest-simulator?logo=github&color=%23ff6633)](https://github.com/nest/nest-simulator)
+ 
+-[![Ubuntu version](https://img.shields.io/badge/ubuntu-v2.20.0%20(PPA)-blue?logo=debian)](https://nest-simulator.readthedocs.io/en/latest/installation/)
++[![Ubuntu version](https://img.shields.io/badge/ubuntu-(PPA)-blue?logo=debian)](https://nest-simulator.readthedocs.io/en/latest/installation/)
+ [![Fedora package](https://img.shields.io/fedora/v/nest?logo=fedora)](https://src.fedoraproject.org/rpms/nest)
+ [![Conda version](https://img.shields.io/conda/vn/conda-forge/nest-simulator.svg?logo=conda-forge&logoColor=white)](https://anaconda.org/conda-forge/nest-simulator)
+ [![Homebrew version](https://img.shields.io/homebrew/v/nest.svg?logo=apple)](https://formulae.brew.sh/formula/nest)
+-[![Docker Image Version](https://img.shields.io/docker/v/nestsim/nest/2.20.0?label=docker&logo=docker&logoColor=white)](https://hub.docker.com/r/nestsim/nest)
+-[![Virtual applicance](https://img.shields.io/badge/VM-v2.20.0-blue?logo=CodeSandbox)](https://nest-simulator.readthedocs.io/en/latest/download.html#download-livemedia)
++[![Docker Image Version](https://img.shields.io/docker/v/nestsim/nest?label=docker&sort=semver&logo=docker&logoColor=white)](https://hub.docker.com/r/nestsim/nest)
++[![Virtual applicance](https://img.shields.io/badge/VM-v3.1-blue?logo=CodeSandbox)](https://nest-simulator.readthedocs.io/en/latest/download.html#download-livemedia)
+ 
+ [![YouTube Video Views](https://img.shields.io/youtube/views/K7KXmIv6ROY?style=social)](https://www.youtube.com/results?search_query=nest-simulator+neurons)
+ [![Twitter Follow](https://img.shields.io/twitter/follow/nestsimulator?style=social)](https://twitter.com/nestsimulator)
+diff --git a/cmake/NestVersionInfo.cmake b/cmake/NestVersionInfo.cmake
+index 158cd49cf..5efd991e3 100644
+--- a/cmake/NestVersionInfo.cmake
++++ b/cmake/NestVersionInfo.cmake
+@@ -58,7 +58,7 @@ macro(get_version_info)
+     endif()
+ 
+     if (NOT NEST_VERSION_BRANCH)
+-        set(NEST_VERSION_BRANCH "UNKNOWN")
++        set(NEST_VERSION_BRANCH "3.2")
+     endif()
+ 
+     string(SUBSTRING "${NEST_VERSION_BRANCH}" 0 5 isRelease)
+diff --git a/doc/userdoc/release_notes/index.rst b/doc/userdoc/release_notes/index.rst
+index 5c7b46726..44560fe29 100644
+--- a/doc/userdoc/release_notes/index.rst
++++ b/doc/userdoc/release_notes/index.rst
+@@ -10,3 +10,4 @@ transition your simulation code to the new versions.
+ 
+ * :ref:`NEST 3.0 (June 10, 2021 ) <release_3.0>`
+ * :ref:`NEST 3.1 (September 15, 2021 ) <release_3.1>`
++* :ref:`NEST 3.2 (January 21, 2022 ) <release_3.2>`
diff --git a/packages/nest/package.py b/packages/nest/package.py
index eb23f6cbbc5713ed63e0df976b9a1e8a78d92105..b5b65dfd3a5e01f17437f315686fc23afd68079f 100644
--- a/packages/nest/package.py
+++ b/packages/nest/package.py
@@ -14,12 +14,21 @@ class Nest(CMakePackage):
 
     homepage = "http://www.nest-simulator.org"
     urls     = [
-        'https://github.com/nest/nest-simulator/releases/download/v2.12.0/nest-2.12.0.tar.gz',
-        'https://github.com/nest/nest-simulator/archive/v3.0.tar.gz',
+        #
+        # note: for early nest releases the refs/tags/xxx.tar.gz is different
+        # from download/v2.x.y/...tar.gz! The download one already had the
+        # `make dist` boot-strapping done.
+        #
+        #'https://github.com/nest/nest-simulator/releases/download/v2.12.0/nest-2.12.0.tar.gz',
+        'https://github.com/nest/nest-simulator/archive/refs/tags/v2.12.0.tar.gz',
+
+        'https://github.com/nest/nest-simulator/archive/refs/tags/v3.0.tar.gz'
     ]
     git      = "https://github.com/nest/nest-simulator.git"
 
     version('master', branch='master')
+    version('3.2',    sha256='583d5725882ad5e8fd4fc7ffab425da97cbbb91fadbc327e940c184e8892b958')
+    patch('nest-simulator-3.2-p1-VersionNumber.patch', when='@3.2')
     version('3.1',    sha256='5c11dd6b451c4c6bf93037bf29d5231c6c75a0e1a8863344f6fb9bb225f279ca')
     version('3.0',    sha256='d481ea67f3251fe3aadf5252ab0a999172f0cd5536c5985366d271d772e686e6')
     patch('2021-07-17_fix-pyexecdir.patch', when='@3.0')
@@ -50,6 +59,8 @@ class Nest(CMakePackage):
             description="Enable GNU Scientific Library")
     variant('shared',   default=True,
             description="Build shared libraries")
+    variant('boost',    default=True,
+            description="Enable optimizations provided via Boost library algorithms and containers")
     # TODO add variants for neurosim and music when these are in spack
 
     conflicts('~gsl', when='@:2.10.99',
@@ -68,6 +79,7 @@ class Nest(CMakePackage):
     depends_on('py-cython@0.19.2:', when='+python', type='build')
     depends_on('py-nose',           when='+python', type='test')
     depends_on('py-setuptools',     when='+python', type='build')
+    depends_on('boost',             when="@2.16:+boost", type='build')
     depends_on('py-setuptools@:44.99.99',     when='@:2.15.99+python', type='build')
 
     depends_on('mpi', when='+mpi')
@@ -121,10 +133,11 @@ class Nest(CMakePackage):
     def cmake_args(self):
         args = []
 
-        if '+mpi' in self.spec:
-            args.append('-Dwith-mpi=ON')
-        else:
-            args.append('-Dwith-mpi=OFF')
+        for flag in "boost mpi openmp optimize".split():
+            if '+' + flag in self.spec:
+                args.append('-Dwith-'+flag+'=ON')
+            else:
+                args.append('-Dwith-'+flag+'=OFF')
 
         if '+gsl' in self.spec:
             args.append('-Dwith-gsl=' + self.spec['gsl'].prefix)
@@ -140,16 +153,6 @@ class Nest(CMakePackage):
                 args.append('-Dwith-python=OFF')
                 args.append('-Dcythonize-pynest=OFF')
 
-        if '+optimize' in self.spec:
-            args.append('-Dwith-optimize=ON')
-        else:
-            args.append('-Dwith-optimize=OFF')
-
-        if '+openmp' in self.spec:
-            args.append('-Dwith-openmp=ON')
-        else:
-            args.append('-Dwith-openmp=OFF')
-
         if '+shared' in self.spec:
             args.append('-Dstatic-libraries=OFF')
         else: