# MOSAIC Changelog 2.1.006 fuer Entwickler

Stand: 18.04.2026

## Schwerpunkte

- `2.1.005` gilt als eingefrorener Freigabestand.
- Menuepunkte und user-defined Grid-Aktionsbuttons koennen jetzt optional als eigene Security-Objekte modelliert werden.
- `mo_user` nutzt die neue UI-Security-Logik jetzt fuer zentrale Menuepunkte und Lizenz-Aktionsbuttons.
- `security => false` hebelt in Runnern die Rollenrechte jetzt konsequent auch fuer diese UI-Objekte aus.
- Der Demo-Volltest wurde vor der Freigabe am `18.04.2026` erneut erfolgreich ueber `demo` ausgefuehrt.
- Die Release-ZIPs fuer PHP 8.1, 8.2 und 8.3 wurden fuer Version `2.1.006` neu encodiert.

## UI-Security

- Neue optionale Security-Ziele:
  - `menu_item`
  - `action_button`
- Es werden keine neuen Security-Tabellen benoetigt.
- Die Objekte laufen ueber dieselben Tabellen:
  - `iss_apps`
  - `iss_groups_apps`
  - `iss_users_groups`
  - `iss_groups`

## Verhalten

- Ohne explizite `security`-Angabe bleibt das bisherige Verhalten erhalten.
- Mit `security` an einem Menuepunkt oder Grid-Button wird ein eigenes `app_name`-Objekt erzeugt.
- Die Rollenrechte entscheiden dann ueber Sichtbarkeit.
- Bei Grid-Buttons wird die serverseitige Ausfuehrung ebenfalls geprueft.
- Wenn ein Runner `security => false` setzt, werden Rollenrechte fuer den Runner und seine UI-Elemente komplett ignoriert.

## mo_user

- Obere Hauptnavigation in `mo_user/menu/app.php` ist auf eigene Menuepunkt-Rechte vorbereitet.
- Forum-Menue nutzt eigene Menuepunkt-Rechte fuer Versions-Download und Forum-Administration.
- Lizenz-Aktionsbuttons im Grid `01_ihre_lizenzen/lizenzen_grid.cfg` laufen jetzt ueber eigene Button-Rechte.
- Die Synchronisierung in `mo_user/login/sync_iss_security_lib.php` schreibt die neuen UI-Objekte und Gruppenrechte in die Security-Tabellen.

## Hinweise fuer Entwickler

- UI-Rechte sind optional und rueckwaertskompatibel.
- Ein ausgeblendeter Button ersetzt keine serverseitige Rechtepruefung.
- Fuer neue Projekte sollten nur fachlich relevante Menueinstiege und Aktionsbuttons als eigene Security-Objekte modelliert werden.

## Demo-Volltest und Freigabe

- Der Demo-Volltest wurde am `18.04.2026` erneut ueber `demo` ausgefuehrt und ist **freigegeben**.
- Geprueft wurden:
  - `demo` auf MariaDB 10.4.32
  - `demo_mssql` auf Microsoft SQL Server 2022 Express 16.0.1000.6
  - `demo_pgsql` auf PostgreSQL 17.9
  - `demo_oracle` auf Oracle AI Database 26ai Free Release 23.26.0.0.0
  - `demo_sqlite` auf SQLite 3.36.0
- Alle 5 Datenbanken laufen im Volltest mit `PASS`.
- Die aktuelle Excel-Uebersicht des freigegebenen Laufs wird an die offizielle Freigabe im Forum angehaengt.

## Release-Pakete

- `iss_php8_1_v2.1.006.zip`
- `iss_php8_2_v2.1.006.zip`
- `iss_php8_3_v2.1.006.zip`