forked from viewit/KX-Bridge-Release
224 lines
8.7 KiB
Markdown
224 lines
8.7 KiB
Markdown
# Changelog
|
||
|
||
## [0.9.3] – 2026-05-01
|
||
|
||
### Fixes
|
||
- **Update-Check:** Stable-User erhalten keine Dev-Pre-Releases mehr — `STABLE_RELEASE_API` hatte `pre-release=true`, wodurch stabile Installationen Dev-Builds statt stabiler Releases fanden (Issue #14)
|
||
- **Version nach Update:** `VERSION`-Datei wird jetzt im Docker-Image mitgeliefert (`COPY VERSION .`) — `_write_version()` benötigt eine vorhandene Datei, ohne die wurde die Version nach dem Self-Update nie aktualisiert (Issue #14)
|
||
|
||
### Neu
|
||
- **Version im Header:** Laufende Version wird im Web-UI-Header neben dem Druckernamen angezeigt — kein Öffnen der Einstellungen nötig (Issue #14)
|
||
|
||
---
|
||
|
||
## [0.9.2] – 2026-04-29
|
||
|
||
### ⚠️ Breaking Change: Konfiguration wechselt von `.env` zu `config/config.ini`
|
||
|
||
**Migration erfolgt automatisch** beim ersten Start — keine manuelle Aktion nötig.
|
||
|
||
- Einstellungen werden ab sofort aus `config/config.ini` gelesen statt aus `.env`
|
||
- Beim ersten Start ohne `config.ini` wird die Datei automatisch aus `.env` erstellt
|
||
- **Docker:** Volume `./config:/app/config` in `docker-compose.yml` ist der persistente Speicherort — Einstellungen überleben `docker-compose restart` und Updates
|
||
- **Standalone:** `config/config.ini` liegt neben der Binary und wird bei Updates nicht überschrieben
|
||
- `.env` bleibt als read-only Fallback gemountet — kann liegen bleiben
|
||
- Zum manuellen Anlegen einer `config.ini`: Vorlage unter `config/config.ini.example`
|
||
|
||
### Neu
|
||
- **Persistente Einstellungen:** `config/config.ini` ersetzt `.env` — Einstellungen gehen nach `docker-compose restart` nicht mehr verloren (Issue #9)
|
||
- **Verbindungsfehler-Banner:** Roter Banner oben in der Web-UI wenn MQTT-Verbindung fehlschlägt (z.B. falsches Passwort, Drucker nicht erreichbar) (Issue #11)
|
||
- **Slicer-Schätzzeit:** Geschätzte Gesamtdruckzeit aus dem GCode-Header wird im Fortschritts-Panel angezeigt
|
||
|
||
### Fixes
|
||
- README: OrcaSlicer-Verbindung explizit mit `http://` und Port `:7125` dokumentiert (Issue #12)
|
||
- README: Direkter Download-Link für `extract_credentials` auf Gitea-Releases (Issue #13)
|
||
|
||
---
|
||
|
||
## [0.9.1-dev] – laufend (dev-Branch)
|
||
|
||
### Neu
|
||
- **Dev-Branch-Infrastruktur:** Versionsschema `0.9.1-dev+<hash>` — jeder Build eindeutig identifizierbar
|
||
- **Separater Update-Kanal:** Dev-Versionen prüfen auf Gitea Pre-Releases mit `-dev+` im Tag
|
||
- **AMS-Slot-Auswahl:** Einstellung „Standard-Slot (Einfarbdruck)" im Settings-Modal — fixiert einen bestimmten AMS-Kanal oder Auto (alle belegten Slots)
|
||
- **Auto-Leveling:** Checkbox im Settings-Modal — steuert `task_settings.auto_leveling` beim Druckstart
|
||
- **MQTT-Logging:** Strukturiertes TX/RX-Log mit Duplikat-Filter (`kobrax.mqtt` Logger)
|
||
- **Server-Log im Browser:** Live-Stream via SSE (`/api/log/stream`) — alle Server-Logs erscheinen im Log-Tab der UI
|
||
- **Log-Tab Verbesserungen:**
|
||
- Auto-Scroll ein/aus — deaktiviert sich beim manuellen Hochscrollen, Button zum Reaktivieren
|
||
- Textfilter — Live-Filterung der Log-Einträge
|
||
- Error-Badge — roter Zähler im Tab-Button bei Fehlern/Warnungen
|
||
- Clear-Button — Buffer leeren
|
||
- Download-Button — letzte 500 Einträge als `kx-bridge.log`
|
||
- Log-Fenster füllt den gesamten verfügbaren Platz (statt fester Höhe 160px)
|
||
- **Log-Buffer:** 500 Einträge (Server + Browser vereinheitlicht)
|
||
- **Changelog im Update-Dialog:** Release-Notes aus Gitea werden direkt im Update-Dialog angezeigt
|
||
- **Slicer-Schätzzeit:** Geschätzte Gesamtdruckzeit aus dem GCode-Header im Fortschritts-Panel
|
||
|
||
---
|
||
|
||
## [0.9.1-beta15] – 2026-04-26
|
||
|
||
### Fixes
|
||
- AMS: Leere Slots werden beim Druckstart übersprungen — kein `filament runout` mehr bei unbelegten Kanälen (Issue #5)
|
||
- AMS: Material-Typ wird jetzt korrekt aus dem Drucker-Protokoll gelesen (Feld `type` statt `material_type`)
|
||
- AMS UI: Leere Slots werden grau/transparent mit „Leer"-Label dargestellt
|
||
|
||
---
|
||
|
||
## [0.9.1-beta14] – 2026-04-26
|
||
|
||
### Fixes
|
||
- Z-Achse: ▲ fährt jetzt aufwärts (Z+), ▼ abwärts (Z−) — Pfeile waren vertauscht (Issue #4)
|
||
- Home All: korrekter Achsen-Code 5 — homed alle Achsen XYZ (Issue #4)
|
||
- Neuer Button „Home XY" (axis=4) in der UI
|
||
- Neuer Button „Motoren aus" (axis turnOff) in der UI
|
||
|
||
---
|
||
|
||
## [0.9.1-beta13] – 2026-04-26
|
||
|
||
### Fixes (Windows)
|
||
- Self-Update / Settings-Neustart: `os.execv` funktioniert jetzt korrekt in der PyInstaller-Binary
|
||
- Kamera: `ffmpeg nicht gefunden` crasht nicht mehr — saubere 503-Antwort wenn ffmpeg fehlt
|
||
- Reconnect-Loop: Kurze leere TCP-Reads unter Windows lösen keine sofortigen Reconnects mehr aus
|
||
|
||
### Struktur
|
||
- `bridge/`: Bridge-Dateien aus `05_scripts/` herausgelöst
|
||
- `tools/`: `extract_credentials.py` als eigenständiges Tool mit eigenem README
|
||
- `_archive/`: RE-Forschungsordner, Analyse-Tools und alte Release-Checksums archiviert
|
||
- README komplett neu: klarer 3-Schritte-Schnellstart
|
||
|
||
---
|
||
|
||
## [0.9.1-beta12] – 2026-04-25
|
||
|
||
### Fixes
|
||
- Falsche MQTT-Zugangsdaten zeigen jetzt eine verständliche Fehlermeldung statt des kryptischen `CONNACK failed: 20020005`
|
||
|
||
---
|
||
|
||
## [0.9.1-beta11] – 2026-04-25
|
||
|
||
### Fixes
|
||
- Drucker-IP wird automatisch bereinigt wenn der Nutzer versehentlich den Port miteingibt (z.B. `192.168.1.102:9883` → `192.168.1.102`)
|
||
- Settings-Modal: Hinweis erscheint wenn ein `:` in der IP erkannt wird
|
||
- `docker-compose.yml`: `.env` als Volume gemountet — Einstellungen bleiben nach `docker-compose restart` erhalten
|
||
|
||
---
|
||
|
||
## [0.9.1-beta10] – 2026-04-25
|
||
|
||
### Neu
|
||
- `start.sh` — startet die Bridge per Docker, baut das Image automatisch beim ersten Aufruf
|
||
- Tests: pytest-Suite (19 Tests) für API-State, Moonraker-Endpunkte, Settings; Installations-Smoke-Test (`test_install.sh`)
|
||
- Settings-Modal öffnet sich beim ersten Start automatisch wenn keine Zugangsdaten hinterlegt sind
|
||
|
||
### Geändert
|
||
- README: Schnellstart zeigt jetzt `./start.sh` statt manuellem `docker build`
|
||
- README: LAN-Modus korrekt als Drucker-Menüoption beschrieben
|
||
- README: Versionsnummer wird ab jetzt automatisch bei jedem Release aktualisiert
|
||
- `extract_credentials`: `--write-env` nicht mehr empfohlen — Werte im ⚙-Menü eintragen
|
||
- Dockerfile im Release-Repo: Pfade ohne `05_scripts/`-Präfix
|
||
- `release.sh`: Dockerfile für Release-Repo automatisch per `sed` angepasst
|
||
|
||
### Fixes
|
||
- Restdruckzeit (`remain_time`) wird jetzt korrekt aus `print/report` übernommen und in der UI angezeigt
|
||
- Übersetzungen: „Schrittweite" und „Ziel"-Placeholder in Temperatureingaben korrekt übersetzt
|
||
|
||
---
|
||
|
||
## [0.9.1-beta9] – 2026-04-25
|
||
|
||
### Neu
|
||
- OrcaSlicer-Profil (`kobra_x_orcaslicer_preset.zip`) als Release-Asset
|
||
- `release.sh`: OrcaSlicer-Profil wird automatisch ins Release-Repo kopiert und hochgeladen
|
||
|
||
### Geändert
|
||
- README: `extract_credentials` ohne `--write-env`, Werte manuell im ⚙-Menü eintragen
|
||
- README: Docker-Schnellstart vereinfacht
|
||
|
||
---
|
||
|
||
## [0.9.1-beta8] – 2026-04-25
|
||
|
||
### Neu
|
||
- Restdruckzeit-Anzeige in der UI (≈ Xh Ym verbleibend) aus `remain_time`-Feld
|
||
- Settings-Modal: Verbindungseinstellungen und Self-Update direkt im Browser
|
||
- Self-Update: Bridge prüft Gitea-Release-API auf neue Versionen und aktualisiert sich selbst
|
||
|
||
### Geändert
|
||
- Bridge startet im Offline-Modus wenn Drucker nicht erreichbar (kein Absturz)
|
||
- Verbinden/Trennen-Button im Header
|
||
|
||
---
|
||
|
||
## [0.9.1-beta7] – 2026-04-22
|
||
|
||
### Neu
|
||
- Offline-Start: Bridge läuft auch ohne MQTT-Verbindung, verbindet automatisch sobald Drucker erreichbar
|
||
- Verbinden/Trennen-Button im Header
|
||
|
||
---
|
||
|
||
## [0.9.1-beta6] – 2026-04-20
|
||
|
||
### Neu
|
||
- Release-ZIPs: `kx-bridge-linux.zip`, `kx-bridge-windows.zip`, `anycubic-certs.zip` mit Zertifikaten
|
||
|
||
### Fixes
|
||
- PyInstaller frozen-Binary: `__file__` durch `sys.executable`-Pfad ersetzt (Cert-Pfad-Fix)
|
||
|
||
---
|
||
|
||
## [0.9.1-beta5] – 2026-04-19
|
||
|
||
### Neu
|
||
- `kx-bridge.exe` (Windows) wird automatisch via GitHub Actions gebaut
|
||
|
||
---
|
||
|
||
## [0.9.1-beta4] – 2026-04-18
|
||
|
||
### Neu
|
||
- `release.sh`: baut Linux-Binary und Windows-EXE, lädt alle Assets auf Gitea hoch
|
||
- Englische README (`README.en.md`)
|
||
|
||
### Fixes
|
||
- `progress` und `filename` werden bei `stoped`/`canceled` korrekt auf 0 zurückgesetzt
|
||
|
||
---
|
||
|
||
## [0.9.1-beta3] – 2026-04-17
|
||
|
||
### Neu
|
||
- Druckgeschwindigkeit-Karte (Leise / Normal / Sport)
|
||
- Übersetzungen (DE/EN) vervollständigt
|
||
|
||
---
|
||
|
||
## [0.9.1-beta2] – 2026-04-17
|
||
|
||
### Fixes
|
||
- Temperatursteuerung während eines laufenden Drucks
|
||
|
||
---
|
||
|
||
## [0.9.1-beta1] – 2026-04-17
|
||
|
||
### Neu
|
||
- UI-Komplettüberarbeitung: Settings-Modal, Self-Update, Dashboard, Responsive Design
|
||
- Neue Drucker-Zustände: `pausing`, `paused`, `resuming`, `resumed`, `stopping`
|
||
- `release.sh`: Version-Bump und Release-Sync Skript
|
||
|
||
---
|
||
|
||
## [0.9.0-beta1] – 2026-04-10
|
||
|
||
### Neu
|
||
- Erster öffentlicher Release
|
||
- Docker-Deployment, Linux-Binary, `extract_credentials`-Tool
|
||
- Moonraker-kompatible HTTP/WebSocket-Bridge für den Anycubic Kobra X
|
||
- AMS Einziehen/Ausziehen, Licht- und Lüftersteuerung
|
||
- Web-UI mit Dashboard, Temperaturkarten, Achsensteuerung
|