diff --git a/.circleci/config.yml b/.circleci/config.yml
index dbe9937594..03a78b042c 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -86,7 +86,7 @@ jobs:
           mkdir -p build
           export ENV=ci
           export PROXY_PORT=8080
-          export QUALITY_TIME_VERSION=v5.16.1-rc.0
+          export QUALITY_TIME_VERSION=v5.16.1
           export COMPOSE_PATH_SEPARATOR=':'
           export COMPOSE_FILE=docker/docker-compose.yml:docker/docker-compose.ci.yml
           docker compose build && docker compose up -d
diff --git a/.env b/.env
index 46680068e2..979b1cc7bc 100644
--- a/.env
+++ b/.env
@@ -1,4 +1,4 @@
 COMPOSE_PATH_SEPARATOR=:
 COMPOSE_FILE=docker/docker-compose.yml:docker/docker-compose.override.yml
 COMPOSE_PROJECT_NAME=quality-time
-QUALITY_TIME_VERSION=v5.16.1-rc.0
+QUALITY_TIME_VERSION=v5.16.1
diff --git a/.github/workflows/application-tests.yml b/.github/workflows/application-tests.yml
index 4e2072d07f..ee13f3686d 100644
--- a/.github/workflows/application-tests.yml
+++ b/.github/workflows/application-tests.yml
@@ -10,7 +10,7 @@ jobs:
       - uses: actions/checkout@v4.2.0
       - name: Run application tests
         env:
-          QUALITY_TIME_VERSION: v5.16.1-rc.0
+          QUALITY_TIME_VERSION: v5.16.1
           ENV: ci
           PROXY_PORT: 8080
         run: |
diff --git a/components/api_server/pyproject.toml b/components/api_server/pyproject.toml
index 859d9f5ba6..40d88035f6 100644
--- a/components/api_server/pyproject.toml
+++ b/components/api_server/pyproject.toml
@@ -1,6 +1,6 @@
 [project]
 name = "api-server"
-version = "5.16.1-rc.0"
+version = "5.16.1"
 requires-python = ">=3.12"
 classifiers = [
     "Programming Language :: Python :: 3 :: Only",
diff --git a/components/api_server/src/routes/server.py b/components/api_server/src/routes/server.py
index f825aa0ca9..cb130d1bda 100644
--- a/components/api_server/src/routes/server.py
+++ b/components/api_server/src/routes/server.py
@@ -3,7 +3,7 @@
 import bottle
 
 
-QUALITY_TIME_VERSION = "5.16.1-rc.0"
+QUALITY_TIME_VERSION = "5.16.1"
 
 
 @bottle.get("/api/v3/server", authentication_required=False)
diff --git a/components/collector/pyproject.toml b/components/collector/pyproject.toml
index 098b1383d8..a45b28c0ed 100644
--- a/components/collector/pyproject.toml
+++ b/components/collector/pyproject.toml
@@ -1,6 +1,6 @@
 [project]
 name = "collector"
-version = "5.16.1-rc.0"
+version = "5.16.1"
 requires-python = ">=3.12"
 classifiers = [
     "Programming Language :: Python :: 3 :: Only",
diff --git a/components/frontend/package.json b/components/frontend/package.json
index 5c0e3a7f83..db08bdc282 100644
--- a/components/frontend/package.json
+++ b/components/frontend/package.json
@@ -1,6 +1,6 @@
 {
     "name": "quality-time-app",
-    "version": "5.16.1-rc.0",
+    "version": "5.16.1",
     "private": true,
     "proxy": "http://127.0.0.1:5001",
     "dependencies": {
diff --git a/components/notifier/pyproject.toml b/components/notifier/pyproject.toml
index 76a71be436..6210004883 100644
--- a/components/notifier/pyproject.toml
+++ b/components/notifier/pyproject.toml
@@ -1,6 +1,6 @@
 [project]
 name = "notifier"
-version = "5.16.1-rc.0"
+version = "5.16.1"
 requires-python = ">=3.12"
 classifiers = [
     "Programming Language :: Python :: 3 :: Only",
diff --git a/components/renderer/package.json b/components/renderer/package.json
index 4d19f6e416..051e0f56fa 100644
--- a/components/renderer/package.json
+++ b/components/renderer/package.json
@@ -1,6 +1,6 @@
 {
     "name": "quality-time-renderer",
-    "version": "5.16.1-rc.0",
+    "version": "5.16.1",
     "private": true,
     "type": "module",
     "proxy": "http://localhost:9000",
diff --git a/components/shared_code/pyproject.toml b/components/shared_code/pyproject.toml
index 7bc0f801e8..43b9a664d2 100644
--- a/components/shared_code/pyproject.toml
+++ b/components/shared_code/pyproject.toml
@@ -1,6 +1,6 @@
 [project]
 name = "shared-code"
-version = "5.16.1-rc.0"
+version = "5.16.1"
 requires-python = ">=3.12"
 classifiers = [
     "Programming Language :: Python :: 3 :: Only",
diff --git a/docs/pyproject.toml b/docs/pyproject.toml
index af2326145b..75e59dc1d2 100644
--- a/docs/pyproject.toml
+++ b/docs/pyproject.toml
@@ -1,6 +1,6 @@
 [project]
 name = "docs"
-version = "5.16.1-rc.0"
+version = "5.16.1"
 requires-python = ">=3.12"
 classifiers = [
     "Programming Language :: Python :: 3 :: Only",
diff --git a/docs/src/changelog.md b/docs/src/changelog.md
index bee933e976..5bfea04b6f 100644
--- a/docs/src/changelog.md
+++ b/docs/src/changelog.md
@@ -8,7 +8,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 
 <!-- The line "## <square-bracket>Unreleased</square-bracket>" is replaced by the release/release.py script with the new release version and release date. -->
 
-## [Unreleased]
+## v5.16.1 - 2024-09-26
 
 ### Deployment notes
 
diff --git a/helm/Chart.yaml b/helm/Chart.yaml
index 1fcae0ca1f..301277c32a 100644
--- a/helm/Chart.yaml
+++ b/helm/Chart.yaml
@@ -1,8 +1,8 @@
 ---
 apiVersion: v2
 name: quality-time
-version: 5.16.1-rc.0
-appVersion: "v5.16.1-rc.0"
+version: 5.16.1
+appVersion: "v5.16.1"
 description: Helm chart for Quality-time, an automated quality system for software development and maintenance
 type: application
 home: https://github.com/ICTU/Quality-time
diff --git a/release/pyproject.toml b/release/pyproject.toml
index 8200be82e4..2831fb53cc 100644
--- a/release/pyproject.toml
+++ b/release/pyproject.toml
@@ -1,6 +1,6 @@
 [project]
 name = "release"
-version = "5.16.1-rc.0"
+version = "5.16.1"
 requires-python = ">=3.12"
 classifiers = [
     "Programming Language :: Python :: 3 :: Only",
@@ -49,7 +49,7 @@ indent = 4
 keep_full_version = true # Don't remove trailing zero's from version specifiers
 
 [tool.bumpversion]
-current_version = "5.16.1-rc.0"
+current_version = "5.16.1"
 parse = """(?x)
     (?P<major>0|[1-9]\\d*)\\.
     (?P<minor>0|[1-9]\\d*)\\.
diff --git a/sonar-project.properties b/sonar-project.properties
index bc7ae06edb..0fd8bb2e99 100644
--- a/sonar-project.properties
+++ b/sonar-project.properties
@@ -2,7 +2,7 @@
 sonar.organization=ictu
 sonar.projectKey=nl.ictu:quality-time
 sonar.projectName=Quality-time
-sonar.projectVersion=5.16.1-rc.0
+sonar.projectVersion=5.16.1
 
 # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
 # This property is optional if sonar.modules is set.
diff --git a/tests/application_tests/pyproject.toml b/tests/application_tests/pyproject.toml
index fcf3b57019..e1c65cb304 100644
--- a/tests/application_tests/pyproject.toml
+++ b/tests/application_tests/pyproject.toml
@@ -1,6 +1,6 @@
 [project]
 name = "application-tests"
-version = "5.16.1-rc.0"
+version = "5.16.1"
 requires-python = ">=3.12"
 classifiers = [
     "Programming Language :: Python :: 3 :: Only",
diff --git a/tests/feature_tests/pyproject.toml b/tests/feature_tests/pyproject.toml
index 1224e5f830..29eff0ce6b 100644
--- a/tests/feature_tests/pyproject.toml
+++ b/tests/feature_tests/pyproject.toml
@@ -1,6 +1,6 @@
 [project]
 name = "feature-tests"
-version = "5.16.1-rc.0"
+version = "5.16.1"
 requires-python = ">=3.12"
 classifiers = [
     "Programming Language :: Python :: 3 :: Only",