---
title: "CrispyCMS 26.04 – Changelog"
description: "Changelog"
navLabel: "Version 26.04"
---

Diese Seite dokumentiert die Änderungen und Neuerungen in den einzelnen Releases der Version 26.04 von CrispyCMS.

### Neue Funktionen
- **Analytics**: Seitenaufruf-Tracking implementiert – Besuche werden mit IP-Adresse, Seiten-Referenz, Land, Bundesland, Stadt und User-Agent in der Datenbank gespeichert (`AnalyticsRepository`, `AnalyticsService`, `PageHitModel`).
- **Analytics-Dashboard**: Besucher-Statistik-Chart (Chart.js) auf der Dashboard-Seite für die letzten 30 Tage eingeführt.
- **Analytics-CLI**: Neue Konsolenbefehle `crispy:analytics:anonymize` und `crispy:analytics:delete` zum Anonymisieren bzw. Löschen alter Seitenaufrufe nach konfigurierbarer Anzahl an Tagen.
- **GeoIP-Integration**: MaxMind GeoIP-Datenbank integriert – Länder-, Bundesland- und Stadtcodes werden bei Seitenaufrufen erfasst.
- **Länder-Traffic-Map**: Interaktive Weltkarte auf dem Dashboard visualisiert den Besuchertraffic nach Ländern.
- **Festplattennutzung**: Überwachung und Anzeige der Festplattennutzung (`/data`-Verzeichnis) im Dashboard als neue Karte.
- **Backup-Management**: Neue API-Endpunkte und UI-Integration für die Verwaltung von Backups.
- **Dark Mode / Theming**: Nutzer können zwischen hellem und dunklem Theme wechseln; Einstellung wird als Cookie gespeichert. Logo-Varianten und CKEditor-Stile passen sich dem gewählten Theme an. Theme-Auswahl auch in den Benutzereinstellungen verfügbar.
- **Lizenz-Verwaltung (UI)**: Neues Modal zum Aktualisieren und Verwalten des Lizenzschlüssels. Erzwungenes Löschen von Lizenzen möglich. Verbesserte Passwort-Sichtbarkeit und Tooltip-Informationen in der Lizenz-UI.
- **Lizenz-Validierung für Plugins**: Plugins können jetzt eine gültige Lizenz voraussetzen; entsprechende Hinweise und Übersetzungen wurden ergänzt.
- **Seiten-Draft-Vorschau**: Entwürfe von Seiten können direkt im Editor in der Vorschau angezeigt werden.
- **Custom Page Properties – Berechtigungen**: Neue Berechtigungen für das Verwalten von benutzerdefinierten Seiteneigenschaften; zugehörige Controller und Templates aktualisiert.
- **CLI – CreateSuperUser**: Neuer Konsolenbefehl zum Anlegen eines Superusers.
- **CLI – DisableOidc**: Neuer Konsolenbefehl zum Deaktivieren der OIDC-Authentifizierung.
- **Session-Bereinigung**: Neuer CLI-Befehl `crispy:sessions:cleanup` bereinigt abgelaufene und verwaiste Sessions (Benutzer nicht mehr vorhanden).
- **Globale Suche**: Globales Such-Eingabefeld in der Navbar hinzugefügt.
- **Kategorien in der Navbar**: Kategorienverwaltung als Navigationspunkt in der Sidebar ergänzt (mit Berechtigungsprüfung).
- **Rollen in der Navbar**: Rollenverwaltung als Navigationspunkt in der Sidebar ergänzt.
- **Crispy Signage**: Neues Plugin für die Erstellung von Digital Signage Displays.

### Verbesserungen
- **Dashboard**: Neue Karten für Seiten und Benutzer mit Statistik-Charts; Dashboard-Layout für bessere Responsivität überarbeitet; Routen und Graph-Controller refaktoriert.
- **Maps-Plugin**: `DatabaseControllers` durch Repository-Klassen ersetzt (`CategoryRepository`, `LocationRepository`, `ReportRepository`, `VoteRepository`).
- **LicenseService**: Lizenz-Verwaltungslogik (Install, Uninstall, Enable, Disable, Grace Period) vollständig in den `LicenseService` überführt; überflüssige Trace-Logging-Aufrufe entfernt.
- **Login-Seite**: Neues visuelles Design mit animiertem Hintergrundbild, schwebenden Farbelementen (CSS-Animationen) und Parallax-Effekt eingeführt; Release-Codename wird bedingt angezeigt.
- **SystemInfo**: Release-Codename wird neben der Build-Nummer angezeigt; GeoIP-Datenbankstatus und -Informationen werden auf der Systeminformationsseite dargestellt.
- **Modals**: Layouts der Modals `CreateCategory`, `CreatePage`, `CreateRole`, `CreateUser` und `InviteUser` mit verbesserter Formstruktur, Icons, Hilfetexten und Barrierefreiheits-Attributen überarbeitet.
- **Layouts-Template**: Kartenstruktur, Barrierefreiheit und Leer-Zustand der Layouts-Ansicht verbessert.
- **Navbar-Struktur**: `NavbarCreatedEventSubscriber` überarbeitet – Divider-Modelle entfernt, Design-Item mit verschachtelten Templates und Layouts eingeführt.
- **Route-Attribute**: PHP-Attribute für Routen in CMS-Control-Page-Controllern implementiert.
- **Plugin-UI**: Plugin-Verwaltungsoberfläche aktualisiert.
- **WelcomeCard**: Titel der WelcomeCard enthält jetzt die Edition-Information.
- **FileManager**: Layout verbessert; CKEditor-Mindesthöhe per Stylesheet gesetzt.
- **Sample-Data-Migration**: Migration für Beispieldaten nutzt jetzt `LayoutService`, `TemplateService` und `PageService` statt direktem SQL-Datei-Import.
- **CI/CD – Harbor-Registry**: Docker-Images werden jetzt unter dem `distribution`-Pfad der Harbor-Registry veröffentlicht; Cosign-Image-Signierung eingeführt.
- **CRISP_VERSION**: Auf Version 21 angehoben.

### Breaking Changes
- **Architektur – Cron-Tasks**: Cron-Controller in eigenständige `Task`-Klassen extrahiert und per `TaskLoaderService` und `Task`-Attribut registriert (`AcmeTask`, `AnonymizeAnalyticsTask`, `AutoBackupTask`, `EmbeddingTask`, `LicenseExpiryMailNotificationsTask`, `LicenseTask`, `LicenseUsageUpdateTask`).
- **Architektur – Repository-Pattern**: Alle Datenbankzugriffe auf Illuminate Database Capsule und dedizierte Repository-Klassen migriert (`AnalyticsRepository`, `CategoryRepository`, `LayoutRepository`, `PageRepository`, `PluginRepository`, `RoleRepository`, `TemplateRepository`, `TokenRepository`, `UserRepository`).
- **Architektur – Service-Schicht**: Neue Service-Klassen eingeführt (`AnalyticsService`, `CategoryService`, `LayoutService`, `LicenseService`, `PageService`, `PluginService`, `TemplateService`, `UserService`) zur Entkopplung von Controller-Logik und Datenbankzugriffen.
- **DatabaseController**: Die deprecated `DatabaseController`-Klasse sowie `NavbarDatabaseController` und `CrispyNavbarItemModel` wurden entfernt.
- **NavbarPageController / NavbarsPageController**: Beide Controller wurden entfernt.
- **Migrationen**: Mehrere ältere Migrationsdateien wurden konsolidiert und durch eine neue `0_init.php` sowie überarbeitete Folge-Migrationen ersetzt; Migrationsskripte nutzen jetzt Capsule und Blueprint. Bestehende Installationen müssen die Migrationslaufhistorie entsprechend berücksichtigen.
### Bugfixes
- **Suche**: `custom_properties`-Handling in der `searchPage`-Datenbankabfrage korrigiert, um `NULL`-Werte zu vermeiden.
- **LicensePageController**: Aufruf-Methode für POST-Route auf `preRender` korrigiert.
- **Analytics**: `PageHitModel` und `AnalyticsRepository` behandeln nullable Seiten-IDs korrekt; Seitenlöschung berücksichtigt verknüpfte Analytics-Einträge.
