# Changelog - PointCab Renamer

Alle wichtigen Änderungen an diesem Projekt werden hier dokumentiert.

---

## [v4.2.1] - 2026-01-16

### Behoben
- **build_linux.sh überarbeitet und getestet**
  - Verwendet `python3 -m PyInstaller` für bessere Kompatibilität
  - Verbesserte Voraussetzungsprüfungen
  - Bessere Fehlerbehandlung und Statusmeldungen
  - ✅ GETESTET: Funktioniert erfolgreich

- **build_windows_wine.sh überarbeitet**
  - Bessere Erkennung von Headless-Umgebungen
  - Automatische Xvfb-Unterstützung falls verfügbar
  - Klare Warnungen zu Wine-Einschränkungen
  - Hilfreiche Alternativ-Vorschläge bei Fehlern
  - ⚠️ HINWEIS: Wine-Builds in Headless-Umgebungen oft problematisch

### Dokumentation
- Build-Skript-Versionsnummern auf 4.2.1 aktualisiert
- DEPLOYMENT.md mit Testergebnissen aktualisiert

### Bekannte Einschränkungen
- Wine-basierte Windows-Builds funktionieren nicht zuverlässig auf Headless-Servern
- Empfehlung: Windows .exe auf echtem Windows-System erstellen

---

## [v4.2] - 2026-01-16

### Behoben
- **Windows build_windows.bat komplett überarbeitet**
  - Verwendet jetzt `py` statt `python` (Python Launcher für Windows)
  - Verwendet `py -m PyInstaller` statt direktem `pyinstaller`-Aufruf
  - Korrekte --add-data Syntax für Windows (Semikolon als Trennzeichen)
  - Verbesserte Fehlerbehandlung und Statusmeldungen

- **cluster_cleanup.txt Parser verbessert**
  - Unterstützt jetzt UTF-8-BOM (von Windows-Editoren erzeugt)
  - Robustere Behandlung von Leerzeilen und Kommentaren
  - Gibt jetzt Anzahl geladener Einträge aus

### Hinzugefügt
- **cluster_cleanup.txt erweitert**
  - Neue Einträge: `_part_1`, `_part_2`, `_part_3`, `_part_4`, `_part_5`

- **Git-Repository Setup**
  - `.gitignore` für sauberes Repository
  - `GIT_SETUP.md` mit Anleitung für Gitea/GitHub Push

### Dokumentation
- VERSION.txt aktualisiert
- CHANGELOG.md erweitert

---

## [v4.1.1] - 2026-01-14

### Hinzugefügt
- **Cross-Compilation-Unterstützung**: Windows .exe unter Linux erstellen
  - `build_windows_on_linux.sh`: Docker-basiertes Build (empfohlen)
  - `build_windows_wine.sh`: Wine-basiertes Build (Fallback)
  - GitHub Actions Workflow-Beispiel für automatisierte Builds

### Dokumentation
- DEPLOYMENT.md um Cross-Compilation-Sektion erweitert
  - Schritt-für-Schritt-Anleitung für Docker-Methode
  - Troubleshooting für häufige Probleme
  - Vergleichstabelle der Build-Methoden
- README.md mit Build-Optionen aktualisiert

---

## [v4.1] - 2026-01-14

### Behoben
- **Projektmerger LSDx-Zusammenführung komplett überarbeitet**
  - Cluster-Duplikat-Erkennung: Verhindert doppelte Cluster bei gleichem Namen
  - Scans werden korrekt dem existierenden oder neuen Cluster zugeordnet
  - Parent-Referenzen werden korrekt gesetzt (Cluster→Registration, Scan→Cluster)
  - Detailliertes Logging aller Merge-Operationen
  - Finale Scan/Cluster-Statistik nach Merge

### Verbessert
- LSDX-Struktur im Code dokumentiert
- Verbesserte Fehlerbehandlung beim Merge

---

## [v4.0] - 2026-01-10

### Hinzugefügt
- **Projekt Merger**: Neuer Modus zum Zusammenführen mehrerer PointCab-Projekte
  - Einzelprojekt-Merge: Ein Quellprojekt → Zielprojekt
  - Batch-Merge: Mehrere Quellprojekte → Zielprojekt
  - Intelligente Konfliktauflösung mit `_merged_N` Suffix
  - Vollständige LSDX-Zusammenführung (Cluster, Scans, Dateireferenzen)
  - UUID-Regenerierung für alle übertragenen Elemente
  - Automatisches Backup der Ziel-LSDX vor dem Merge

### Verbessert
- Neue GUI für den Merger mit Konfliktvorschau
- Batch-Merge mit Fortschrittsanzeige

---

## [v3.1] - 2026-01-05

### Geändert
- **Neues Namensformat**: `[ClusterName]_[ScanName].[Erweiterung]`
  - Vorher: `[ClusterName].[Erweiterung]`
  - Nachher: `EG_Flur_scan001.lsd`
- Scan-Namen werden aus der LSDX extrahiert
- Cluster-Nummer-Duplikate werden vermieden

---

## [v3.0] - 2025-12-20

### Hinzugefügt
- **Batch-Verarbeitung**: Mehrere Projekte gleichzeitig umbenennen
  - Automatische Projekterkennung im Basisordner
  - Selektive Projektauswahl
  - Fortschrittsanzeige für Batch-Operationen
  - Zusammenfassendes Batch-Log

### Verbessert
- GUI-Umstrukturierung mit Hauptmenü
- Verbesserte Fehlerbehandlung bei Dateioperationen

---

## [v2.0] - 2025-12-01

### Hinzugefügt
- **Cluster-Bereinigung**: Automatische Entfernung von Suffixen
  - Konfigurierbar über `cluster_cleanup.txt`
  - Entfernt `_re`, `_li`, `_mi`, etc.
- Button "Konfiguration neu laden"

### Verbessert
- Verbesserte Vorschau der Umbenennung
- Detaillierteres Logging

---

## [v1.0] - 2025-11-15

### Erstveröffentlichung
- Grundfunktion: LSDX-Dateien einlesen
- Scans aus PointCloud-Ordner umbenennen
- Grafische Benutzeroberfläche (tkinter)
- Vorschau vor Umbenennung
- Log-Datei-Erstellung

---

## Geplante Features

- [ ] Kommandozeilen-Unterstützung (CLI-Modus)
- [ ] Rückgängig-Funktion für Umbenennungen
- [ ] Automatische Updates
- [ ] Mehrsprachige Unterstützung (Englisch)

---

*Hinweis: Dieses Changelog folgt dem Format von [Keep a Changelog](https://keepachangelog.com/).*
