diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 792ab22f1524f8d4dc1db90f2b65c7f8f28f90ed..0430a4f6b5ac08d4ab38f00bff78b845e11fb97e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -54,18 +54,25 @@ pylint:
   allow_failure: true
 
 # run unit tests
-unittest_py3.8:
+unittest_py3.7:
   tags: [ docker ]
   stage: test
   needs: [ ]
-  image: python:3.8
+  image: python:3.7
   script: &python_test_script
     # Python docker has problems with tox and pip so use plain pytest here
     - touch ~/.pycaosdb.ini
-    - pip install nose pytest pytest-cov python-dateutil jsonschema==4.0.1
+    - pip install nose pytest pytest-cov python-dateutil jsonschema>=4.4.0
     - pip install .
     - python -m pytest unittests
 
+unittest_py3.8:
+  tags: [ docker ]
+  stage: test
+  needs: [ ]
+  image: python:3.8
+  script: *python_test_script
+
 # This needs to be changed once Python 3.9 isn't the standard Python in Debian
 # anymore.
 unittest_py3.9:
@@ -86,6 +93,13 @@ unittest_py3.10:
   image: python:3.10
   script: *python_test_script
 
+unittest_py3.11:
+  tags: [ docker ]
+  stage: test
+  needs: [ ]
+  image: python:3.11
+  script: *python_test_script
+
 # Trigger building of server image and integration tests
 trigger_build:
   stage: deploy
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 89a998e7b8b2e8997bdf333f83cda2463de4219a..e0363c4b7f755aef99f98bf353e8d103b01532af 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 * `apiutils.EntityMergeConflictError` class for unresesolvable merge conflicts
   when merging two entities
+* Re-introduced support for Python 3.7
 
 ### Changed ###
 
diff --git a/pytest.ini b/pytest.ini
deleted file mode 100644
index ca6aad829a3e0607292cf69b8b1d4b7f7758993e..0000000000000000000000000000000000000000
--- a/pytest.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[pytest]
-testpaths=unittests
-addopts=-x -vv --cov=caosdb
diff --git a/setup.py b/setup.py
index fca246ed7004a25e7eedc594a4e7eceb68ee295a..e5160cb18013d60c6a7dad20a022a341cdb24a5d 100755
--- a/setup.py
+++ b/setup.py
@@ -171,7 +171,7 @@ def setup_package():
             "Topic :: Scientific/Engineering :: Information Analysis",
         ],
         packages=find_packages('src'),
-        python_requires='>=3.8',
+        python_requires='>=3.7',
         package_dir={'': 'src'},
         install_requires=['lxml>=4.6.3',
                           "requests[socks]>=2.26",
diff --git a/tox.ini b/tox.ini
index 50c22d5716769ef2ec818f6c8fb94491ea372434..8212226eef2759c1864a86b8a3ad8f926480db4a 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
 [tox]
-envlist=py38, py39, py310
+envlist=py37, py38, py39, py310, py311
 skip_missing_interpreters = true
 
 [testenv]
@@ -7,8 +7,13 @@ deps = .
     nose
     pytest
     pytest-cov
-    jsonschema==4.0.1
+    jsonschema>=4.4.0
 commands=py.test --cov=caosdb -vv {posargs}
 
 [flake8]
 max-line-length=100
+
+[pytest]
+testpaths = unittests
+xfail_strict = True
+addopts = -x -vv --cov=caosdb