diff --git a/bob/devtools/bootstrap.py b/bob/devtools/bootstrap.py
index 6963d6a78b4e21c12f9a442dcae102e439bd77f8..e21cecda7a3d5216e3368e166fb50fa4bf0dec91 100644
--- a/bob/devtools/bootstrap.py
+++ b/bob/devtools/bootstrap.py
@@ -206,12 +206,12 @@ def ensure_miniconda_sh():
 
     # WARNING: if you update this version, remember to update hashes below
     # AND our "mirror" in the internal webserver
-    path = "/miniconda/Miniconda3-py37_4.8.2-%s-x86_64.sh"
+    path = "/miniconda/Miniconda3-py39_4.9.2-%s-x86_64.sh"
     if platform.system() == "Darwin":
-        md5sum = "e0320c20ea13d04407424ecf57b70eaf"
+        md5sum = "0658832393a50f5a578bcad825304886"
         path = path % "MacOSX"
     else:
-        md5sum = "87e77f097f6ebb5127c77662dfc3165e"
+        md5sum = "b4e46fcc8029e2cfa731b788f25b1d36"
         path = path % "Linux"
 
     if os.path.exists("miniconda.sh"):
diff --git a/conda/meta.yaml b/conda/meta.yaml
index 8d3b99cdd23e41934cc876e187df38e211df072c..e26c4474b63f182441dab10eea16d812fd0c9b80 100644
--- a/conda/meta.yaml
+++ b/conda/meta.yaml
@@ -42,7 +42,6 @@ requirements:
     - python-gitlab
     - requests
     - sphinx
-    - smmap <4
     - pyyaml >=5.1
     - twine <3
     - lxml
diff --git a/deps/docformatter/meta.yaml b/deps/docformatter/meta.yaml
index 02c8d25eaec14d6d4aa9d6fccf1b54dfa17285e7..6455771bb3673c7448676d7b45200d86bb2f7ccc 100644
--- a/deps/docformatter/meta.yaml
+++ b/deps/docformatter/meta.yaml
@@ -1,4 +1,4 @@
-{% set version = "1.3.1" %}
+{% set version = "1.4" %}
 
 package:
   name: docformatter
diff --git a/deps/python-gitlab/meta.yaml b/deps/python-gitlab/meta.yaml
index af639199f3530c4e561f4a2ea1cec120d583919e..55d83f1bcbba980f250844a8a9c4c1e1a9e500a3 100644
--- a/deps/python-gitlab/meta.yaml
+++ b/deps/python-gitlab/meta.yaml
@@ -1,5 +1,5 @@
 {% set name = "python-gitlab" %}
-{% set version = "2.2.0" %}
+{% set version = "2.6.0" %}
 
 package:
   name: {{ name|lower }}
@@ -7,7 +7,7 @@ package:
 
 source:
   url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz
-  sha256: 4c4ea60c8303f4214522b18038df017cae35afda7474efa0b4e19c2e73bc3ae2
+  sha256: a862c6874524ab585b725a17b2cd2950fc09d6d74205f40a11be2a4e8f2dcaa1
 
 build:
   number: 0
@@ -22,6 +22,7 @@ requirements:
   run:
     - python >=3.6.0
     - requests >=2.22.0
+    - requests-toolbelt >=0.9.1
 
 test:
   imports:
diff --git a/setup.py b/setup.py
index 88dbd8b674a3e8fb5ccb84fb1620920934771184..e0df79efa2ee51bda98ca9597bde53d223e6f1df 100644
--- a/setup.py
+++ b/setup.py
@@ -8,19 +8,28 @@ version = open("version.txt").read().rstrip()
 
 requires = [
     "setuptools",
+    "black >=19",
     "click>=7",
     "click-plugins",
+    "conda>=4",
+    "conda-build>=3",
+    "conda-verify>=3",
     "certifi",
+    "docformatter",
     "requests",
     "gitpython",
+    "graphviz",
     "python-gitlab",
     "sphinx",
     "pyyaml>=5.1",
-    "twine",
+    "python-dateutil",
+    "twine<3",
     "lxml",
     "jinja2",
+    "tabulate",
     "termcolor",
     "psutil",
+    "pytz",
 ]
 
 setup(