Bisher gab es nur Tags - eine Markierung im Verlauf. Eine Release ist ein Eintrag in Gitea mit Titel und Beschreibung, sichtbar, abonnierbar, verlinkbar. npm run releases:sync liest das CHANGELOG, nimmt jeden Abschnitt, zu dem es ein Tag gibt, und legt daraus eine Release an; ein zweiter Lauf aktualisiert nur Geaendertes. "Unreleased" bleibt aussen vor, weil es dazu kein Tag gibt. Fuenf Tests decken die Zerlegung ab. Der Lauf gegen Gitea scheitert derzeit an den Zugangsdaten: Hinterlegt ist ein elfstelliges Passwort, kein API-Token. Fuer Releases braucht es write:repository, fuer den Issue-Abgleich issue:write. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Issue-Übersicht
Details und Architektur: ../architektur.md. Zeiten werden aus dem DEVLOG übernommen.
| Nr. | Titel | Status | Meilenstein | Geschätzt | Tatsächlich |
|---|---|---|---|---|---|
| #001 | Projekt-Setup | erledigt | v0.1.0 | 3 h | 0 h 08 min |
| #002 | Klickbarer Prototyp | erledigt | v0.1.0 | 8 h | 0 h 20 min |
| #003 | Datenmodell und Migrationen | erledigt | v0.1.0 | 5 h | 0 h 25 min |
| #004 | Agent-API | erledigt | v0.1.0 | 6 h | 0 h 20 min |
| #005 | Agent-Skript | erledigt | v0.2.0 | 8 h | 0 h 25 min |
| #006 | Kunden, Standorte und Hostzuweisung | erledigt | v0.3.0 | 6 h | 0 h 35 min |
| #007 | Host-Tabelle, Suche und Detailansichten | erledigt | v0.4.0 | 8 h | 0 h 25 min |
| #008 | Laufzeiten und Rechnungen | erledigt | v0.5.0 | 10 h | 0 h 35 min |
| #009 | Kundenübersicht, Dashboard und Jahresbahn | erledigt | v0.6.0 | 8 h | 0 h 15 min |
| #010 | Export CSV und PDF | erledigt | v0.6.0 | 5 h | 0 h 20 min |
| #011 | Warnregeln | erledigt | v0.7.0 | 8 h | 0 h 30 min |
| #012 | Benachrichtigungen | erledigt | v0.8.0 | 6 h | 0 h 25 min |
| #013 | Authentifizierung und Audit-Log | erledigt | v0.9.0 | 6 h | 0 h 30 min |
| #014 | Deployment und Dokumentation | erledigt | v0.10.0 | 8 h | 0 h 40 min |
| #015 | Feinschliff für 1.0 | erledigt | v0.11.0 | 6 h | 0 h 35 min |
| #016 | Benutzerhandbuch mit Screenshots | erledigt | v0.12.0 | 5 h | 0 h 30 min |
| #017 | Favicon-Dateien erzeugen | erledigt | v0.12.1 | 1 h | 0 h 15 min |
| #018 | Agent auf echten Proxmox-Hosts prüfen | erledigt | v0.14.0 | 2 h | 0 h 40 min |
| #019 | CI-Pipeline | erledigt | v0.13.0 | 3 h | 0 h 20 min |
| #020 | Issues nach Gitea übertragen | erledigt | v0.4.1 | 2 h | 0 h 10 min |
| #021 | Zugangsdaten verschlüsselt speichern | erledigt | v0.13.1 | 2 h | 0 h 20 min |
| #022 | Cluster-Abgleich | erledigt | v0.14.0 | 3 h | 0 h 25 min |
| #023 | Feldtest auf PBS und PMG | erledigt | v1.0.0 | 2 h | 0 h 35 min |
| #024 | Härtung nach OWASP | erledigt | v0.15.0 | 4 h | 0 h 45 min |
| #025 | Einstellungen im Dashboard | erledigt | v0.16.0 | 5 h | 1 h 10 min |
| #026 | Auslieferung finalisieren | erledigt | v0.17.0 | 3 h | 0 h 40 min |
| #027 | Rollen und Benutzerverwaltung | erledigt | v0.18.0 | 6 h | 1 h 20 min |
| #028 | Anmeldung mit Passkeys | erledigt | v0.18.0 | 4 h | 0 h 45 min |
| #029 | Einrichtungsdokumentation | erledigt | v0.19.0 | 3 h | 0 h 40 min |
| #030 | netbird Reverse Proxy in die Anleitung | erledigt | v0.19.1 | 1 h | 0 h 20 min |
| #031 | Update- und Sicherungsskript für beide Varianten | erledigt | v0.20.0 | 2 h | 0 h 45 min |
| #032 | LXC-Installation: Herkunft der Skripte und Speicher | erledigt | v0.20.1 | 1 h | 0 h 20 min |
| #033 | Abmelden führte auf die Lausch-Adresse | erledigt | v0.20.1 | 1 h | 0 h 30 min |
| #034 | Bedienung auf dem Handy | erledigt | v0.20.2 | 2 h | 0 h 40 min |
| #035 | Tabellen auf dem Handy als Karten | erledigt | v0.21.0 | 3 h | 0 h 50 min |
| #036 | Standort am Host setzen | erledigt | v0.21.0 | 1 h | 0 h 30 min |
| #037 | Rabatt je Position und der tatsächliche Ablauf | erledigt | v0.22.0 | 3 h | 0 h 55 min |
| #038 | Seite wird auf dem Handy herausgezoomt | erledigt | v0.22.1 | 2 h | 0 h 40 min |
| #039 | Auf dem Telefon führte kein Weg zur Laufzeit | erledigt | v0.22.2 | 1 h | 0 h 30 min |
| #040 | Schlagworte und Notizen sichtbar machen | erledigt | v0.23.0 | 2 h | 0 h 40 min |
| #041 | Gleichnamige Hosts erkennen und stilllegen | erledigt | v0.24.0 | 3 h | 0 h 50 min |
| #042 | Cluster-Knoten falsch gelesen bei QDevice | erledigt | v0.24.1 | 1 h | 0 h 20 min |
| #043 | Laufzeiten anlegen, bearbeiten, zusammenführen | erledigt | v0.25.0 | 4 h | 1 h 05 min |
| #044 | Eigene Hosts ohne Weiterberechnung | erledigt | v0.26.0 | 2 h | 0 h 40 min |
| #045 | Wiederherstellung proben und Skript dafür | erledigt | v0.27.0 | 2 h | 0 h 50 min |
| #046 | Releases in Gitea statt nur Tags | erledigt | v1.0.1 | 1 h | 0 h 25 min |
| Summe | 178 h | 25 h 53 min |