diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index a432f4ae62aa6110f6e49e9dc11ec64c2c01d277..12aa6e5ba5c39f04ea6e4127d33bd997ec0ba69e 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -6,8 +6,8 @@ All notable changes to this project will be documented in this file.
 The format is based on `Keep a Changelog`_,
 and this project adheres to `Semantic Versioning`_.
 
-Unreleased
-----------
+`2.3.1`_ - 2022-07-24
+---------------------
 
 Added
 ~~~~~
@@ -195,3 +195,5 @@ Fixed
 .. _2.2: https://edugit.org/Teckids/AlekSIS/AlekSIS-App-CSVImport/-/tags/2.2
 .. _2.2.1: https://edugit.org/Teckids/AlekSIS/AlekSIS-App-CSVImport/-/tags/2.2.1
 .. _2.3: https://edugit.org/Teckids/AlekSIS/AlekSIS-App-CSVImport/-/tags/2.3
+.. _2.3.1: https://edugit.org/Teckids/AlekSIS/AlekSIS-App-CSVImport/-/tags/2.3.1
+
diff --git a/docs/conf.py b/docs/conf.py
index b94e857efec07a79af5bad0afd25061d8b77a12d..f83a9b10ce439745134bbe0a07da1afd82385961 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -31,7 +31,7 @@ author = "The AlekSIS Team"
 # The short X.Y version
 version = "2.3"
 # The full version, including alpha/beta/rc tags
-release = "2.3.1.dev0"
+release = "2.3.1"
 
 
 # -- General configuration ---------------------------------------------------
diff --git a/pyproject.toml b/pyproject.toml
index bbc3330383bb480488d494a55b0ed1d4236b4669..f04679738753b1f609908e381a84a7e67a062d0f 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
 [tool.poetry]
 name = "AlekSIS-App-CSVImport"
-version = "2.3.1.dev0"
+version = "2.3.1"
 packages = [
     { include = "aleksis" }
 ]