diff --git a/ChangeLog.md b/ChangeLog.md
index 032876cf05a9b4d06cb8f4ba7b0a971d1f7b9e2e..c12c0529eb686af5289994c0ac69d50eedb37c4a 100644
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,194 @@
+# 10.11.2023 v 5.4
+
+https://gitlab.studip.de/studip/studip/-/issues?milestone_title=Stud.IP+5.4&state=all
+- Sessionhaltung im Cache konfigurierbar machen [#604]
+- CLI-Kommando plugin:register soll die Methode PluginAdministration::registerPlugin() verwenden [#702]
+- Bibliothek STUDIP.Dialogs entfernen [#1001]
+- Tablesorter erlauben, Widgets mitzugeben [#1307]
+- Vereinfachung der Raumanfragen [#1327]
+- Gruppierung der Veranstaltungen auf "Meine Veranstaltungen" auch nach MVV-Modul ermöglichen [#1498]
+- Neuentwicklung Verzeichnisstrukturen [#1664]
+- Umstellung von Blubber auf Vue.js und JSONAPI [#1695]
+- Die Views in admission um PHP-Doc erweitern [#1808]
+- Polishing TIC: Neues Schmuckbild [#1836]
+- Hauptordner der Veranstaltung optional für Studierende sperren [#1908]
+- Umstellung der Adminseite für Veranstaltungen auf vue.js [#1965]
+- Courseware Wizards Zielauswahl intuitiver und übersichtlicher gestalten [#1980]
+- Berechtigungs-Übersicht in der Raumverwaltung: Bulk-Aktion zum Löschen von Berechtigungen hinzufügen [#2009]
+- RolePersistence fehlt eine Methode, um alle Nutzer mit einer bestimmten Rolle auszulesen [#2014]
+- Erweiterung des Galerie Blocks [#2016]
+- Erweiterung des Blickfang Blocks [#2017]
+- Erweiterung des Dokument Blocks [#2018]
+- Änderung des Abschnittstyps ermöglichen [#2019]
+- Einheitliche Dimensionen für Blöcke [#2020]
+- Vorlagen beim hinzufügen eine Seite anbieten [#2021]
+- Bearbeiten von Block Favoriten vereinfachen [#2022]
+- Methode User::isBlocked() implementieren [#2025]
+- Automatisiertes Eintragen um Filter für Pluginrollen erweitern [#2029]
+- RolePersistence erweitern [#2054]
+- „Meine Veranstaltungen“: Trennung „Nur neue Inhalte anzeigen“ zwischen normaler und responsiver Darstellung [#2071]
+- Möglichkeit schaffen, um sämtliche farbigen Icons außer blau automatisch generieren zu lassen [#2091]
+- Grunddaten einer Lerneinheit unmittelbar bearbeiten [#2107]
+- StudIPPlugin um öffentliche Methoden zum hinzufügen von Assets erweitern [#2164]
+- Polyfill für PHP-Methoden der Versionen 7.3, 7.4 und 8.0 einbinden [#2189]
+- Stud.IP-Cache soll generell auch einen MemoryCache zusätzlich verwenden [#2202]
+- Möglichkeit schaffen, um eine Aktionsmenü-Darstellung zu forcieren [#2210]
+- Courseware Fortschrittsanzeige prominenter platzieren [#2251]
+- Datepicker soll die Möglichkeit erhalten, zumindest Feiertage als deaktiviert/nicht wählbar anzuzeigen [#2267]
+- LTI-Block für Courseware [#2326]
+- SORM: Definition der I18N-Spalten vereinfachen [#2366]
+- Vue-Komponente StudipMessageBox soll einen Event feuern, wenn die MessageBox geschlossen wird [#2367]
+- Polyfill für PHP-Methoden der Version 8.1 einbinden [#2368]
+- Unterstützung für TypeScript [#2376]
+- Übersichtsseite "Anmeldesets > Personenlisten" überarbeiten [#2393]
+- PageLayout um Methoden erweitern, um sowohl die Sidebar als auch den Footer ausblenden zu können [#2395]
+- Smileys ausbauen [#2403]
+- JSONAPI: Attribute im Schema sollen auch als Callable angegeben werden können [#2406]
+- JsonApi: Warning: link() expects exactly 2 parameters, 0 given [#2424]
+- Restrukturierung der Veranstaltungsverwaltung inklusive Mehr-Seite [#2440]
+- Sammelmappe für Courseware Abschnitte und Blöcke [#2448]
+- Updates der PHP-Bibliotheken (Stud.IP 5.4) [#2452]
+- CLI-Kommando "composer:outdated" ergänzen, das Listen wie für #2452 erstellt [#2453]
+- Update algo26-matthias/idna-convert - v3.0.5 > v3.1.0 [#2454]
+- Update ezyang/htmlpurifier - v4.14.0 > v4.16.0 [#2455]
+- Update guzzlehttp/psr7 - 2.4.1 > 2.4.4 [#2456]
+- Update jumbojett/openid-connect-php - v0.9.8 > 0.9.10 [#2458]
+- Update league/oauth2-server - 8.3.5 > 8.4.1 [#2459]
+- Update monolog/monolog - 2.8.0 > 2.9.1 [#2460]
+- Update php-di/php-di - 6.3.4 > 6.3.5 [#2461]
+- Update phpstan/phpstan - 1.8.5 > 1.10.8 [#2462]
+- Update slim/slim - 4.6.1 > 4.8.1 [#2463]
+- Update symfony/console - 5.3.16 > 5.4.21 [#2464]
+- Update symfony/process - v5.4.11 > v5.4.21 [#2465]
+- Update tecnickcom/tcpdf - 6.5.0 > 6.6.2 [#2466]
+- Update tuupola/cors-middleware - 1.2.1 > 1.4.3 [#2467]
+- Update symfony/yaml - v3.4.47 > v5.4.21 [#2468]
+- Einheitliches CSS für Anfasser zum Verschieben [#2469]
+- Bibliothek camspiers/json-pretty entfernen [#2470]
+- WYSIWYG: Kompakter Editor (Balloon-Editor) [#2474]
+- Update spomky-labs/otphp - v8.3.3 > v10.0.3 [#2476]
+- Update phpseclib/phpseclib - 2.0.38 > 3.0.19 [#2478]
+- Remove php-http/curl-client - 1.7.1 [#2479]
+- Bilder-Pool [#2482]
+- Courseware: Übersichtsseite über Feedback und Kommentare [#2487]
+- Neuanordnung der Block-Hinzufügen-Liste mit Suchfunktion [#2489]
+- REST-API: Deprecated-Meldung aktualisieren [#2493]
+- Replace gossi/docblock v1.6 > phpowermove/docblock v2.0.1 [#2494]
+- CLI-Kommando "cronjobs:execute" interaktiv machen [#2501]
+- PHPDoc für SimpleORMap verbessern [#2514]
+- I18N Sprachwähler: Icons ohne Nationalflaggen [#2519]
+- CKEditor: "Größerziehen des Textfelds" in Dialogen [#2525]
+- Auf einer neu angelegten CW Seite ist per Default ein Listenabschnitt [#2531]
+- OER Detailansicht von eigenem Material nicht zugänglich [#2538]
+- Automatisiertes Eintragen: Möglichkeit schaffen, um das manuelle Eintragen forcieren zu können [#2576]
+- Darstellung der Sortierpfeile angleichen [#2580]
+- Persönliche Angaben: Text sollte konfigurierbar sein [#2582]
+- Barrierefreiheits-Probleme in StEP 1965 [#2595]
+- Veranstaltungsadministration: „Bearbeitungsstatus ändern“ funktioniert nicht [#2596]
+- Barrierefreiheits-Probleme in StEP 1327 [#2598]
+- Barrierefreiheits-Probleme in TIC 1980 [#2599]
+- Barrierefreiheits-Probleme in StEP 2009 [#2601]
+- Manuelle Buchung von Widerholungsterminen funktioniert nicht [#2602]
+- JS-Tests [#2605]
+- Sprach-Icons auf Loginseite haben keine festgelegte Größe [#2634]
+- Add End-to-end tests using playwright [#2635]
+- Barrierefreiheits-Probleme in StEP 1664 [#2639]
+- Barrierefreiheits-Probleme in TIC 2489 [#2658]
+- Barrierefreiheits-Probleme in StEP 2440 [#2659]
+- Geänderter Blubber-Beitrag wird bei anderen Personen nicht aktualisiert [#2661]
+- Barrierefreiheits-Mängel in StEP 2448 [#2675]
+- Barrierefreiheits-Mangel: Radio-Buttons werden in einer gemeinsamen Gruppe vorgelesen [#2679]
+- Barrierefreiheits-Mängel in StEP #1800 [#2681]
+- Courseware: LTI-Block: Pflichtfelder sind nicht als solche gekennzeichnet (Barrierefreiheits-Mangel) [#2682]
+- Zerhackte Textstrings im Bilder-Pool StEP [#2687]
+- Barrierefreiheits-Mängel in StEP #2487 [#2689]
+- Sortierelemente in einer Verzeichnisstruktur sind nicht per Tastatur bedienbar [#2691]
+- Contentbar in Verzeichnisstrukturen hat Einträge mit einem fehlerhaften übersetzbaren String [#2692]
+- Verzeichnisstrukturen: Inhaltsverzeichnis-Icon in der Contentbar wird nur als „Schalter“ vorgelesen [#2693]
+- admin/courses: Info-I am Namen der Veranstaltung in der Tabelle mit Veranstaltungen lädt die Seite neu [#2695]
+- Barrierefreiheits-Mängel in TIC #2018 [#2700]
+- Erhöhen des Mindestanforderungen an Node.js auf v16 [#2703]
+- Textstrings-Review für StEP #1327 [#2709]
+- Polishing: LESS-Compiler für Plugins deprecaten [#2718]
+- PHP8-Warnungen in den Blubber-Routen [#2725]
+- Blubber-Kommentare ohne Autor*in [#2726]
+- Blubbersuche: Zurücksetzen-Knopf immer sichtbar. [#2727]
+- Fehler, wenn der Tablesorter geladen wird [#2728]
+- MVV: Fehler beim Drag&Drop-Sortieren [#2730]
+- Deprecation-Warnung beim Kompilieren von den Assets [#2736]
+- Blaue Icons haben nicht alle dasselbe Blau [#2739]
+- API-Änderung in BlockType durch Sammelmappe für Courseware [#2766]
+- Nutzung der REST-API in Blubber [#2800]
+- CAS-Login ist kaputt (durch Update der PHP-Bibliotheken) [#2820]
+- PHP Warnungen in den Fragebögen [#2837]
+- Veranstaltungsadminseite bleibt leer für manche Personen [#2838]
+- Letzte Aktivität bei Veranstaltung in Adminbereich zeigt '%x' [#2839]
+- Adminbereich Plugins können eventuell keinen Aktionsbereich bereitstellen [#2840]
+- Undefined callback STUDIP.AdminCourses.App.reloadCourse [#2841]
+- Courseware: Nutzer können Elemente aus fremden Merklisten einfügen [#2844]
+- AdminCourseAction  nicht komplett kompatibel zur neuen Veranstaltungsadminansicht [#2845]
+- Link zu Ankündungen/Fragebögen auf "Meine Veranstaltungen" springt in die Verwaltung [#2846]
+- Werkzeuge: Info-Dialoge für Plugins zeigen keine Bilder an [#2847]
+- Verwaltung: Fehler beim Umschalten der Sichtbarkeit einer LV [#2849]
+- Neue Adminseite - Keine Meldung, dass zu viele Veranstaltung im Hintergrund ausgelesen werden. [#2852]
+- SQL-Fehler, wenn "Meine Veranstaltungen" nach Studienbereich gruppiert ist [#2854]
+- Veranstaltungsverzeichnis kann auch für nicht eingeloggte Personen zugänglich sein und erzeugt nicht den korrekten Link zur Deteilseite von VA [#2859]
+- Letzter Schritt des VA-Anlegeassistenten führt zu einer Fehlermeldung [#2861]
+- Zusatzangaben: Navigation geht verloren [#2862]
+- Gesperrte Benutzer können von Lehrenden in Veranstaltungen eingetragen werden, ohne dass dabei sichtbar wird, dass der Benutzer gesperrt ist [#2864]
+- Zusatzangaben: Autoformsaver nicht aktiv [#2866]
+- Hobbies-Text wird ohne Warnung und visuelle Indikatoren abgeschnitten und hat nur 255 Zeichen [#2869]
+- Studienbereiche - Suche funktioniert nicht [#2870]
+- Darstellung der Lehrenden im Vorlesungsverzeichnis [#2876]
+- Migration 5.4.6_tree_changes.php [#2880]
+- Bilderpool umhängen in Administration -> Standort [#2900]
+- Ankündigungen: Dialog hat kein data-secure [#2907]
+- Bilderpool erscheint nicht in der Navigation bei der Rolle Admin [#2916]
+- Fakultätsadmins bekommen eine Fehlermeldung beim Aufruf der Standortadministration [#2917]
+- Fehlermeldung in der Konsole auf der Startseite [#2918]
+- Forum: Schreiben von Beiträgen kaputt [#2919]
+- JS-TypeError auf der Startseite (vor dem Login) [#2921]
+- Verwaltung von Veranstaltungen: unbegrenzte Veranstaltungen werden nicht mehr gefunden, wenn Semester eingestellt ist [#2923]
+- Einfügen aus der Merkliste (Sammelmappe) kopiert verknüpfte Dateien nicht in den Kurs [#2933]
+- System-Ankündigung: Weitere Bereiche auffindbar, werden aber nicht gespeichert [#2945]
+- Funktion "Barriere melden" kaputt [#2949]
+- Mehrfachzuordnung der Studienbereiche hat keine Aktion/Selektion [#2955]
+- SQL-Fehler beim Löschen von Veranstaltungen [#2963]
+- Stud.IP-Cache funktioniert nicht mehr [#2979]
+- Mehrfachzuordnung der Studienbereiche wieder im Dialog öffnen [#2999]
+- Werkzeuge: Funktionen im Dialog funktionieren nach Anklicken eines Screenshots nicht mehr [#3005]
+- Courseware: Nutzer können fremde Elemente in eigene Merkliste einfügen [#3008]
+- Fehlermeldungen nach Entfernen der Spalte sem_tree.studip_object_id [#3014]
+- Doppelter Klassenname in den Migrationen: AddMissingLogActions [#3036]
+- Vorlesungsverzeichnis: Suche sucht nicht (nur) im ausgewählen Bereich [#3041]
+- Vorlesungsverzeichnis: Umstellen der Filter setzt die Suche zurück [#3043]
+- Vorlesungsverzeichnis: Suche findet versteckte Veranstaltungen [#3046]
+- Bearbeiten der Veranstaltungszuordnungen ist unvollständig implementiert [#3054]
+- Aufruf vom Veranstaltungs-Stundenplan führt zu Fehler [#3070]
+- Verwaltung von Veranstaltungen: Gesperrte Veranstaltungen werden nicht als gesperrt angezeigt [#3071]
+- Courseware: Abschnitt bearbeiten zeigt bei Tabs falsche Vorschau an [#3072]
+- Widgets aus Plugins zur Adminübersichtsseite haben keinen Startwert [#3084]
+- Sortieren von Werkzeugen [#3089]
+- Abschnitt verändern: Stil nicht veränderbar bei ausgeklapptem Inhaltsverzeichnis [#3091]
+- Bearbeiten einer Raumanfrage [#3101]
+- Datetimepicker ist nur noch datepicker ohne time. [#3104]
+- Sperrebene in Veranstaltungen kann nicht geändert werden: navigation item 'course/admin/main' not found [#3117]
+- Veranstaltungen > Export ist kaputt [#3118]
+- Weitere PHP8 - Warnungen / Fehler [#3125]
+- Leerzeichen im Klassennamen führt zu Linting-Fehlern [#3129]
+- Administration von Veranstaltungen: csv Export wirft Exception [#3141]
+- Courseware: Tippfehler im Label des Ziele-Blocks [#3177]
+- Fehler auf der JS-Konsole im neuen Veranstaltungsverzeichnis [#3230]
+- Eine einzelne Null kann nicht als Blubberkommentar gesendet werden [#3232]
+- Initiales Laden des Veranstaltungsverzeichnisses sowie das Suchen dauert lange [#3234]
+- Die Methoden in OptionsWidget sollten vorerst keinen Typen erzwingen [#3322]
+- Auslieferungszustand der Impressumsseiten reduzieren (Default-Daten) [#3327]
+- Bei AdminCourseOptionsWidget senden die Checkboxen immer nur den true-value [#3328]
+- CLI-Kommando oauth2:keys ist defekt [#3332]
+- Navigationspunkt "Bilder-Pool" enthält überflüssige Angaben [#3360]
+- Fehlerhafte SQL-Daten [#3418]
+- Kaputtes Layout im Profil bei "Mehr Funktionen" [#3439]
+
 # 02.11.2023 v 5.3.3
 
 https://gitlab.studip.de/studip/studip/-/issues?milestone_title=Stud.IP+5.3.3&state=all