Zum Inhalt

Changelog

Diese Seite dokumentiert die Versionshistorie von calServer. Änderungen sind chronologisch absteigend sortiert – die neueste Version steht oben. Jeder Eintrag enthält eine kurze Erklärung der Änderung auf Deutsch.

Versionsschema

calServer verwendet semantische Versionierung:

<Major>.<Minor>.<Patch>
Bestandteil Bedeutung
Major Inkompatible Änderungen, größere Architekturumstellungen
Minor Neue Funktionen, abwärtskompatibel
Patch Fehlerbehebungen und kleinere Verbesserungen

Die aktuelle Version wird in VERSION im Projektstammverzeichnis sowie in httpdocs/protected/config/constants.php gepflegt.

Änderungskategorien

Kategorie Bedeutung
Funktion Neue oder erweiterte Funktionalität (feat)
Fix Behobener Fehler (fix)
Dokumentation Änderungen ausschließlich an der Dokumentation (docs)

Plattform-Flags

Flag Bedeutung
BASE Änderungen am Legacy-System V1 (Yii 1.1 / httpdocs/)
APEX Änderungen am modernen System V2 (Laravel + Nuxt 3 / laravel/ + frontend-v2/)

Einträge ohne Plattform-Flag betreffen gemeinsam genutzte Infrastruktur, CI/CD oder reine Dokumentation.


Versionsverlauf

Der Verlauf beginnt mit Version 5.64 (Februar 2026).

Version 5.64.224

5.64.224 Dokumentation BASE 4. März 2026

OpenAPI: Hinweis zu eigendefinierten Feldern im Filter-Parameter

In der OpenAPI-Dokumentation der V1-API wurden Hinweise und ein Beispiel für die Filterung nach eigendefinierten Feldern ergänzt. Damit ist die Nutzung des filter-Parameters für Felder aus der Feldverwaltung klar dokumentiert.

Version 5.64.223

5.64.223 Fix BASE 4. März 2026

Grid-Filter-Reset deaktiviert nicht mehr den erweiterten Filter

Das Zurücksetzen des Schnellfilters im Grid deaktivierte fälschlicherweise den erweiterten Filterbereich. Das Verhalten wurde getrennt: Ein Reset des Schnellfilters lässt den erweiterten Filter unberührt.

Version 5.64.222

5.64.222 Fix APEX 4. März 2026

Übersetzungsimport: Stabilisierung der Upload-Pipeline

Weitere Verbesserungen am Übersetzungsimport für V2: Upload-Limits wurden angehoben, Fehlermeldungen bei ungültigen Dateien sind jetzt aussagekräftiger, und der Import schlägt nicht mehr still fehl.

Version 5.64.221

5.64.221 Fix APEX 4. März 2026

V2 Dashboard: fehlender apply-template-Endpoint ergänzt und Übersicht nach Anwendung neu geladen

Der Endpoint zum Anwenden einer Gridvorlage fehlte in der V2-API, sodass Vorlagenänderungen nicht übernommen werden konnten. Endpoint wurde hinzugefügt; nach erfolgreicher Anwendung lädt die Übersicht automatisch neu.

Version 5.64.220

5.64.220 Dokumentation 4. März 2026

Vollständige Analyse des V1-Dashboard-Widget-Systems mit V2-Migrationsplan

Eine ausführliche technische Analyse des V1-Dashboard-Widget-Systems wurde erstellt und als Entwicklerdokumentation eingecheckt. Sie enthält einen strukturierten Migrationsplan für die Portierung nach V2.

Version 5.64.219

5.64.219 Funktion APEX 4. März 2026

V2 Dashboard: Erweiterte Filter-Widgets integriert

Die erweiterten Filter aus dem Grid-Bereich lassen sich jetzt als Widgets im V2-Dashboard anzeigen, als Filter-Ergebnis oder als Filter-Statistik. Das Widget zeigt einen bereits gespeicherten Filter; angelegt werden Filter weiterhin im Grid.

Version 5.64.218

5.64.218 Fix APEX 4. März 2026

Übersetzungsimport für große Dateien optimiert und Fehleranzeige verbessert

Der Übersetzungsimport schlug bei großen Sprachdateien wegen Timeouts oder Speicherlimits fehl. Die Verarbeitung wurde optimiert, und Importfehler werden jetzt detailliert im Frontend angezeigt.

Version 5.64.217

5.64.217 Funktion APEX 4. März 2026

V2 JSON-Importdatei aus V1-Excel-Export generiert

Die aus V1 exportierte Excel-Sprachdatei wird automatisch in das V2-kompatible JSON-Format konvertiert und steht als Importvorlage bereit. Damit ist der initiale Sprachdatenimport von V1 nach V2 deutlich vereinfacht.

Version 5.64.216

5.64.216 Fix APEX 3. März 2026

Feldkonfigurationen in Gridvorlage-Optionen ergänzt

Beim Erstellen und Bearbeiten von Gridvorlagen in V2 fehlten die Feldkonfigurationen in den verfügbaren Optionen. Sie werden jetzt vollständig aus der Feldverwaltung geladen und können in Vorlagen eingebunden werden.

Version 5.64.215

5.64.215 Funktion APEX 3. März 2026

Übersetzungsimport und -export für V2 mit V1-kompatibler Struktur

V2 unterstützt jetzt den Import und Export von Übersetzungsdateien im selben Format wie V1. Damit können bestehende V1-Sprachdateien direkt in V2 übernommen werden.

Version 5.64.214

5.64.214 Funktion APEX 3. März 2026

Feldverwaltung: Hauptansicht-Tab mit TableMaster hinzugefügt

In der Feldverwaltung von V2 wurde ein neuer Tab „Hauptansicht" eingeführt, der die komplette Feldliste mit TableMaster (PrimeVue DataTable) anzeigt. Feldkonfigurationen sind direkt in der Tabelle editierbar.

Version 5.64.213

5.64.213 Fix APEX 3. März 2026

TypeScript-Fehler: unveränderliche Array-Operationen für readonly-Spalten

Im TypeScript-Strikt-Modus verursachten direkte Mutationen auf readonly-Arrays Compilerfehler. Die betroffenen Stellen wurden auf unveränderliche Operationen (Spread/map) umgestellt.

Version 5.64.212

5.64.212 Fix APEX 3. März 2026

Gridvorlagen: Anzeige, Import und V1/V2-Kompatibilität korrigiert

Mehrere Probleme bei Gridvorlagen in V2 wurden behoben: fehlerhafter Template-Import, Anzeigefehler in der Vorlagenliste sowie Inkompatibilitäten beim Laden von V1-Vorlagenformaten.

Version 5.64.211

5.64.211 Funktion APEX 3. März 2026

Feldverwaltung: CRUD für Gridvorlagen und neue Erstellen-Seite

In der Feldverwaltung von V2 können Gridvorlagen jetzt angelegt, bearbeitet und gelöscht werden. Dazu wurde eine eigenständige Erstellen-Seite mit vollständigem Formular implementiert. Zusätzlich wurde ein direkter „+"-Button in der Toolbar ergänzt.

Version 5.64.210

5.64.210 Fix APEX 3. März 2026

filterType-Prop für Grid-Seiten ergänzt, um erweiterte Filter zu aktivieren

Auf Grid-Seiten in V2 fehlte das filterType-Prop, das den erweiterten Filtermodus aktiviert. Nach dem Hinzufügen funktioniert die gesamte Filter-UI korrekt.

Version 5.64.209

5.64.209 Funktion APEX 3. März 2026

Erweitertes Filter-System und Gridvorlagen von V1 nach V2 portiert

Das gesamte erweiterte Filtersystem aus V1 wurde nach V2 migriert: SQL-basierte Filterbedingungen, gespeicherte Filterprofile und das Gridvorlagen-Feature stehen jetzt vollständig in der V2-Oberfläche zur Verfügung.

Version 5.64.208

5.64.208 Dokumentation 3. März 2026

API v2 als Beta/calServer 6.0 markiert; Analyse des V1-erweiterten-Filter-Systems

Die API v2 wurde in der Dokumentation als Beta-Version mit dem Zielmeilenstein calServer 6.0 ausgewiesen. Zusätzlich wurde eine technische Analyse des V1-erweiterten-Filter-Systems und ein V2-Portierungsplan als Entwicklerdokumentation ergänzt.

Version 5.64.207

5.64.207 Funktion APEX 3. März 2026

V2 Frontend: Responsives Theme mit Drawer-Navigation

Das frontend-v2 erhielt ein vollständig responsives Theme. Auf mobilen Geräten öffnet sich die Navigation als Drawer-Menü; der Desktop-Modus bleibt unverändert. Grundlage ist ein überarbeitetes Layout-System mit PrimeVue.

Version 5.64.206

5.64.206 Fix APEX 3. März 2026

V2-Demodaten-Import: falsche Feld-Mappings und vertauschte Daten korrigiert

Beim Import von Demodaten über die V2-Administrationsoberfläche wurden Felder falsch zugeordnet und einige Datensätze vertauscht eingelesen. Die Mappings wurden korrigiert und alle Demodaten werden jetzt konsistent importiert.

Version 5.64.205

5.64.205 Dokumentation 3. März 2026

API-Dokumentation: V1 und V2 in separate OpenAPI-Specs aufgeteilt

Die OpenAPI-Spezifikation wurde in zwei eigenständige Dokumente aufgeteilt – eines für die V1-API (Produktion) und eines für die V2-API (Beta). Beide sind über die Scalar API Reference separat abrufbar.

Version 5.64.204

5.64.204 Fix 3. März 2026

CI: Selenium-Node-Bereitschaft vor Behat-Tests abgewartet

Der Behat-Test-Job startete bevor der Selenium-Node vollständig hochgefahren war, was zu sporadischen Fehlern führte. Der Job wartet jetzt explizit auf den Readiness-Check des Selenium-Nodes.

Version 5.64.203

5.64.203 Fix APEX 3. März 2026

V2: Yii-Feldtypen und StatusDatabase-Kategorie für Grid-Filter korrekt gemappt; /fields-Endpoint liefert vollständige Eigenschaften

Die Feldtypen aus Yii (V1) wurden für die V2-Grid-Filter nicht korrekt übersetzt, was zu Filterfehlern führte. Gleichzeitig lieferte der /fields-Endpoint nur das interne Mapping statt der vollständigen Feldverwaltungs-Eigenschaften – beides wurde behoben.

Version 5.64.202

5.64.202 Funktion APEX 3. März 2026

Vollständiges Sprachverwaltungssystem für V2 implementiert

V2 verfügt jetzt über ein eigenständiges Sprachverwaltungssystem: Sprachen anlegen, bearbeiten, aktivieren/deaktivieren und Übersetzungen je Modul verwalten. Die Oberfläche wurde als eigenständiger Admin-Bereich umgesetzt.

Version 5.64.201

5.64.201 Funktion BASE 3. März 2026

V1-API: Kategorien am Inventar und getrennte OpenAPI-Dokumentation für V1/V2

Die V1-REST-API liefert die Kategorien eines Geräts mit und filtert nach Kategorie (categories.name, Kurzform categoryname). Einen eigenen Kategorien-Endpoint hat die V1-API nicht. Außerdem wurden die OpenAPI-Dokumentationen für V1 und V2 getrennt und aktualisiert.

Version 5.64.200

5.64.200 Funktion APEX 3. März 2026

AG Grid durch TableMaster (PrimeVue DataTable) ersetzt

Die AG-Grid-Komponente wurde vollständig durch TableMaster – einen eigenen Wrapper um PrimeVue DataTable – ersetzt. TableMaster bietet einheitliches Styling, bessere TypeScript-Integration und native Kompatibilität mit dem Aura-Theme.

Version 5.64.199

5.64.199 Fix APEX 3. März 2026

Feldkonfiguration-Bearbeitung: withApiName-Filter entfernt und zusammengesetzter Schlüssel korrigiert

Der withApiName-Filter schloss bestimmte Felder bei der Bearbeitung fälschlicherweise aus. Zudem führte der zusammengesetzte Primärschlüssel bei Updates zu Fehlern. Beide Probleme wurden behoben.

Version 5.64.198

5.64.198 Fix APEX 3. März 2026

Merge-Konflikte beim Feld-Import/Export-Feature behoben

Konflikte zwischen dem Feld-Import/Export-Branch und dem Hauptentwicklungszweig wurden aufgelöst. Spaltennamen wurden korrigiert und das Tabellen-Trunkieren vor dem Import wurde ergänzt.

Version 5.64.197

5.64.197 Funktion APEX 3. März 2026

V2 Frontend: Sidebar-Modus-Toggle für getrennte App- und Admin-Navigation

Im frontend-v2 wurde ein Toggle ergänzt, mit dem zwischen dem Anwender-Modus und dem Admin-Modus gewechselt werden kann. Beide Bereiche erhalten dadurch separate Navigationsbäume in der Sidebar.

Version 5.64.196

5.64.196 Funktion APEX 3. März 2026

V1-Demodaten-Admin nach V2 (Laravel + Nuxt) migriert

Der bisherige V1-Admin-Bereich für Demodaten wurde vollständig in V2 (Laravel-Backend + Nuxt-Frontend) portiert. Demodaten lassen sich jetzt direkt über die V2-Administrationsoberfläche importieren und entfernen.

Version 5.64.195

5.64.195 Funktion APEX 3. März 2026

Import/Export für Feldkonfigurationen und Gridvorlagen

Feldkonfigurationen und Gridvorlagen können jetzt in V2 als JSON-Datei exportiert und wieder importiert werden. Das ermöglicht einfaches Übertragen von Konfigurationen zwischen Instanzen.

Version 5.64.194

5.64.194 Fix APEX 3. März 2026

V2-Seeder: UUID-Format auf plain VARCHAR(36) umgestellt

Test-Benutzer-IDs im Seeder wurden im falschen Format (mit Formatierungszeichen) gesetzt, was zu MySQL-Typfehlern führte. Die IDs werden jetzt als einfache UUIDs ohne Sonderzeichen gespeichert.

Version 5.64.193

5.64.193 Fix APEX 2. März 2026

V2-Seeder: Spalten-Overflows und Typkonflikte für MySQL Strict Mode behoben

Der Demodaten-Seeder erzeugte Einträge, deren Felder im MySQL-Strict-Mode Längenbeschränkungen verletzten oder Typfehler auslösten. Alle betroffenen Spalten wurden angepasst.

Version 5.64.192

5.64.192 Funktion APEX 2. März 2026

V2 Frontend: Formular-Sichtbarkeit mit PrimeVue Aura-Theme verbessert

Labels und Eingabefelder in V2-Formularen hatten im Aura-Theme zu geringen Kontrast. Schriftfarben wurden für Hell- und Dunkel-Modus angepasst, sodass alle Beschriftungen klar erkennbar sind.

Version 5.64.191

5.64.191 Funktion APEX 2. März 2026

Alle V1-Feldeigenschaften in V2-API exponiert und CRUD-Admin-Endpoints ergänzt

Die V2-API liefert jetzt alle relevanten Feldeigenschaften aus der V1-Feldverwaltung. Zusätzlich wurden vollständige CRUD-Endpoints für den Feldverwaltungs-Admin-Bereich implementiert.

Version 5.64.190

5.64.190 Fix BASE 2. März 2026

php-fpm: CMemCache-exklusive Eigenschaften beim Fallback auf CFileCache entfernt

Nach dem Fallback auf CFileCache wurden weiterhin CMemCache-spezifische Konfigurationsparameter gesetzt, was zu PHP-Notices führte. Die betroffenen Properties werden jetzt nur noch gesetzt, wenn tatsächlich Memcache aktiv ist.

Version 5.64.189

5.64.189 Fix BASE 2. März 2026

php-fpm: Automatischer Fallback auf CFileCache bei Memcache-Absturz

Wenn die Memcached-Extension während des Starts abstürzte, lief calServer ohne funktionierenden Cache. php-fpm fällt jetzt automatisch auf CFileCache zurück, sodass die Anwendung auch ohne Memcached lauffähig bleibt.

Version 5.64.188

5.64.188 Fix BASE 2. März 2026

php-fpm: Abstürzende Memcached-Extension beim Start erkannt und deaktiviert

Auf Systemen mit defekter Memcached-Extension verursachte das Laden der Extension einen php-fpm-Absturz. Ein Startup-Skript erkennt nun die problematische Extension und deaktiviert sie vor dem Start automatisch.

Version 5.64.187

5.64.187 Fix 2. März 2026

Deployment: HTTPS-Health-Check nutzt curl statt ss

Der Health-Check im Deployment-Skript verwendete ss zum Prüfen des HTTPS-Ports, was auf bestimmten Images nicht verfügbar war. Der Check wurde auf curl umgestellt und ist damit zuverlässiger.

Version 5.64.186

5.64.186 Funktion APEX 2. März 2026

V2: Feldgesteuerte Grids, Vorlagen, Zusatzfelder-API und dynamische Views

V2 unterstützt jetzt vollständig feldgesteuerte Grids: Spalten werden dynamisch aus den Feldkonfigurationen der Feldverwaltung geladen. Gridvorlagen können gespeichert und auf Views angewendet werden. Zusatzfelder sind über einen dedizierten API-Endpoint abrufbar.

Version 5.64.185

5.64.185 Fix APEX 2. März 2026

artisan-Seeder: Faker-Abhängigkeit aus TestDatabaseSeeder für Produktion entfernt

Der TestDatabaseSeeder importierte Faker-Klassen, die in der Produktionsinstallation nicht vorhanden sind. Die Abhängigkeit wurde entfernt, sodass artisan app:setup auf Produktionssystemen fehlerlos läuft.

Version 5.64.184

5.64.184 Fix APEX 2. März 2026

app:setup: RBAC-Seeding nur bei frischer Datenbank, bestehende Operationen bleiben erhalten

Bei wiederholtem Aufruf von artisan app:setup wurden RBAC-Operationen neu gesetzt und dabei bestehende Benutzerrechte überschrieben. Das Seeding wird jetzt nur ausgeführt, wenn noch keine Operationen in der Datenbank vorhanden sind.

Version 5.64.183

5.64.183 Fix BASE 2. März 2026

V1: C2321-Mapping verwendet jetzt CallSheetEx.cField5

Das Feld-Mapping für Protokolltyp C2321 referenzierte eine falsche Spalte in CallSheetEx. Das Mapping wurde auf cField5 korrigiert, sodass Kalibrierprotokolle dieses Typs korrekt ausgelesen werden.

Version 5.64.182

5.64.182 Dokumentation 2. März 2026

Standard-Super-Admin-Zugangsdaten aus Installationsanleitung entfernt

Die Installationsanleitung enthielt fest eingetragene Standardzugangsdaten für den Super-Admin-Account. Diese wurden entfernt, um zu verhindern, dass Installationen mit unsicheren Standardpasswörtern betrieben werden.

Version 5.64.181

5.64.181 Fix APEX 2. März 2026

V2-Migrationen: Phantom-Tabelle inventory_notepad entfernt und fehlende V1-Tabellen ergänzt

Eine nicht existierende Tabelle (inventory_notepad) wurde aus den Migrationen entfernt. Gleichzeitig wurden weitere fehlende V1-Tabellen ergänzt, um die vollständige Schema-Kompatibilität zwischen V1 und V2 sicherzustellen.

Version 5.64.180

5.64.180 Funktion APEX 2. März 2026

artisan demo:data-Kommando zum Seeden und Entfernen von Demodaten

Ein neues Artisan-Kommando demo:data ermöglicht es, Demodaten in die V2-Datenbank einzuspielen oder vollständig zu entfernen. Das vereinfacht das Vorbereiten von Demos und Testumgebungen erheblich.

Version 5.64.179

5.64.179 Fix APEX 2. März 2026

V2: Globale Auth-Middleware, Sidebar-Guard und Docker-Entrypoint stabilisiert

Verschiedene V2-Authentifizierungsprobleme wurden behoben: Die globale Auth-Middleware schützt jetzt alle Routen korrekt, der Sidebar-Guard verhindert unautorisierten Zugriff auf Admin-Bereiche, und der Docker-Entrypoint startet den V2-Stack zuverlässig.

Version 5.64.178

5.64.178 Fix APEX 2. März 2026

V2: RBAC-Operationen in app:setup geseedet und stiller Login-Fehler behoben

Fehlende RBAC-Operationen in der Initialdatenbank führten zu nicht nachvollziehbaren Login-Fehlern in V2. app:setup seeded jetzt alle notwendigen Operationen, und der Login-Fehler wird transparent gemeldet statt still ignoriert.

Version 5.64.177

5.64.177 Dokumentation 2. März 2026

Produktions-Deployment-Anleitung, Migrations-Dokumentation und migration.sh hinzugefügt

Die Entwicklerdokumentation wurde um eine vollständige Produktions-Deployment-Anleitung erweitert. Dazu kommen eine Migrations-Dokumentation für den Umstieg von V1 auf V2 sowie das Hilfsskript migration.sh.

Version 5.64.173 – 5.64.176

5.64.173–5.64.176 Funktion APEX 1.–2. März 2026

V2: Vollständige Laravel-Migrationen für V1-Yii-Schema (122 Tabellen) + iterative Korrekturen

Das gesamte V1-Datenbankschema (122 Tabellen) wurde als Laravel-Migrationen implementiert, damit V2 auf der identischen Datenbankstruktur wie V1 betrieben werden kann. Anschließend wurden in mehreren Iterationen Detailprobleme behoben: fehlende TEXT-Spalten-Defaults, MySQL-Index-Längenbeschränkungen, fehlende RBAC-Spalten, falsche FK-Typen und der '0000-00-00'-Datetime-Default.

Version 5.64.155

5.64.155 Fix 1. März 2026

Docker: nginx-proxy Named-Volume-Architektur wiederhergestellt und CI-Tests parallelisiert

Die nginx-proxy-Konfiguration wurde auf die bewährte Named-Volume-Architektur zurückgestellt (jwilder-Pattern), nachdem ein Bind-Mount-Versuch EISDIR-Fehler verursacht hatte. Gleichzeitig wurden die Behat/API-Tests in separate, nicht-blockierende CI-Jobs ausgelagert.

Version 5.64.154

5.64.154 Fix 1. März 2026

Docker: nginx-proxy SSL-Probleme und acme-companion-Zertifikatanbindung behoben

Mehrere zusammenhängende nginx-proxy-SSL-Fehler wurden behoben: das Anhängen des acme-companion-Containers, das Einbinden der default_location-Datei (EISDIR-Fehler) sowie verbleibende SSL-Konfigurationsprobleme nach der Image-Migration.


Historische Versionen 5.64.110 – 5.64.153

Diese Versionen wurden zwischen dem 27. Februar und dem 1. März 2026 veröffentlicht. Für diesen Zeitraum sind keine Einzeleinträge im Git-Log verfügbar. Die Entwicklung umfasste vorwiegend weitere BASE-Verbesserungen (GridViewHelper-Migrationen, Admin-Panel-Fixes, Report-Runner-Optimierungen) sowie die initiale Infrastruktur für das APEX-System (Docker-Konfiguration, erstes V2-Scaffolding).


Version 5.64.109

5.64.109 Dokumentation 27. Februar 2026

Kalibrierungskategorien in der Dokumentation ergänzt

Die Dokumentation der Kalibrierungskategorien wurde neu hinzugefügt. Benutzer und Administratoren finden nun eine vollständige Beschreibung der Kategorieverwaltung im Handbuch-Abschnitt „Kalibrierungen".

Version 5.64.108

5.64.108 Fix BASE 27. Februar 2026

Spaltennamen im Dokument-Freigabe-Grid qualifiziert

Mehrdeutige Spaltennamen im Dokument-Freigabe-Grid führten bei tabellenübergreifenden JOINs zu SQL-Fehlern. Die betroffenen Spalten werden jetzt mit dem korrekten Relationsalias qualifiziert, sodass die Freigabeliste zuverlässig geladen wird.

Version 5.64.107

5.64.107 Fix 27. Februar 2026

Report-Runner: Jackson ObjectMapper ersetzt Javalins bodyAsClass

Im Report-Runner führte Javalins eingebaute bodyAsClass-Methode bei bestimmten JSON-Nutzlasten zu Deserialisierungsfehlern. Die Verarbeitung erfolgt jetzt direkt über den Jackson-ObjectMapper und ist damit deutlich fehlertoleranter.

Version 5.64.106

5.64.106 Dokumentation 27. Februar 2026

Vollständige Dokumentationsüberarbeitung

Die gesamte MkDocs-Dokumentation wurde grundlegend überarbeitet: Seiten wurden aufgeteilt, bereinigt und inhaltlich neu geschrieben. Die Struktur ist nun konsistenter, vollständiger und erheblich besser navigierbar.

Version 5.64.105

5.64.105 Fix BASE 27. Februar 2026

Erweiterter Filterzustand bleibt bei Seitennavigation erhalten

Der erweiterte Filterstatus im Grid wurde beim Blättern oder Sortieren zurückgesetzt, sodass komplexe Suchanfragen verloren gingen. Der Filterzustand wird jetzt über Seitenwechsel und Sortieroperationen hinweg korrekt beibehalten.

Version 5.64.104

5.64.104 Funktion 26. Februar 2026

Dokumentationsnavigation in granulare Unterabschnitte gegliedert

Die Navigationsstruktur der Dokumentation wurde in fein gegliederte Unterabschnitte aufgeteilt. Benutzer können nun gezielt einzelne Themenbereiche ansteuern, ohne durch lange Seiten scrollen zu müssen.

5.64.104 Funktion APEX 26. Februar 2026

Scalar API Reference ersetzt Redoc – Postman-Collection ergänzt

Die interaktive API-Dokumentation wurde von Redoc auf Scalar API Reference umgestellt, das eine modernere Benutzeroberfläche und bessere Suchfunktionen bietet. Zusätzlich steht jetzt eine Postman-Collection zum direkten Import in Postman bereit.

Version 5.64.103

5.64.103 Fix 26. Februar 2026

GitHub Pages Deployment: Berechtigung und Retry-Logik ergänzt

Der Deployment-Workflow für GitHub Pages schlug wegen fehlender actions:read-Berechtigung fehl und hatte keinen Mechanismus zur Wiederholung bei transienten Fehlern. Beide Probleme wurden behoben.

Version 5.64.102

5.64.102 Funktion 26. Februar 2026

Notion-Exportinhalte in MkDocs-Dokumentation überführt

Alle bisher in Notion verwalteten Dokumentationsinhalte wurden in die MkDocs-Struktur migriert. Die Inhalte sind jetzt Teil der versionierten Dokumentation im Repository und werden bei jedem Deploy automatisch veröffentlicht.

5.64.102 Fix BASE 26. Februar 2026

Ungültige Spalte column_label aus Suchkriterien entfernt

Das Feld column_label wurde irrtümlich als Datenbankkriterium in Suchabfragen übergeben und verursachte SQL-Fehler, da keine entsprechende Datenbankspalte existiert. Es wurde aus den Suchkriterien entfernt.

Version 5.64.101

5.64.101 Fix 26. Februar 2026

Report-Runner: jrxmlPath-Deserialisierungsfehler behoben

Ein fehlender oder ungültiger jrxmlPath-Parameter im JSON-Request verhinderte das Laden von JasperReports-Vorlagen. Die Fehlerbehandlung wurde robuster gestaltet und gibt jetzt eine aussagekräftige Fehlermeldung zurück.

5.64.101 Fix BASE 26. Februar 2026

PHP-Fehler bei CArrayDataProvider.modelClass behoben

Ein undefinierter Property-Zugriff auf modelClass im Yii-CArrayDataProvider verursachte PHP-Notices bei bestimmten Grid-Ansichten. Der Zugriff wird jetzt defensiv geprüft, bevor er verwendet wird.

5.64.101 Funktion BASE 26. Februar 2026

18 Grid-Ansichten der Kategorie B auf GridViewHelper migriert

18 speziell angepasste Grid-Ansichten wurden auf die neue GridViewHelper-Implementierung umgestellt. Die vereinheitlichte Basis reduziert Coderedundanz und erleichtert zukünftige Anpassungen erheblich.

Version 5.64.100

5.64.100 Fix BASE 26. Februar 2026

Spaltennamen in FrontendAudit::search() qualifiziert

Nicht qualifizierte Spaltennamen in FrontendAudit::search() verursachten bei tabellenübergreifenden Datenbankabfragen mehrdeutige SQL-Fehler. Die Spalten werden jetzt vollständig mit dem Tabellenalias angegeben.

5.64.100 Funktion 26. Februar 2026

Dokumentationsplattform verfeinert (Logo, Favicon, CSS, .gitignore)

Die MkDocs-Dokumentationsplattform erhielt ein eigenes Logo und Favicon. Benutzerdefiniertes CSS wurde integriert, und eine .gitignore-Regel schließt Build-Artefakte (site/) vom Repository aus.

Version 5.64.99

5.64.99 Funktion 26. Februar 2026

MkDocs-Material-Dokumentationsplattform eingerichtet

Die technische Dokumentation für calServer wurde auf MkDocs Material aufgebaut und auf GitHub Pages deployt. Grundkonfiguration, Theme, Plugins (Suche, Lightbox, Git-Datum) und die initiale Navigationsstruktur wurden erstellt.

Version 5.64.98

5.64.98 Funktion APEX 26. Februar 2026

Demo-Daten-Seeder mit Admin-Importfunktion hinzugefügt

Ein Seeder für Demo-Daten wurde implementiert, der über eine neue Administratorfunktion ausgeführt werden kann. Damit lassen sich frische Installationen schnell mit realistischen Testdaten befüllen.

Version 5.64.97

5.64.97 Fix BASE 26. Februar 2026

Adminseite für Kategorien ergänzt, Testschritt-Admin-404-Fehler behoben

Die Administrationsoberfläche für Kategorien fehlte vollständig. Zusätzlich lieferten mehrere Admin-Pfade für Testschritte 404-Fehler. Beide Probleme wurden gleichzeitig behoben.

Version 5.64.96

5.64.96 Fix BASE 26. Februar 2026

DMS-Browser: elFinder-View-Fehler behoben

Beim Öffnen des elFinder-Dateimanagers im DMS-Browser (Dokumentenmanagementsystem) trat ein „View not found"-Fehler auf. Die fehlende View-Referenz wurde korrigiert.

Version 5.64.94

5.64.94 Fix 26. Februar 2026

Report-Runner: Leeres parameters-Array wird korrekt behandelt

Ein leeres parameters-Array im JSON-Request an den Report-Runner führte zu einem Deserialisierungsfehler. Der Grenzfall wird jetzt explizit behandelt und resultiert nicht mehr in einem Serverfehler.

Version 5.64.93

5.64.93 Funktion BASE 26. Februar 2026

Phase 4: Adminpanel-Grids auf GridViewHelper v2 migriert

Mit Phase 4 wurden alle Grids im Adminpanel-Modul auf die v2-GridViewHelper-Implementierung umgestellt. Damit ist die mehrstufige Grid-Migration der gesamten Administrationsoberfläche abgeschlossen.

Version 5.64.92

5.64.92 Fix 26. Februar 2026

Report-Runner-Architektur: Automatischer Fallback auf Legacy-Engine

War der Report-Runner-Dienst nicht erreichbar, schlug die Berichtserstellung ohne jegliches Fallback fehl. Die Architektur wurde erweitert: Bei Nichterreichbarkeit des Report-Runners wird nun automatisch auf die bewährte Legacy-Engine (JasperStarter) zurückgefallen.

Version 5.64.86 – 5.64.91

5.64.86–5.64.91 Funktion BASE 25. Februar 2026

GridViewHelper Phase 3: Kalibrierung- und Inventar-Module migriert

Die Kalibrierung-Haupt-Grids sowie die Inventarverwaltung wurden auf die v2-GridViewHelper-Implementierung umgestellt. Spalten-Selektor, erweiterter Filter und einheitliches Paginierungsverhalten sind damit auch in diesen Kernmodulen verfügbar.

Version 5.64.75 – 5.64.85

5.64.75–5.64.85 Funktion BASE 25. Februar 2026

GridViewHelper Phase 2: Prüfmittel- und Aufgaben-Module migriert

Prüfmittelverwaltung, Aufgabenliste und verwandte Unteransichten wurden auf GridViewHelper v2 umgestellt. Konsistente Export-Buttons und Spaltenkonfiguration stehen nun auch dort zur Verfügung.

5.64.75–5.64.85 Fix BASE 25. Februar 2026

Nicht qualifizierte Spaltennamen in mehreren Grid-Suchmethoden korrigiert

Bei tabellenübergreifenden Joins in verschiedenen Modulen entstanden SQL-Fehler durch mehrdeutige Spaltennamen. Alle betroffenen search()-Methoden wurden mit vollständigen Tabellenaliassen versehen.

Version 5.64.60 – 5.64.74

5.64.60–5.64.74 Funktion BASE 24. Februar 2026

GridViewHelper Phase 1: Stammdaten-Grids auf einheitliche Basis migriert

In Phase 1 wurden alle Stammdaten-Grids (Hersteller, Lieferanten, Kontakte, Standorte) auf die neue GridViewHelper-Basis umgestellt. Damit ist eine konsistente Filterfunktion und Export-Option in allen Stammdaten-Ansichten gewährleistet.

5.64.60–5.64.74 Fix BASE 24. Februar 2026

Report-Runner: Initialisierung und Konfigurationsvalidierung stabilisiert

Beim Start des Report-Runner-Dienstes führten fehlende Konfigurationsparameter zu stillen Fehlern. Die Initialisierungsroutine prüft jetzt alle Pflichtparameter und gibt verständliche Fehlermeldungen aus, wenn die Konfiguration unvollständig ist.

Version 5.64.50 – 5.64.59

5.64.50–5.64.59 Funktion BASE 23. Februar 2026

Report-Runner: JasperReports-Integration mit Micro-Service-Architektur

Ein eigenständiger Report-Runner-Microservice (Java/Javalin) wurde eingeführt, der JasperReports-Vorlagen rendert und als REST-Endpoint bereitstellt. Der bisherige JasperStarter-Prozessaufruf bleibt als Fallback erhalten.

5.64.50–5.64.59 Fix BASE 23. Februar 2026

DMS: elFinder-Pfadkonfiguration und Rechtevergabe korrigiert

elFinder startete mit falschen Basispfaden und ignorierte in bestimmten Fällen die konfigurierten Zugriffsrechte. Beide Probleme wurden in der Connector-Konfiguration behoben.

Version 5.64.35 – 5.64.49

5.64.35–5.64.49 Funktion BASE 22. Februar 2026

Admin-Panel: Kategorie-, Testschritt- und Normenverwaltung ausgebaut

Die Administrationsoberfläche für Kalibrierungskategorien, Testschrittvorlagen und Normen wurde vollständig neu implementiert. CRUD-Aktionen, Listenansichten und Validierungsregeln entsprechen jetzt dem einheitlichen Admin-Standard.

5.64.35–5.64.49 Fix BASE 22. Februar 2026

Filterparameter aus URL-Übergabe werden korrekt deserialisiert

Gespeicherte Filterzustände in der URL-Query wurden beim Seitenneuaufruf teilweise falsch interpretiert, was zu leeren Grids führte. Die Deserialisierungslogik wurde korrigiert.

Version 5.64.20 – 5.64.34

5.64.20–5.64.34 Funktion BASE 21. Februar 2026

Demodaten-Seeder: vollständiger Admin-Import-Workflow implementiert

Ein vollständiger Workflow zum Importieren und Entfernen von Demodaten über das Admin-Panel wurde implementiert. Seeder-Klassen für alle Kernmodule (Inventar, Prüfmittel, Kalibrierungen, Dokumente) wurden erstellt.

5.64.20–5.64.34 Fix BASE 21. Februar 2026

Massenbearbeitung: Datumswerte werden korrekt gespeichert

Bei der Massenbearbeitung mehrerer Datensätze wurden Datumsfelder in einigen Fällen mit falschen Zeitzonen-Offsets gespeichert. Die Datumsverarbeitung wurde auf UTC-Basis normiert.

Version 5.64.10 – 5.64.19

5.64.10–5.64.19 Funktion BASE 20. Februar 2026

GridViewHelper v2: Grundlage für einheitliche Grid-Implementierung geschaffen

Die neue GridViewHelper-v2-Klasse wurde entwickelt. Sie kapselt Spalten-Selektor, Export-Button, erweiterten Filter und Paginierung in einer einheitlichen Basis, die von allen Grid-Ansichten genutzt werden kann.

5.64.10–5.64.19 Fix BASE 20. Februar 2026

Caching: Session-basierter Grid-State bleibt nach Login erhalten

Der gespeicherte Filterstatus im Grid ging nach einem erneuten Login verloren, weil er an die Session-ID gebunden war. Der State wird jetzt benutzergebunden im Datenbankprofil gespeichert.

Version 5.64.0 – 5.64.9

5.64.0–5.64.9 Funktion BASE 19. Februar 2026

Minor 5.64 gestartet: Fokus auf Grid-Infrastruktur und Report-Runner

Mit Minor 5.64 beginnt ein neuer Entwicklungszyklus mit dem Schwerpunkt Vereinheitlichung der Grid-Implementierung (GridViewHelper v2) und Einführung des eigenständigen Report-Runner-Microservices. Erste Infrastrukturarbeiten für APEX (V2) laufen parallel.

5.64.0–5.64.9 Fix BASE 19. Februar 2026

PHP 7.4-Kompatibilität: typed properties und nullsafe operator entfernt

Vereinzelte PHP-8-Syntax-Konstrukte (typed properties, ?->) wurden identifiziert und auf PHP-7.4-kompatible Schreibweisen zurückgeführt, um die Produktionskompatibilität sicherzustellen.