diff --git a/requirements.txt b/requirements.txt
index f409d9fa4cb574651214e8f455436d4298aef041..12ec2076b01b867c7e1c8c08ba7f8e07b9a1ad40 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,24 +1,22 @@
-alembic
-click
-jsonschema
-flask
-flask-cors
-psycopg2-binary
-cryptography
-SQLAlchemy
-openpyxl
-pytest
-pytest-mock
-python-dotenv
+alembic~=1.10
+click~=8.1
+jsonschema~=4.17
+flask~=2.2
+flask-cors~=3.0
+openpyxl~=3.1
+psycopg2-binary~=2.9
+SQLAlchemy~=2.0
 
-sphinx
-sphinx-rtd-theme
-sphinxcontrib-httpdomain
-tox
+pytest~=7.2
+pytest-mock~=3.10
+sphinx~=6.1
+sphinx-rtd-theme~=1.2
+sphinxcontrib-httpdomain~=1.8
+tox~=4.4
 
-mypy
-types-docutils
-types-jsonschema
-types-Flask-Cors
-types-openpyxl
-types-setuptools
+mypy~=1.2
+types-docutils~=0.19
+types-jsonschema~=4.17
+types-Flask-Cors~=3.0
+types-openpyxl~=3.1
+types-setuptools~=67.6
diff --git a/setup.py b/setup.py
index 8d6685d4fcd05e5a687ea52d4371b8f6c2b5175f..fe20d960d10ccdb4ed0892a46dc9c0ec8f77c0ec 100644
--- a/setup.py
+++ b/setup.py
@@ -10,15 +10,14 @@ setup(
     url='https://gitlab.geant.net/live-projects/compendium-v2',
     packages=find_packages(),
     install_requires=[
-        'jsonschema',
-        'flask',
-        'flask-cors',
-        'SQLAlchemy',
-        'alembic',
-        'psycopg2-binary',
-        'cryptography',
-        'openpyxl',
-        'click'
+        'alembic~=1.10',
+        'click~=8.1',
+        'jsonschema~=4.17',
+        'flask~=2.2',
+        'flask-cors~=3.0',
+        'openpyxl~=3.1',
+        'psycopg2-binary~=2.9',
+        'SQLAlchemy~=2.0',
     ],
     include_package_data=True,
 
diff --git a/tox.ini b/tox.ini
index 020e8315117ec2655ffc5adea8a165af29174859..69c398075cf8a4fc3c2c7bf0b157b18d33ea751e 100644
--- a/tox.ini
+++ b/tox.ini
@@ -18,7 +18,6 @@ commands =
     coverage html
     coverage report --fail-under 80
     flake8
-    # Disable mypy in tox until build server supports python 3.9
-    # mypy compendium_v2/**/*.py test/*.py
+    mypy compendium_v2/**/*.py test/*.py
     sphinx-build -M html docs/source docs/build
 
diff --git a/webapp/.eslintrc.json b/webapp/.eslintrc.json
index a650402f4d9feefefc4df71c6eae1f3f3dcd8cde..5378a5f95373ba29c74ce7f948a0857966e5532d 100644
--- a/webapp/.eslintrc.json
+++ b/webapp/.eslintrc.json
@@ -9,6 +9,7 @@
       "react-hooks"
     ],
     "extends": [
+      "eslint:recommended",
       "plugin:react/recommended",
       "plugin:@typescript-eslint/recommended"
     ],