From 81c4b554cf143ae1f2e036b6b6cfdbe7d1087cd3 Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Wed, 16 Apr 2025 19:20:49 +0200
Subject: [PATCH] Bump version to 4.0.0

---
 CHANGELOG.rst  | 81 +++++++++++++-------------------------------------
 docs/conf.py   |  2 +-
 pyproject.toml |  2 +-
 3 files changed, 22 insertions(+), 63 deletions(-)

diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index ce054cb93..a58830667 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -6,8 +6,20 @@ 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
-----------
+`4.0.0`_ - 2025-04-16
+---------------------
+
+Notable, breaking changes
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This version requires AlekSIS-Core 4.0. It is incompatible with any previous
+version.
+
+Alsijil got a entire rewrite of both its frontend and backend.
+The models formerly used for lesson documentation, notably
+``LessonDocumentation`` and ``PersonalNote`` are replaced by new ones based on the calendar framework
+provided by ``AlekSIS-Core`` and the absense framework provided by ``AlekSIS-App-Kolego``. The legacy
+views providing management functionality for those legacy models are not available anymore.
 
 Upgrade notice
 ~~~~~~~~~~~~~~
@@ -19,67 +31,19 @@ includes parts of the legacy Chronos and the migration path.
 Added
 ~~~~~
 
-* Printout with person overview including all statistics.
-
-`4.0.0.dev9`_ - 2024-12-07
---------------------------
-
-Added
-~~~~~
-
-* Configurable PDF export of the coursebook for one or more groups.
-
-`4.0.0.dev8`_ - 2024-11-15
---------------------------
-
-Added
-~~~~~
-
 * Widgets on person and group pages with detailed coursebook statistics
   and including all participations/personal notes.
-
-`4.0.0.dev3`_ - 2024-07-10
---------------------------
-
-Added
-~~~~~
-
-* Support for entering personal notes for students in the new coursebook interface.
-* Support for entering tardiness for students in the new coursebook interface.
-
-`4.0.0.dev2`_ - 2024-07-13
---------------------------
-
-Fixed version of 4.0.0.dev1
-
-`4.0.0.dev1`_ - 2024-06-13
---------------------------
-
-Added
-~~~~~
-
-* Support for entering absences for students in the new coursebook interface.
-
-`4.0.0.dev0`_ - 2024-04-23
---------------------------
-
-Notable, breaking changes
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Starting from the class register core functionality, Alsijil is getting a entire rewrite
-of both its frontend and backend. The models formerly used for lesson documentation, notably
-`LessonDocumentation` and `PersonalNote` are replaced by new ones based on the calendar framework
-provided by `AlekSIS-Core` and the absense framework provided by `AlekSIS-App-Kolego`. The legacy
-views providing management functionality for those legacy models are not available anymore.
+* Configurable PDF export of the coursebook for one or more groups.
+* Printout with person overview including all statistics.
 
 Changed
 ~~~~~~~
 
 * Modern rewrite of class register/coursebook, both in the frontend and the backend
   * Several legacy class register views were consolidated in a modern frontend (coursebook).
-  * [Dev] The `LessonDocumentation` model is replaced with the `Documentation` model, based on the calendar framework.
-  * [Dev] The old `PersonalNote` model is replaced with a new `PersonalNote` model.
-  * [Dev] Participation status documentation is taken over by the new `Participation` model.
+  * [Dev] The ``LessonDocumentation`` model is replaced with the ``Documentation`` model, based on the calendar framework.
+  * [Dev] The old ``PersonalNote`` model is replaced with a new ``PersonalNote`` model.
+  * [Dev] Participation status documentation is taken over by the new ``ParticipationStatus`` model.
 
 Fixed
 ~~~~~
@@ -405,9 +369,4 @@ Fixed
 .. _3.0b0: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/3.0b0
 .. _3.0: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/3.0
 .. _3.0.1: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/3.0.1
-.. _4.0.0.dev0: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/4.0.0.dev0
-.. _4.0.0.dev1: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/4.0.0.dev1
-.. _4.0.0.dev2: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/4.0.0.dev2
-.. _4.0.0.dev3: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/4.0.0.dev3
-.. _4.0.0.dev8: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/4.0.0.dev8
-.. _4.0.0.dev9: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/4.0.0.dev9
+.. _4.0.0: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/4.0.0
diff --git a/docs/conf.py b/docs/conf.py
index b13eb0d33..b21bf6ab8 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -31,7 +31,7 @@ author = "The AlekSIS Team"
 # The short X.Y version
 version = "4.0"
 # The full version, including alpha/beta/rc tags
-release = "4.0.0.dev0"
+release = "4.0.0"
 
 
 # -- General configuration ---------------------------------------------------
diff --git a/pyproject.toml b/pyproject.toml
index edb16925b..e94381c2c 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
 [tool.poetry]
 name = "AlekSIS-App-Alsijil"
-version = "4.0.0.dev10"
+version = "4.0.0"
 packages = [
     { include = "aleksis" }
 ]
-- 
GitLab