diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5f9d7fe458fe147c016e989659ed1bb15fd517e2..f300085686c74b6940360cf841703afd2bab19c1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -135,21 +135,15 @@ unittest_py311:
     - python3 -c "import linkahead; print('LinkAhead Version:', linkahead.__version__)"
     - tox
 
-unittest_py38:
+unittest_py39:
   tags: [docker]
   stage: unittest
-  image: python:3.8
+  image: python:3.9
   script: &python_test_script
     - pip install --break-system-packages git+https://gitlab.indiscale.com/caosdb/src/caosdb-pylib.git@dev
     - pip install --break-system-packages .[all]
     - pytest --cov=caosadvancedtools unittests
 
-unittest_py39:
-  tags: [docker]
-  stage: unittest
-  image: python:3.9
-  script: *python_test_script
-
 unittest_py310:
   tags: [docker]
   stage: unittest
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 54606896fa5881dc628b62a00eb692e1e6b4469d..e5090e8922819f18776c577ba31fb4e05700e443 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -31,6 +31,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 - Labfolder converter. It was broken anyway, not used by anyone we know and there were no automated
   tests.  For the time being, it lives on in the `f-labfolder-converter` branch, [issue 67](https://gitlab.com/linkahead/linkahead-advanced-user-tools/-/issues/67) is
   there to coordinate resurrections efforts if someone needs it..
+- Support for Python 3.8
 
 ### Fixed ###
 
diff --git a/setup.py b/setup.py
index 732bbf6190ab788fb91ba8f41c496504ec80cbf7..c7dd54a96bcfd3d0e96a4f50fc4811610923a6fd 100755
--- a/setup.py
+++ b/setup.py
@@ -154,7 +154,7 @@ def setup_package():
         long_description_content_type="text/markdown",
         author='Henrik tom Wörden',
         author_email='h.tomwoerden@indiscale.com',
-        python_requires='>=3.8',
+        python_requires='>=3.9',
         install_requires=["linkahead>=0.13.1",
                           "jsonref",
                           "jsonschema[format]>=4.4.0",
diff --git a/src/caosadvancedtools/models/data_model.py b/src/caosadvancedtools/models/data_model.py
index beae2d78a4c0101e8e5b90da71c7449faba2e0b4..16f5702abf015aff62123e411e5eda5c4e14361a 100644
--- a/src/caosadvancedtools/models/data_model.py
+++ b/src/caosadvancedtools/models/data_model.py
@@ -23,11 +23,7 @@
 # ** end header
 #
 from copy import deepcopy
-# TODO(fspreck) for backwards compatibility with Python < 3.9 but this is
-# actually
-# [deprecated](https://docs.python.org/3/library/typing.html#typing.List), so
-# remove this, when we drop support for old Python versions.
-from typing import List, Optional
+from typing import Optional
 
 import linkahead as db
 import linkahead.common.models as models
@@ -85,7 +81,7 @@ class DataModel(dict):
     def append(self, entity: db.Entity):
         self[entity.name] = entity
 
-    def extend(self, entities: List[db.Entity]):
+    def extend(self, entities: list[db.Entity]):
         for entity in entities:
             self.append(entity)
 
diff --git a/tox.ini b/tox.ini
index 12c7ad50efc4642d290f30aa27b7cb48370db05b..786a10547668e7c3a66ad0cbc8eb9606253bd213 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
 [tox]
-envlist = py38, py39, py310, py311, py312, py313
+envlist = py39, py310, py311, py312, py313
 skip_missing_interpreters = true
 
 [testenv]