# MOSAIC Changelog 2.1.004 fuer Entwickler

Stand: 17.04.2026

## Schwerpunkte

- Projekt-Security ist jetzt zentral ueber `mosaic_config.lic` steuerbar.
- Datenaenderungen koennen projektweit zentral in `iss_log` auditiert werden.
- Generatoren und Runner wurden auf den aktuellen Kernkanon nachgezogen.
- `lic`-Dateien wurden im Kern weiter vereinheitlicht und gegen konkurrierende Schreibzugriffe abgesichert.

## Konfiguration

- `mosaic_config.lic` enthaelt jetzt den Block `security.project_enabled`.
- `mosaic_config.lic` enthaelt jetzt den Block `logging.project_enabled`.
- `mosaic_config.lic` wird mit eigenem Shared Key verarbeitet.
- `db_connection.lic` verwendet einen eigenen Shared Key.

## Security

- Wenn `security.project_enabled = false` ist, ignoriert der Kern Rollenrechte global.
- Wenn `security.project_enabled = true` ist, werden die Rechte ueber `iss_apps`, `iss_groups`, `iss_groups_apps` und `iss_users_groups` ausgewertet.
- Runner koennen mit `security => false` bewusst aus der Rechtepruefung herausgenommen werden.
- Die Security-Karteikarte in der Projektkonfiguration erkennt fehlende Security-Tabellen und bietet editierbaren SQL zur Anlage an.

## Logging

- Neues zentrales Audit-Logging fuer Insert, Update und Delete in `iss_log`.
- Die Protokollierung wird in den zentralen CRUD-Pfaden des Kerns erzwungen und kann nicht pro Runner deaktiviert werden.
- BLOB-, Grafik-, Bild- und Dateifelder werden nicht als Wertedump in `iss_log` gespeichert.
- Neue Admin-/Anzeige-Komponenten:
  - `_pgm/admin/create_log.php`
  - `_pgm/show_log.php`

## Generatoren und Admin

- `create_menu.php` kennt jetzt den erweiterten Runner-Kanon inklusive `show_log.php`.
- `create_login.php` bietet ein konfigurierbares Ziel nach erfolgreichem Login.
- `create_login.php` behandelt den Security-Reiter nur noch als Hinweis auf die Projektkonfiguration.
- Die Admin-Oberflaeche wurde fuer Rechteverwaltung und Root-Admin-Kontext nachgezogen.

## Lizenz- und Konfigurationsdateien

- Schreibzugriffe auf `*.lic` werden zentral mit Sperre und atomischem Ersetzen abgesichert.
- Fehlende `mosaic_licence.lic` wird wieder als Entwicklungsmodus behandelt.
- Form/Grid zeigen in diesem Fall wieder den Hinweis `MOSAIC im Entwicklungsmodus.`

## Hinweise fuer Entwickler

- Eigene Rechte- oder Logging-Nebenstrukturen sollten nicht mehr parallel aufgebaut werden.
- Fuer projektweite Sicherheit ist `mosaic_config.lic` die einzige verbindliche Quelle.
- Fuer Release-Pakete muessen die aktualisierten MOSAIC-Markdown-Dateien mit ausgeliefert werden.