CW – Control & Watch 3.0.0-alpha2
================================

Zweiter Alpha-Release von CW – Control & Watch.

Schwerpunkt dieses Releases:

- deutlich robusteres Fehlerhandling
- internes Fehlerprotokoll für Support und Entwicklung
- PDF-Fehlerberichte für Kunden und Agenturen
- zentrale Frontend-Dokumentpipeline für Module
- zusätzliche Modul-Sicherheitsprüfung
- WAF-Scope-Unterstützung für dynamische Frontend-Routen
- neutraler Fullsource mit CW Minimal Starter

Neu: zentrale Fehlerbehandlung

- Leere weiße Seiten bei PHP-/Modulfehlern werden durch eine kontrollierte CW-Fehlerseite ersetzt.
- Jeder Fehler erhält eine eindeutige Fehler-ID.
- Auf lokalen bzw. Development-Systemen können angezeigt werden:
  - Fehlertyp
  - Bereich
  - Datei
  - Zeile
  - Fehlermeldung
  - begrenzter Codeausschnitt
- Auf Produktivsystemen werden interne Dateipfade, Quellcode und technische Details nicht öffentlich ausgegeben.

PDF-Fehlerbericht

- Fehlerberichte können direkt von der Fehlerseite als PDF heruntergeladen werden.
- Der Bericht eignet sich zur Weitergabe an Websitebetreiber, Agentur oder technischen Support.
- Development-Berichte können technische Details und Codeausschnitt enthalten.
- Produktionsberichte beschränken sich auf sichere Supportinformationen und die Fehler-ID.

Backend-Fehlerprotokoll

- Neuer Bereich unter System -> Fehlerprotokoll.
- Suche nach Fehler-ID, Fehlermeldung, Datei, Request oder Modul.
- Filter nach Status, Bereich und Zeitraum.
- Detailansicht mit technischen Informationen und Codeausschnitt.
- PDF erneut herunterladen.
- Fehler archivieren und wiederherstellen.
- Fehler nach Bestätigung dauerhaft löschen.
- Übersicht über aktive, archivierte und gesamte Fehler.

Fehlerlogs

- Neue Fehler werden früh und unabhängig vom restlichen CW protokolliert.
- Speicherung unter:

  storage/errors/YYYY-MM-DD.jsonl

- Archivstatus wird separat verwaltet.
- Der Logordner ist gegen direkten Webzugriff geschützt.

Frontend-Dokumentpipeline

- Neue zentrale CW-Pipeline für Transformationen des fertig gerenderten Frontend-Dokuments.
- Module registrieren ihre Filter über die CW-API statt eigene globale Output-Buffer-Callbacks zu verwenden.
- Dadurch bleibt das zentrale CW-Fehlerhandling wirksam.
- Fehlerhafte Filter können auf Produktion fail-open behandelt werden.

Modul-Sicherheit

- Module werden vor Frontend-/Aktivierungs-/Update-Tests auf eigene PHP-Output-Handler über ob_start(callback) geprüft.
- Plain ob_start() für lokales Template-Rendering bleibt erlaubt.
- Unsichere Callback-Buffer werden mit einem CW Module Safety Error abgewiesen.
- Wiederkehrende Modulfehler können dadurch sauber über Fehler-ID und Fehlerprotokoll analysiert werden.

Dynamische Frontend-Routen / WAF

- Dynamische Routen können jetzt einen eigenen WAF-Scope definieren.
- Ohne explizite Angabe bleibt der vorhandene Scope public aktiv.
- Dadurch können Module kontrollierte POST-Endpunkte betreiben, ohne die allgemeinen Public-WAF-Regeln aufzuweichen.

Fullsource / Startprojekt

- Der Fullsource bleibt neutral und enthält keine aktive Entwicklungswebsite.
- Installierte Module aus cw.test werden nicht übernommen.
- Laufzeitdaten, Benutzerkonten, Logs, Datenbanken, Caches und lokale Konfigurationen werden nicht übernommen.
- Als neutrales Startprojekt wird CW Minimal Starter 1.0.0-alpha1 verwendet.

Voraussetzungen:

- PHP 8.2 oder neuer
- PDO SQLite
- mbstring
- OpenSSL
- ZIP

Datenbankmigration:

- keine neue CW-Datenbankmigration erforderlich

Status:

Alpha / Preview
