diff --git a/CUDA.md b/CUDA.md
index 4f16e67fce19aeb816462102b5879581b4dc16d5..cb174b54c07143419254e2d297109a869a7f56b2 100644
--- a/CUDA.md
+++ b/CUDA.md
@@ -88,7 +88,7 @@ cd base && docker build \
   --build-arg BASE_IMAGE=ubuntu \
   --build-arg BASE_IMAGE_TAG=22.04 \
   --build-arg BUILD_ON_IMAGE=glcr.b-data.ch/cuda/r/ver \
-  --build-arg R_VERSION=4.4.1 \
+  --build-arg R_VERSION=4.4.2 \
   --build-arg CUDA_IMAGE_FLAVOR=devel \
   -t jupyterlab/cuda/r/base \
   -f latest.Dockerfile .
@@ -224,7 +224,7 @@ docker run -it --rm \
 **What makes this project different:**
 
 1. Multi-arch: `linux/amd64`, `linux/arm64/v8`
-1. Derived from [`nvidia/cuda:12.6.2-devel-ubuntu22.04`](https://hub.docker.com/r/nvidia/cuda/tags?page=1&name=12.6.2-devel-ubuntu22.04)
+1. Derived from [`nvidia/cuda:12.8.0-devel-ubuntu22.04`](https://hub.docker.com/r/nvidia/cuda/tags?page=1&name=12.8.0-devel-ubuntu22.04)
     * including development libraries and headers
 1. TensortRT and TensorRT plugin libraries
     * including development libraries and headers
diff --git a/CUDA_VERSION_MATRIX.md b/CUDA_VERSION_MATRIX.md
index 7b40fd0004f4309385d4596f9985d9ad2f707a9f..ef52e17d9092be1c4d219bb2afa50cb89b20593c 100644
--- a/CUDA_VERSION_MATRIX.md
+++ b/CUDA_VERSION_MATRIX.md
@@ -6,6 +6,7 @@ Topmost entry = Tag `latest`
 
 | R     | Python  | SAGA[^1] | CUDA   | cuBLAS    | cuDNN     | NCCL   | TensorRT[^2]            | Linux distro |
 |:------|:--------|:---------|:-------|:----------|:----------|:-------|:------------------------|:-------------|
+| 4.4.2 | 3.12.9  | 7.3.0    | 12.8.0 | 12.8.3.14 | 8.9.7.29  | 2.25.1 | 10.8.0.43/<br>10.3.0.26 | Ubuntu 22.04 |
 | 4.4.1 | 3.12.7  | 7.3.0    | 12.6.2 | 12.6.3.3  | 8.9.7.29  | 2.23.4 | 10.6.0.26/<br>10.3.0.26 | Ubuntu 22.04 |
 | 4.4.0 | 3.12.4  | 7.3.0    | 12.5.0 | 12.5.2.13 | 8.9.7.29  | 2.21.5 | 10.0.1.6                | Ubuntu 22.04 |
 | 4.3.3 | 3.11.9  | 7.3.0    | 11.8.0 | 11.11.3.6 | 8.9.6.50  | 2.15.5 | 8.5.3[^3]               | Ubuntu 22.04 |
@@ -23,6 +24,7 @@ Topmost entry = Tag `latest`
 
 | Python | CUDA | PyTorch[^4]    | TensorFlow[^5]        |
 |:-------|:-----|:---------------|:----------------------|
+| 3.12   | 12.8 | version ≥ 2.2  | version ≥ 2.16        |
 | 3.12   | 12.6 | version ≥ 2.2  | version ≥ 2.16        |
 | 3.12   | 12.5 | version ≥ 2.2  | version ≥ 2.16        |
 | 3.11   | 11.8 | version ≥ 2.0  | 2.15 ≥ version > 2.12 |
@@ -38,6 +40,8 @@ given.
 
 | CUDA   | Linux driver version | Windows driver version[^6] |
 |:-------|:---------------------|:---------------------------|
+| 12.8.0 | ≥ 570.26             | ≥ 570.65                   |
+| 12.6.3 | ≥ 560.35.05          | ≥ 561.17                   |
 | 12.6.2 | ≥ 560.35.03          | ≥ 560.94                   |
 | 12.5.0 | ≥ 555.42.02          | ≥ 555.85                   |
 | 11.8.0 | ≥ 520.61.05          | ≥ 520.06                   |
@@ -53,6 +57,8 @@ Only works with
 
 | CUDA   | Driver version 535[^7] | Driver version 470[^8] |
 |:-------|:----------------------:|:----------------------:|
+| 12.8.0 | 🟢                      | 🔵                      |
+| 12.6.3 | 🟢                      | 🔵                      |
 | 12.6.2 | 🟢                      | 🔵                      |
 | 12.5.0 | 🟢                      | 🔵                      |
 | 11.8.0 | 🟡                      | 🟢                      |
diff --git a/NOTES.md b/NOTES.md
index 19e70a1c490e4dc0c03857f38e2ea5f3aa69b57c..8469e7043109b253eb6afce039b5b0c5940e60d7 100644
--- a/NOTES.md
+++ b/NOTES.md
@@ -45,7 +45,7 @@ The following startup hooks are put in place:
   * set environment variables in `$(R RHOME)/etc/Renviron.site`.
   * put inital RStudio settings in place.
   * create user's working folder.
-* [/usr/local/bin/before-notebook.d/70-qgis.sh](qgisprocess/scripts/usr/local/bin/before-notebook.d/70-qgis.sh) to
+* [/usr/local/bin/before-notebook.d/70-qgis.sh](qgisprocess/scripts/usr/local/bin/before-notebook.d/70-qgis.sh) (qgisprocess images) to
   * put inital QGIS settings in place.
   * copy plugin 'Processing Saga NextGen Provider'.
 * [/usr/local/bin/before-notebook.d/71-tensorboard.sh](base/scripts/usr/local/bin/before-notebook.d/71-tensorboard.sh)
@@ -172,6 +172,13 @@ are installed.
   * Application > Telemetry: Telemetry Level: off
   * Features > Terminal > Integrated: Font Family: MesloLGS NF
   * Workbench > Appearance > Color Theme: Default Dark+
+* [QGIS](qgisprocess/conf/user/var/backups/skel/.local/share/QGIS/QGIS3/profiles/default/QGIS/QGIS3.ini) (qgisprocess images):
+  * Append `/usr/lib/python3/dist-packages` to `PYTHONPATH`.  
+    :information_source: One distro refused to find the Python bindings to QGIS
+    (at `/usr/lib/python3/dist-packages/qgis`)... Kept for backwards
+    compatibility.
+  * Set UI Theme to 'Night Mapping'.
+  * Set OTB application folder and OTB folder.
 * Zsh
   * Oh My Zsh: `~/.zshrc`
     * Set PATH so it includes user's private bin if it exists
diff --git a/README.md b/README.md
index 14320c416f4e1f94fdcdffbfb04ded0cca80acee..5f79f2f7829778fed9d37919aa0aaeab9bcc2890 100644
--- a/README.md
+++ b/README.md
@@ -154,7 +154,7 @@ To install docker, follow the instructions for your platform:
 
 ```bash
 cd base && docker build \
-  --build-arg R_VERSION=4.4.1 \
+  --build-arg R_VERSION=4.4.2 \
   -t jupyterlab/r/base \
   -f latest.Dockerfile .
 ```
@@ -352,6 +352,8 @@ b-data tailors the JupyterLab images to your needs, e.g.
   services on the intranet.
 * Setting up the necessary environment variables so that everything works
   behind a corporate proxy server.
+* If supported by the NVIDIA GPU(s): Correctly handle CUDA forward compatibility
+  for GPU accelerated images.
 
 Additionally, the
 [JupyterHub](https://github.com/b-data/docker-deployment-jupyter) setup can be
diff --git a/VERSION_MATRIX.md b/VERSION_MATRIX.md
index 46e0b7907d6792fdc4b415d57c5894774f6c259d..bf56114c9c20948f2770929c9cd86e7fae23f3f9 100644
--- a/VERSION_MATRIX.md
+++ b/VERSION_MATRIX.md
@@ -8,6 +8,7 @@ Topmost entry = Tag `latest`
 
 | R     | Python  | Jupyter Hub | Jupyter Lab | code‑server (Code) | RStudio       | Neovim | Git    | Git LFS | Pandoc | CRAN date  | Linux distro |
 |:------|:--------|:------------|:------------|:-------------------|:--------------|:-------|:-------|:--------|:-------|:-----------|:-------------|
+| 4.4.2 | 3.12.9  | 5.2.1       | 4.3.5       | 4.97.2 (1.97.2)    | 2024.12.1+563 | 0.10.4 | 2.48.1 | 3.6.1   | 3.4    |            | Debian 12    |
 | 4.4.1 | 3.12.7  | 5.2.1       | 4.2.5       | 4.93.1 (1.93.1)    | 2024.09.0+375 | 0.10.2 | 2.47.0 | 3.5.1   | 3.2    | 2024‑10‑31 | Debian 12    |
 | 4.4.0 | 3.12.4  | 5.0.0       | 4.2.2       | 4.90.0 (1.90.0)    | 2024.04.2+764 | n/a    | 2.45.2 | 3.5.1   | 3.1.11 | 2024‑06‑14 | Debian 12    |
 | 4.3.3 | 3.11.9  | 4.1.5       | 4.1.6       | 4.23.0 (1.88.0)    | n/a           | n/a    | 2.44.0 | 3.5.1   | 3.1.11 | 2024‑04‑24 | Debian 12    |
@@ -23,6 +24,7 @@ Topmost entry = Tag `latest`
 
 | R     | CTAN date  | Quarto      |
 |:------|:-----------|:------------|
+| 4.4.2 |            | 1.6.42      |
 | 4.4.1 | 2024‑10‑31 | 1.5.57      |
 | 4.4.0 | 2024‑06‑14 | 1.4.555     |
 | 4.3.3 | 2024‑04‑24 | 1.4.553     |
@@ -38,6 +40,7 @@ Topmost entry = Tag `latest`
 
 | R     | QGIS   | SAGA  | OTB[^1] |
 |:------|:-------|:------|:--------|
+| 4.4.2 | 3.40.3 | 9.1.3 | 9.1.0   |
 | 4.4.1 | 3.40.0 | 9.1.3 | 9.1.0   |
 | 4.4.0 | 3.36.3 | 9.1.3 | 9.0.0   |
 | 4.3.3 | 3.36.2 | 9.1.3 | 9.0.0   |
diff --git a/base/.gitlab-ci.yml b/base/.gitlab-ci.yml
index a17e7fae06ecd47950ec4ad257dd0993ba531de3..531608a1e097421145d69a9e99d51ce03795660e 100644
--- a/base/.gitlab-ci.yml
+++ b/base/.gitlab-ci.yml
@@ -1,6 +1,7 @@
 .env:
   variables:
-    R_VERSION: "4.4.1"
+    R_VERSION: "4.4.2"
+    RSTUDIO_VERSION: "2024.12.1+563"
     TAG_VERSION_MAJ_MIN: "false"
     TAG_VERSION_MAJ: "false"
 
@@ -67,6 +68,7 @@ build:latest-linux-amd64:
       --build-arg BASE_IMAGE_TAG
       --build-arg BUILD_ON_IMAGE
       --build-arg R_VERSION
+      --build-arg RSTUDIO_VERSION
       --build-arg CUDA_IMAGE_FLAVOR
       --build-arg CUDA_IMAGE_LICENSE
       --build-arg NCPUS=$((`nproc`/2+1))
@@ -114,6 +116,7 @@ build:latest-linux-arm64v8:
       --build-arg BASE_IMAGE_TAG
       --build-arg BUILD_ON_IMAGE
       --build-arg R_VERSION
+      --build-arg RSTUDIO_VERSION
       --build-arg CUDA_IMAGE_FLAVOR
       --build-arg CUDA_IMAGE_LICENSE
       --build-arg NCPUS=$((`nproc`/2+1))
diff --git a/base/conf/jupyter/etc/jupyter/jupyter_server_config.py b/base/conf/jupyter/etc/jupyter/jupyter_server_config.py
index 5269c78f8a4d17a2df7249ef2a1e5925f18debab..6a5b9d43dcd912f6215ad6af52c5669bed82c730 100644
--- a/base/conf/jupyter/etc/jupyter/jupyter_server_config.py
+++ b/base/conf/jupyter/etc/jupyter/jupyter_server_config.py
@@ -10,8 +10,8 @@ from pathlib import Path
 from jupyter_core.paths import jupyter_data_dir
 
 c = get_config()  # noqa: F821 # type: ignore
-c.ServerApp.ip = "0.0.0.0"
-c.ServerApp.port = 8888
+# Listen on all interfaces (IPv4 and IPv6)
+c.ServerApp.ip = ""
 #c.ServerApp.open_browser = False
 
 # https://github.com/jupyter/notebook/issues/3130
diff --git a/base/latest.Dockerfile b/base/latest.Dockerfile
index f21c4a68ddc69ec51c93a7f0f1f89dab5bde29bf..a13d719146c7eb35267f256e4c0f09a4693d7f08 100644
--- a/base/latest.Dockerfile
+++ b/base/latest.Dockerfile
@@ -7,14 +7,14 @@ ARG CUDA_IMAGE_FLAVOR
 ARG NB_USER=jovyan
 ARG NB_UID=1000
 ARG JUPYTERHUB_VERSION=5.2.1
-ARG JUPYTERLAB_VERSION=4.2.5
+ARG JUPYTERLAB_VERSION=4.3.5
 ARG CODE_BUILTIN_EXTENSIONS_DIR=/opt/code-server/lib/vscode/extensions
-ARG CODE_SERVER_VERSION=4.93.1
-ARG RSTUDIO_VERSION=2024.09.0+375
-ARG NEOVIM_VERSION=0.10.2
-ARG GIT_VERSION=2.47.0
-ARG GIT_LFS_VERSION=3.5.1
-ARG PANDOC_VERSION=3.2
+ARG CODE_SERVER_VERSION=4.97.2
+ARG RSTUDIO_VERSION
+ARG NEOVIM_VERSION=0.10.4
+ARG GIT_VERSION=2.48.1
+ARG GIT_LFS_VERSION=3.6.1
+ARG PANDOC_VERSION=3.4
 
 FROM ${BUILD_ON_IMAGE}:${R_VERSION}${CUDA_IMAGE_FLAVOR:+-}${CUDA_IMAGE_FLAVOR} AS files
 
@@ -78,7 +78,18 @@ FROM glcr.b-data.ch/neovim/nvsi:${NEOVIM_VERSION} AS nvsi
 FROM glcr.b-data.ch/git/gsi/${GIT_VERSION}/${BASE_IMAGE}:${BASE_IMAGE_TAG} AS gsi
 FROM glcr.b-data.ch/git-lfs/glfsi:${GIT_LFS_VERSION} AS glfsi
 
-FROM ${BUILD_ON_IMAGE}:${R_VERSION}${CUDA_IMAGE_FLAVOR:+-}${CUDA_IMAGE_FLAVOR}
+FROM ${BUILD_ON_IMAGE}:${R_VERSION}${CUDA_IMAGE_FLAVOR:+-}${CUDA_IMAGE_FLAVOR} AS base
+
+FROM ${BUILD_ON_IMAGE}:${R_VERSION}${CUDA_IMAGE_FLAVOR:+-}${CUDA_IMAGE_FLAVOR} AS base-rstudio
+
+ARG RSTUDIO_VERSION
+
+ENV RSTUDIO_VERSION=${RSTUDIO_VERSION}
+
+## Connect to RStudio via unix socket
+ENV JUPYTER_RSESSION_PROXY_USE_SOCKET=1
+
+FROM base${RSTUDIO_VERSION:+-rstudio}
 
 ARG NCPUS=1
 
@@ -92,7 +103,6 @@ ARG JUPYTERHUB_VERSION
 ARG JUPYTERLAB_VERSION
 ARG CODE_BUILTIN_EXTENSIONS_DIR
 ARG CODE_SERVER_VERSION
-ARG RSTUDIO_VERSION
 ARG NEOVIM_VERSION
 ARG GIT_VERSION
 ARG GIT_LFS_VERSION
@@ -118,7 +128,6 @@ ENV PARENT_IMAGE=${BUILD_ON_IMAGE}:${R_VERSION}${CUDA_IMAGE_FLAVOR:+-}${CUDA_IMA
     JUPYTERHUB_VERSION=${JUPYTERHUB_VERSION} \
     JUPYTERLAB_VERSION=${JUPYTERLAB_VERSION} \
     CODE_SERVER_VERSION=${CODE_SERVER_VERSION} \
-    RSTUDIO_VERSION=${RSTUDIO_VERSION} \
     NEOVIM_VERSION=${NEOVIM_VERSION} \
     GIT_VERSION=${GIT_VERSION} \
     GIT_LFS_VERSION=${GIT_LFS_VERSION} \
@@ -410,6 +419,14 @@ RUN apt-get update \
       >> $(which radian)_; \
     echo "$(which radian) \"\${@}\"" >> $(which radian)_; \
   fi \
+  ## Install httpgd
+  ## Archived on 2025-02-14 as requires archived package 'unigd'.
+  && install2.r --error --skipinstalled -n $NCPUS \
+    unigd \
+    AsioHeaders \
+  && curl -sLO https://cran.r-project.org/src/contrib/Archive/httpgd/httpgd_2.0.2.tar.gz \
+  && R CMD INSTALL httpgd_2.0.2.tar.gz \
+  && rm httpgd_2.0.2.tar.gz \
   ## Install the R kernel for Jupyter, languageserver and httpgd
   && install2.r --error --deps TRUE --skipinstalled -n $NCPUS \
     IRkernel \
@@ -491,7 +508,10 @@ RUN sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master
 COPY --from=files /files /
 COPY --from=files /files/var/backups/skel ${HOME}
 
-EXPOSE 8888
+ARG JUPYTER_PORT=8888
+ENV JUPYTER_PORT=${JUPYTER_PORT}
+
+EXPOSE $JUPYTER_PORT
 
 ## Configure container startup
 ENTRYPOINT ["tini", "-g", "--", "start.sh"]
diff --git a/base/scripts/usr/local/bin/before-notebook.d/12-r.sh b/base/scripts/usr/local/bin/before-notebook.d/12-r.sh
index 0d6d1c6ab4b390962cd42cfe947231bac1340751..a11354a6749bf71aaaf2c2be484b00e4d00e8e04 100755
--- a/base/scripts/usr/local/bin/before-notebook.d/12-r.sh
+++ b/base/scripts/usr/local/bin/before-notebook.d/12-r.sh
@@ -5,6 +5,9 @@
 set -e
 
 if [ "$(id -u)" == 0 ] ; then
+  if [ "${NB_USER}" = "root" ] && [ "${NB_UID}" = "$(id -u "${NB_USER}")" ] && [ "${NB_GID}" = "$(id -g "${NB_USER}")" ]; then
+    HOME="/home/root"
+  fi
   # Create user's R package library
   RLU=$(run_user_group Rscript -e "cat(Sys.getenv('R_LIBS_USER'))")
   run_user_group mkdir -p "$RLU"
diff --git a/base/scripts/usr/local/bin/start-singleuser.sh b/base/scripts/usr/local/bin/start-singleuser.sh
index 8d5ad1d157461cce6380ce4bd68424dac488426e..3fd42bf9c2cfdeae67fc01a23a6a7731b4a4d44f 100755
--- a/base/scripts/usr/local/bin/start-singleuser.sh
+++ b/base/scripts/usr/local/bin/start-singleuser.sh
@@ -4,10 +4,7 @@
 
 set -e
 
-# set default ip to 0.0.0.0
-if [[ "${NOTEBOOK_ARGS} $*" != *"--ip="* ]]; then
-    NOTEBOOK_ARGS="--ip=0.0.0.0 ${NOTEBOOK_ARGS}"
-fi
+# JupyterHub singleuser arguments are set using environment variables
 
 echo "Executing: jupyterhub-singleuser" "${NOTEBOOK_ARGS}" "$@"
 # shellcheck disable=SC1091,SC2086
diff --git a/base/scripts/usr/local/bin/start.sh b/base/scripts/usr/local/bin/start.sh
index 4e3f0b4b9cc9145bcc997ae7621f24ec90b15fd1..7ecafe513c3f44e387cef4179d313e9eb2e9c7de 100755
--- a/base/scripts/usr/local/bin/start.sh
+++ b/base/scripts/usr/local/bin/start.sh
@@ -116,8 +116,8 @@ if [ "$(id -u)" == 0 ]; then
         userdel "${NB_USER}"
         useradd --no-log-init --home "/home/${NB_USER}${DOMAIN:+@$DOMAIN}" --shell "$(which zsh)" --uid "${NB_UID}" --gid "${NB_GID}" --groups 100 "${NB_USER}"
     else
-        # Otherwise, and if not the jovyan user, add it to the default group
-        if [[ "${NB_USER}" != "jovyan" ]]; then
+        # Otherwise, and if not jovyan or root, add it to the default group
+        if [[ "${NB_USER}" != "jovyan" && "${NB_USER}" != "root" ]]; then
             usermod -a -G 100 "${NB_USER}"
         fi
     fi
diff --git a/common/subtags/devtools/latest.Dockerfile b/common/subtags/devtools/latest.Dockerfile
index 26a19c6044e385c4beb794c509dfc6d6785cde59..c2716889fe43ea99babd2fb97721ab17e1fa40da 100644
--- a/common/subtags/devtools/latest.Dockerfile
+++ b/common/subtags/devtools/latest.Dockerfile
@@ -3,7 +3,7 @@ ARG BASE_IMAGE_TAG=12
 ARG BUILD_ON_IMAGE
 ARG R_VERSION
 
-ARG NODE_VERSION=20.18.0
+ARG NODE_VERSION=20.18.1
 ARG CODE_BUILTIN_EXTENSIONS_DIR=/opt/code-server/lib/vscode/extensions
 
 FROM glcr.b-data.ch/nodejs/nsi/${NODE_VERSION}/${BASE_IMAGE}:${BASE_IMAGE_TAG} AS nsi
diff --git a/geospatial/.gitlab-ci.yml b/geospatial/.gitlab-ci.yml
index 2729cfdb618fda6cf246cb4aad9110d8a83a75aa..e3a2aa30c28c4843ae7e3c90578a76d21b937254 100644
--- a/geospatial/.gitlab-ci.yml
+++ b/geospatial/.gitlab-ci.yml
@@ -1,6 +1,6 @@
 .env:
   variables:
-    R_VERSION: "4.4.1"
+    R_VERSION: "4.4.2"
     TAG_VERSION_MAJ_MIN: "false"
     TAG_VERSION_MAJ: "false"
 
diff --git a/qgisprocess/.gitlab-ci.yml b/qgisprocess/.gitlab-ci.yml
index 3bb7ca343beff57aed0f21bf760812c893d9d4a7..d73f90427bbbab4c2d1894886773849244feb9b9 100644
--- a/qgisprocess/.gitlab-ci.yml
+++ b/qgisprocess/.gitlab-ci.yml
@@ -1,7 +1,7 @@
 .env:
   variables:
-    R_VERSION: "4.4.1"
-    QGIS_VERSION: "3.40.0"
+    R_VERSION: "4.4.2"
+    QGIS_VERSION: "3.42.0"
     OTB_VERSION: "9.1.0"
     TAG_VERSION_MAJ_MIN: "false"
     TAG_VERSION_MAJ: "false"
diff --git a/qgisprocess/latest.Dockerfile b/qgisprocess/latest.Dockerfile
index 9e661e02f6490ef1c66f1e8dc3c957055a38f6bf..8a8f1f4e02c36b20cae16f0621e7920359e6d1a6 100644
--- a/qgisprocess/latest.Dockerfile
+++ b/qgisprocess/latest.Dockerfile
@@ -209,15 +209,6 @@ RUN apt-get update \
   && apt-get -y install --no-install-recommends python3-pip \
   && export PIP_BREAK_SYSTEM_PACKAGES=1 \
   && /usr/bin/pip install qgis-plugin-manager \
-  ## QGIS: Make sure qgis_mapserver and qgis_process find the qgis module
-  && cp -a $(which qgis_mapserver) $(which qgis_mapserver)_ \
-  && echo '#!/bin/bash' > $(which qgis_mapserver) \
-  && echo "PYTHONPATH=/usr/lib/python3/dist-packages $(which qgis_mapserver)_ \"\${@}\"" >> \
-    $(which qgis_mapserver) \
-  && cp -a $(which qgis_process) $(which qgis_process)_ \
-  && echo '#!/bin/bash' > $(which qgis_process) \
-  && echo "PYTHONPATH=/usr/lib/python3/dist-packages $(which qgis_process)_ \"\${@}\"" >> \
-    $(which qgis_process) \
   ## Install qgisprocess, the R interface to QGIS
   && install2.r --error --skipinstalled -n $NCPUS qgisprocess \
   ## Strip libraries of binary packages installed from P3M
diff --git a/tidyverse/.gitlab-ci.yml b/tidyverse/.gitlab-ci.yml
index a22c34acd7656787168fcc1551a7acf0c676823a..d4c053440621f6a5fde70e653d189fe44737672b 100644
--- a/tidyverse/.gitlab-ci.yml
+++ b/tidyverse/.gitlab-ci.yml
@@ -1,6 +1,6 @@
 .env:
   variables:
-    R_VERSION: "4.4.1"
+    R_VERSION: "4.4.2"
     TAG_VERSION_MAJ_MIN: "false"
     TAG_VERSION_MAJ: "false"
 
diff --git a/verse/.gitlab-ci.yml b/verse/.gitlab-ci.yml
index 2385b996518eb07900578afd60135865bcc36b8e..aa6685814578c07e39ff85532b2f01497cb80600 100644
--- a/verse/.gitlab-ci.yml
+++ b/verse/.gitlab-ci.yml
@@ -1,6 +1,6 @@
 .env:
   variables:
-    R_VERSION: "4.4.1"
+    R_VERSION: "4.4.2"
     CTAN_REPO_BUILD_LATEST: "https://mirror.init7.net/ctan/systems/texlive/tlnet"
     TAG_VERSION_MAJ_MIN: "false"
     TAG_VERSION_MAJ: "false"
diff --git a/verse/latest.Dockerfile b/verse/latest.Dockerfile
index 59347c55a2dbe3eac2d2fee0ee30fb193e850b27..897e86a90635fcdaf5a3f17ae330884483e7d439 100644
--- a/verse/latest.Dockerfile
+++ b/verse/latest.Dockerfile
@@ -1,7 +1,7 @@
 ARG BUILD_ON_IMAGE=glcr.b-data.ch/jupyterlab/r/tidyverse
 ARG R_VERSION
 ARG CODE_BUILTIN_EXTENSIONS_DIR=/opt/code-server/lib/vscode/extensions
-ARG QUARTO_VERSION=1.5.57
+ARG QUARTO_VERSION=1.6.42
 ARG CTAN_REPO=https://mirror.ctan.org/systems/texlive/tlnet
 
 FROM ${BUILD_ON_IMAGE}:${R_VERSION}
@@ -76,6 +76,9 @@ RUN dpkgArch="$(dpkg --print-architecture)" \
   && mkdir -p /opt/quarto \
   && tar -xzf quarto-${QUARTO_VERSION}-linux-${dpkgArch}.tar.gz -C /opt/quarto --no-same-owner --strip-components=1 \
   && rm quarto-${QUARTO_VERSION}-linux-${dpkgArch}.tar.gz \
+  ## Exempt quarto from address space limit
+  && sed -i 's/"${QUARTO_DENO}"/prlimit -v=unlimited: "${QUARTO_DENO}"/g' \
+    /opt/quarto/bin/quarto \
   ## Remove quarto pandoc
   && rm /opt/quarto/bin/tools/$(uname -m)/pandoc \
   ## Link to system pandoc
@@ -151,6 +154,7 @@ RUN dpkgArch="$(dpkg --print-architecture)" \
   ## and their dependencies (incl. python3)
   && apt-get -y autoremove \
   && apt-get -y install --no-install-recommends \
+    '^libmagick\+\+-6.q16-[0-9]+$' \
     imagemagick \
   ## Install code-server extensions
   && code-server --extensions-dir ${CODE_BUILTIN_EXTENSIONS_DIR} --install-extension quarto.quarto \