diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 51d8f668a6f603acb59c1097ac78b5860c2f9eb9..e43223568252b2e7a1504610692fe20dc9d78348 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -121,10 +121,10 @@ unittest_py3.11:
     - python3 -c "import sys; assert sys.version.startswith('3.11')"
     - tox
 
-unittest_py3.8:
+unittest_py3.9:
   tags: [cached-dind]
   stage: test
-  image: python:3.8
+  image: python:3.9
   script: &python_test_script
     # install dependencies
     - pip install pytest pytest-cov
@@ -136,12 +136,6 @@ unittest_py3.8:
     - caosdb-crawler --help
     - pytest --cov=caosdb -vv ./unittests
 
-unittest_py3.9:
-  tags: [cached-dind]
-  stage: test
-  image: python:3.9
-  script: *python_test_script
-
 unittest_py3.10:
   tags: [cached-dind]
   stage: test
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2a55b93df10562f8726d366a5cb5d41ef54a7f9e..375418ba8029fa15862025013548565d76d401a2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -44,6 +44,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 ### Removed ###
 
+* Support for Python 3.8 (end of life)
+
 ### Fixed ###
 
 - Added better error message for some cases of broken converter and
diff --git a/setup.cfg b/setup.cfg
index bb222d40a9153583d3f181a11e2f5e1b45a24b75..4e2056bdb23da2ba734a1aeda60cfc5e6a6f3e64 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -17,7 +17,7 @@ classifiers =
 package_dir =
             = src
 packages = find:
-python_requires = >=3.8
+python_requires = >=3.9
 install_requires =
     caosadvancedtools >= 0.7.0
     importlib-resources