diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 71396778ddadc91ab25156c9a57bf15a01a66d10..f1fed1f15520600d979d9f4f01da89aad7e7c3cf 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -6,24 +6,11 @@ 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`_.
 
-`4.0.0.dev10`_ - 2024-12-23
----------------------------
-
-Added
-~~~~~
-
-* Calendar alarms and notifications on creating, changing and deleting lesson substitutions.
-
-`4.0.0.dev9`_ - 2024-12-08
---------------------------
-
-Added
-~~~~~
-
-* Substitution planning interface based on teacher absences.
+`4.0.0`_ - 2025-04-13
+---------------------
 
-`4.0.0.dev8`_ - 2024-10-17
---------------------------
+This version requires AlekSIS-Core 4.0. It is incompatible with any previous
+version.
 
 Upgrade notice
 ~~~~~~~~~~~~~~
@@ -36,14 +23,16 @@ Added
 ~~~~~
 
 * New timetable interface based on calendar system.
-* Dialog for fast changing lessons and creating substitutions in the calendar. 
+* Dialog for fast changing lessons and creating substitutions in the calendar.
+* Substitution planning interface based on teacher absences.
+* Calendar alarms and notifications on creating, changing and deleting lesson substitutions.
 * [Dev] LessonEvent and SupervisionEvent basing on calendar system.
 
 Changed
 ~~~~~~~
 
 * Substitution table was updated to new frontend.
-* Substitution PDF was updated to new timetable interface and 
+* Substitution PDF was updated to new timetable interface and
   therefore has a slightly different look.
 
 Removed
@@ -103,7 +92,7 @@ Fixed
 * The daily lessons page did not work correctly due to faulty pre-filtering of lessons.
 * Substitution form teacher selections also included students in some cases
 * Getting the max and min periods for events failed due to using always the current school term.
-  Typically, that caused problems when the schedule changed (more or less periods on a day). 
+  Typically, that caused problems when the schedule changed (more or less periods on a day).
 
 `2.5`_ - 2022-11-12
 -------------------
@@ -447,6 +436,4 @@ Fixed
 .. _3.0: https://edugit.org/AlekSIS/Official/AlekSIS-App-Chronos/-/tags/3.0
 .. _3.0.1: https://edugit.org/AlekSIS/Official/AlekSIS-App-Chronos/-/tags/3.0.1
 .. _3.0.2: https://edugit.org/AlekSIS/Official/AlekSIS-App-Chronos/-/tags/3.0.2
-.. _4.0.0.dev8: https://edugit.org/AlekSIS/Official/AlekSIS-App-Chronos/-/tags/4.0.0.dev8
-.. _4.0.0.dev9: https://edugit.org/AlekSIS/Official/AlekSIS-App-Chronos/-/tags/4.0.0.dev9
-.. _4.0.0.dev10: https://edugit.org/AlekSIS/Official/AlekSIS-App-Chronos/-/tags/4.0.0.dev10
+.. _4.0.0: https://edugit.org/AlekSIS/Official/AlekSIS-App-Chronos/-/tags/4.0.0
diff --git a/docs/conf.py b/docs/conf.py
index 019586d7d6674aac00e67f8fd079925ec2e29aa1..883d01e362595f0b5b80dc68d8cf18928ba9cd98 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -29,9 +29,9 @@ copyright = "2018-2022 The AlekSIS team"
 author = "The AlekSIS Team"
 
 # The short X.Y version
-version = "3.0"
+version = "4.0"
 # The full version, including alpha/beta/rc tags
-release = "3.0.3.dev0"
+release = "4.0.0"
 
 
 # -- General configuration ---------------------------------------------------