diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fe4d4446e760b1ef6a270759725ffa6ba2cd7c5e..d44efe516fb40c073fe4e18d7ae6baa00460c1f8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,4 +1,4 @@
-image: python:3.9
+image: python:3.11
 
 services:
   - mysql
diff --git a/INSTALL.md b/INSTALL.md
index c887af92dba1d2661b5b53ef9a17041d2c1a730d..cbf8ea28d4a6954f7d359b7dd678df2709d7864a 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -10,7 +10,7 @@ setup.
 
 ### System Requirements
 
-* Python 3.8+ incl. development tools
+* Python3.11+ incl. development tools
 * Virtualenv
 * pdflatex & beamer
   class (`texlive-latex-base texlive-latex-recommended texlive-latex-extra texlive-fonts-extra texlive-luatex`)
diff --git a/Utils/setup.sh b/Utils/setup.sh
index 1c951824905e99e4650f40a562b633b92d7b8b02..1123bbd8ae707b4b15d2aef6ec33a0ec68a1e2e9 100755
--- a/Utils/setup.sh
+++ b/Utils/setup.sh
@@ -10,7 +10,7 @@ rm -rf venv/
 
 # Setup Python Environment
 # Requires: Virtualenv, appropriate Python installation
-virtualenv venv -p python3.9
+virtualenv venv -p python3.11
 source venv/bin/activate
 pip install --upgrade setuptools pip wheel
 pip install -r requirements.txt
diff --git a/Utils/test.sh b/Utils/test.sh
new file mode 100644
index 0000000000000000000000000000000000000000..74fe4928452be87e22f465365a30b5c00716dc05
--- /dev/null
+++ b/Utils/test.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env bash
+# Test the AKPlanning setup
+# execute as Utils/test.sh
+
+# activate virtualenv when necessary
+if [ -z ${VIRTUAL_ENV+x} ]; then
+    source venv/bin/activate
+fi
+
+# enable really all warnings, some of them are silenced by default
+if [[ "$@" == *"--all"* ]]; then
+    export PYTHONWARNINGS=all
+fi
+
+# in case of testing production setup
+if [[ "$@" == *"--prod"* ]]; then
+    export DJANGO_SETTINGS_MODULE=AKPlanning.settings_production
+    ./manage.py test --deploy
+fi
+
+./manage.py test
diff --git a/requirements.txt b/requirements.txt
index 451feef4db2ee295a38687bc0f96ff1dee637418..915d24967316726b974d9171eb5354110f8d741a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,20 +1,20 @@
-Django==4.2.13
+Django==4.2.19
 django-bootstrap5==24.2
 fontawesomefree==6.5.1 # Makes static files (css, fonts) available locally
 django-fontawesome-6==1.0.0.0 # Provides an icon field for models and forms as well as handy shortcuts to render icons
-django-split-settings==1.3.1
-django-timezone-field==6.1.0
-djangorestframework==3.15.1
-django-simple-history==3.5.0
+django-split-settings==1.3.2
+django-timezone-field==7.1
+djangorestframework==3.15.2
+django-simple-history==3.8.0
 django-registration-redux==2.13
-django-debug-toolbar==4.3.0
+django-debug-toolbar==4.4.6
 django-bootstrap-datepicker-plus==5.0.5
 django-tex==1.1.10
 django-csp==3.8
-django-compressor==4.4
+django-compressor==4.5.1
 django-libsass==0.9
 django-betterforms==2.0.0
-mysqlclient==2.2.0  # for production deployment
+mysqlclient==2.2.7  # for production deployment
 tzdata==2024.1
 
 # Documentation