diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8478e364f660f5bc2291d77d6540627a6f8c471d..9ec1727db301affd8e984df78abbb78a2b16ffaa 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -146,6 +146,31 @@ unittest_py3.11:
   stage: test
   image: python:3.11
   script: *python_test_script
+
+unittest_py3.12:
+  tags: [cached-dind]
+  stage: test
+  image: python:3.12
+  script: *python_test_script
+
+unittest_py3.13:
+  allow_failure: true
+  tags: [cached-dind]
+  stage: test
+  image: python:3.13-rc
+  script:
+    # TODO: Replace by '*python_test_script' as soon as 3.13 has been officially released.
+    - apt update && apt install -y cargo
+    # install dependencies
+    - pip install pytest pytest-cov
+    # TODO: Use f-branch logic here
+    - pip install git+https://gitlab.indiscale.com/caosdb/src/caosdb-pylib.git@dev
+    - pip install git+https://gitlab.indiscale.com/caosdb/src/caosdb-advanced-user-tools.git@dev
+    - pip install .[h5-crawler]
+    # actual test
+    - caosdb-crawler --help
+    - pytest --cov=caosdb -vv ./unittests
+
   
 inttest:
   tags: [docker]
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f285d046b1771b8c882ce5cf4fdc196cc3724265..49b2e2c7519894f8922ab7947ad5002979638ce7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 ### Added ###
 
+* Support for Python 3.12 and experimental support for 3.13
+
 ### Changed ###
 
 ### Deprecated ###
diff --git a/tox.ini b/tox.ini
index e8d97e5afec22360eb0907491a5273f74e85a785..e587774323171dda590c4e9198e049c1ed0e0e14 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
 [tox]
-envlist = py38, py39, py310, py311
+envlist = py38, py39, py310, py311, py312, py313
 skip_missing_interpreters = true
 
 [testenv]