diff --git a/.github/workflows/ciwheel.yml b/.github/workflows/ciwheel.yml
index 567882b8e51b902dad4f0322840a4cfc5f8ae654..a7ea966679db3023e773015de1f3ff8c2b8f1391 100644
--- a/.github/workflows/ciwheel.yml
+++ b/.github/workflows/ciwheel.yml
@@ -67,8 +67,6 @@ jobs:
     runs-on: ubuntu-latest
 
     steps:
-      - name: Set up Python
-        uses: actions/setup-python@v2
       - name: Get packages
         run: python3 -m pip install build
       - name: Get Arbor
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 21ab7e3b61eb740b79b3d87fb1c6a486c5015148..d10fe4b76df1446057d3f5c575525e29f4cc5daa 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -12,9 +12,9 @@ jobs:
       fail-fast: false
     steps:
       - name: Set up Python
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v4
         with:
-          python-version: 3.6
+          python-version: 3.7
       - name: Get packages
         run: |
           python -m pip install --upgrade pip
diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml
index 2825d16a5b4e19b623506786d5eabff15414c390..64b8dedfcb2a5070eb394a9339f8a0f70ae51175 100644
--- a/.github/workflows/spack.yml
+++ b/.github/workflows/spack.yml
@@ -23,8 +23,8 @@ jobs:
         uses: actions/cache@v2
         with:
           path: ~/.spack-cache
-          key: cache-${{ github.sha }}
-          restore-keys: cache-
+          key: arbor-cache-${{ github.run_id }}
+          restore-keys: arbor-cache-
 
       - name: Build Arbor's Spack package against the develop branch
         run: arbor/scripts/build_spack_package.sh arbor develop
diff --git a/.github/workflows/test-everything.yml b/.github/workflows/test-everything.yml
index 21c7d6063595642257c237ba0793ab839cabb300..e34bff1f3b34eebf0448113029b0154e1ea66ef3 100644
--- a/.github/workflows/test-everything.yml
+++ b/.github/workflows/test-everything.yml
@@ -35,7 +35,7 @@ jobs:
           }
         - {
             name:  "MacOS Min",
-            os:    "macos-10.15",
+            os:    "macos-11",
             cc:    "clang",
             cxx:   "clang++",
             py:    "3.7",
@@ -45,9 +45,9 @@ jobs:
           }
         - {
             name:  "Linux Max GCC",
-            os:    "ubuntu-20.04",
-            cc:    "gcc-10",
-            cxx:   "g++-10",
+            os:    "ubuntu-22.04",
+            cc:    "gcc-11",
+            cxx:   "g++-11",
             py:    "3.10",
             cmake: "3.22.x",
             mpi:   "ON",
@@ -55,9 +55,9 @@ jobs:
           }
         - {
             name:  "Linux SIMD",
-            os:    "ubuntu-20.04",
-            cc:    "gcc-10",
-            cxx:   "g++-10",
+            os:    "ubuntu-22.04",
+            cc:    "gcc-11",
+            cxx:   "g++-11",
             py:    "3.10",
             cmake: "3.22.x",
             mpi:   "OFF",
@@ -65,9 +65,9 @@ jobs:
           }
         - {
             name:  "Linux Max Clang",
-            os:    "ubuntu-20.04",
-            cc:    "clang-10",
-            cxx:   "clang++-10",
+            os:    "ubuntu-22.04",
+            cc:    "clang-14",
+            cxx:   "clang++-14",
             py:    "3.10",
             cmake: "3.22.x",
             mpi:   "ON",
@@ -75,7 +75,7 @@ jobs:
           }
         - {
             name:  "MacOS Max",
-            os:    "macos-11",
+            os:    "macos-12",
             cc:    "clang",
             cxx:   "clang++",
             py:    "3.10",
@@ -93,11 +93,16 @@ jobs:
         # See https://github.com/open-mpi/ompi/issues/6518
         OMPI_MCA_btl: "self,tcp"
     steps:
-      - name: "Linux: get clang/gcc 8, libxml2"
+      - name: "Linux: get libxml2"
         if: ${{ startsWith(matrix.config.os, 'ubuntu') }}
         run: |
           sudo apt-get update
-          sudo apt-get install -y "clang-8" "lldb-8" "lld-8" "clang-format-8" g++-8 libxml2-dev
+          sudo apt-get install -y libxml2-dev
+      - name: "Linux-Min: get clang/gcc 8"
+        if: ${{ startsWith(matrix.config.os, 'ubuntu-18') }}
+        run: |
+          sudo apt-get update
+          sudo apt-get install -y "clang-8" "lldb-8" "lld-8" "clang-format-8" g++-8
       - name: "MacOS: get libxml2"
         if: ${{ startsWith(matrix.config.os, 'macos') }}
         run: |
@@ -107,7 +112,7 @@ jobs:
         with:
           cmake-version: ${{ matrix.config.cmake }}
       - name: Set up Python
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v4
         with:
           python-version: ${{ matrix.config.py }}
       - name: Update pip
diff --git a/doc/ecosystem/index.rst b/doc/ecosystem/index.rst
index bf8a7769631ba18e0191fdf3ae5bd9e18fb5ae33..2ad07ee41769772e80d983016afcd39062b59040 100644
--- a/doc/ecosystem/index.rst
+++ b/doc/ecosystem/index.rst
@@ -38,6 +38,8 @@ nmlcc
 Wider ecosystem
 ---------------
 
+A list of tools in the computational neuroscience ecosystem is being maintained at `compneuroweb <https://compneuroweb.com/sftwr.html>`_. We've made a slightly more hierarchical overview of some of the simulators below, as well as an overview of some commonly used frameworks.
+
 Simulators
 ~~~~~~~~~~