diff --git a/README.md b/README.md
index 2fff19366c4ab46450e6c02ada43812ff608129f..308b79c0818e043b04ecf1f2fb9d9d6fb6fb03e1 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
-[![badge doc](https://img.shields.io/badge/docs-latest-orange.svg)](https://www.idiap.ch/software/bob/docs/bob/bob.pipelines/master/sphinx/index.html)
-[![badge pipeline](https://gitlab.idiap.ch/bob/bob.pipelines/badges/master/pipeline.svg)](https://gitlab.idiap.ch/bob/bob.pipelines/commits/master)
-[![badge coverage](https://gitlab.idiap.ch/bob/bob.pipelines/badges/master/coverage.svg)](https://www.idiap.ch/software/bob/docs/bob/bob.pipelines/master/coverage)
+[![badge doc](https://img.shields.io/badge/docs-v4.0.0-orange.svg)](https://www.idiap.ch/software/bob/docs/bob/bob.pipelines/v4.0.0/sphinx/index.html)
+[![badge pipeline](https://gitlab.idiap.ch/bob/bob.pipelines/badges/v4.0.0/pipeline.svg)](https://gitlab.idiap.ch/bob/bob.pipelines/commits/v4.0.0)
+[![badge coverage](https://gitlab.idiap.ch/bob/bob.pipelines/badges/v4.0.0/coverage.svg)](https://www.idiap.ch/software/bob/docs/bob/bob.pipelines/v4.0.0/coverage)
 [![badge gitlab](https://img.shields.io/badge/gitlab-project-0000c0.svg)](https://gitlab.idiap.ch/bob/bob.pipelines)
 
 # Tools to build robust and extensible pipelines
diff --git a/pyproject.toml b/pyproject.toml
index acc5105f99049c8a0e285d0a3b9a6bd44a10cc09..caba5a265c6f396677b0ca244ca23378ba03fdff 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -4,7 +4,7 @@
 
 [project]
     name = "bob.pipelines"
-    version = "3.0.4b0"
+    version = "4.0.0"
     requires-python = ">=3.9"
     description = "Tools to build robust and extensible pipelines"
     dynamic = ["readme"]
@@ -26,21 +26,21 @@
         "Topic :: Software Development :: Libraries :: Python Modules",
     ]
     dependencies = [
-        "bob",
-        "bob.io.base",
-        "clapper",
-        "dask",
-        "dask-jobqueue",
-        "distributed",
-        "h5py",
-        "numpy",
-        "requests",
-        "scikit-learn",
-        "xarray",
+        "bob==12.0.0",
+        "bob.io.base==5.1.0",
+        "clapper==1.0.1",
+        "dask==2023.1.0",
+        "dask-jobqueue==0.8.1",
+        "distributed==2023.1.0",
+        "h5py==3.7.0",
+        "numpy==1.23.5",
+        "requests==2.28.2",
+        "scikit-learn==1.1.2",
+        "xarray==2022.12.0",
     ]
 
 [project.urls]
-    documentation = "https://www.idiap.ch/software/bob/docs/bob/bob.pipelines/master/sphinx/"
+    documentation = "https://www.idiap.ch/software/bob/docs/bob/bob.pipelines/v4.0.0/sphinx/"
     homepage = "https://pypi.org/project/bob.pipelines/"
     repository = "https://gitlab.idiap.ch/bob/bob.pipelines"
     changelog = "https://gitlab.idiap.ch/bob/bob.pipelines/-/releases"
@@ -48,19 +48,19 @@
 [project.optional-dependencies]
     qa = ["pre-commit"]
     doc = [
-        "sphinx",
-        "sphinx_rtd_theme",
-        "sphinx-autodoc-typehints",
-        "auto-intersphinx",
-        "sphinxcontrib-programoutput",
-        "matplotlib",
-        "dask-ml",
+        "sphinx==5.3.0",
+        "sphinx-rtd-theme==1.1.1",
+        "sphinx-autodoc-typehints==1.21.8",
+        "auto-intersphinx==1.0.2",
+        "sphinxcontrib-programoutput==0.17",
+        "matplotlib==3.6.2",
+        "dask-ml==2022.5.27",
         ]
     test = [
-        "pytest",
-        "pytest-cov",
-        "coverage",
-        "dask-ml",
+        "pytest==7.2.1",
+        "pytest-cov==4.0.0",
+        "coverage==7.0.5",
+        "dask-ml==2022.5.27",
         ]
 
 [tool.setuptools]
@@ -105,3 +105,7 @@
     ]
     junit_logging = "all"
     junit_log_passing_tests = false
+
+[profile]
+    repository_url = "git@gitlab.idiap.ch:bob/dev-profile.git"
+    commit_hash = "ade723be1f11feddb7bece235de32cc98953dc07"