Zurück zur Startseite
CHANGELOG

Was sich ändert.

Alle Releases — was neu ist, was behoben wurde. Kein Marketing-Sprech, nur Fakten.

Aktuell live: v1.2.2
v1.2.1Aktuell2026-06-07
NEU

Web: Docs-Seite (`/docs/**`) ist ohne Login öffentlich zugänglich; `NavHeader` mit Login/Demo-CTA ersetzt den bisherigen `LegalLayout`-Header (closes #83)

v1.2.02026-06-06
NEU

Backend/Infra (Stufe 10, #33): Prometheus-`/metrics`-Endpoint (`prometheus/client_golang`) mit HTTP-Request-Latenz (`konductly_http_request_duration_seconds`), GraphQL-Feld-Counts inkl. Fehler-/Cost-Report-Frequenz (`konductly_graphql_field_total{field,success}`) und aktiven WebSocket-Verbindungen (`konductly_websocket_active_connections`). Docker-Compose startet jetzt Prometheus (`:9090`) und Grafana (`:3001`) mit vorprovisioniertem Dashboard „Konductly Overview“ (Request-Latenz, Error-Rate, WS-Verbindungen, Cost-Report-Frequenz) und Prometheus-Datasource – ohne manuelle Konfiguration. Neue Env-Variable `GRAFANA_ADMIN_PASSWORD`.

NEU

Backend: K8s-Auth-Typen `service_account` und `bearer_token` (#23) – entschlüsselte JSON-Hülle `{server, token, caCertPEM}`; TLS-CA-Cert ist Pflicht (kein `InsecureSkipVerify`). Siehe ADR-0008.

NEU

Backend: Audit-Logging für alle mutierenden K8s-/Container-Operationen (#23) – `delete_pod`, `restart_deployment`, `scale_deployment`, `start_container`, `restart_container`, `stop_container`; protokolliert Erfolg und Fehler, ohne Secrets in den Details.

NEU

Web (#59): Öffentliche `/docs`-Seite als Einstiegspunkt für API- und Produkt-Dokumentation (GraphQL-Endpunkt, JWT-Auth-Flow, WebSocket-Subscriptions, Rate Limits sowie Cluster-Verwaltung, Pods/Deployments, Cost Report und Waste Detection). Nav-Header- und Footer-Link „Docs“ verweisen jetzt auf `/docs` (zuvor `#`). Geteiltes `LegalLayout`-Pattern um optionalen `badge`-Prop erweitert.

NEU

Web (#60): `/changelog`-Seite zeigt die live deployte Produktionsversion als Badge „Aktuell live: vX.Y.Z” (zur Build-Zeit via `NEXT_PUBLIC_APP_VERSION` aus dem Git-Tag) und rendert ihre Einträge jetzt dynamisch aus der Repo-Root-`CHANGELOG.md` (Parser `lib/changelog.ts`, Abschnitte Added/Changed/Fixed/…) statt aus hartkodierten Daten. `release-prod.yml`/`release-test.yml` kopieren `CHANGELOG.md` in den Web-Build-Context und setzen `NEXT_PUBLIC_APP_VERSION` (Tag bzw. Short-SHA).

NEU

Web (#63): Dedizierte öffentliche `/sicherheit`-Seite mit Abschnitten zu Verschlüsselung (AES-256-GCM, TLS, Vault), Authentifizierung (JWT, bcrypt), Infrastruktur (EU-Hosting), GraphQL-Schutz (Depth-/Complexity-Limit, Rate Limiting), WebSocket-Auth, Auditing (90d TTL) und Responsible Disclosure; verlinkt auf `/dsgvo` (TOM). Nav-Header-Link „Sicherheit” zeigt jetzt auf `/sicherheit` (zuvor `#sicherheit`); Route in `ALWAYS_PUBLIC` (`proxy.ts`) ergänzt.

NEU

Backend/GraphQL (Stufe 7, #24): Echtzeit-Subscriptions `clusterMetrics` (Node-CPU/Memory, 10 s), `costUpdated` (CostReport pro Cluster, 5 min) und `podStatusChanged` (K8s-Watch, Event bei Pod-Phasenwechsel) – alle mit `@auth` über den WebSocket-Transport (JWT-Prüfung im `connection_init` vor dem Upgrade); Ticker/Watcher werden per `ctx`-Cancel leak-frei beendet. Dedizierte Resolver-Tests (Auth-Pfad, Leak-nach-Cancel, Datenlieferung).

GEÄNDERT

Backend: ungültige Cluster-Credentials (kaputte Kubeconfig, unvollständiges Token-JSON, unbekannter Auth-Typ) werden im GraphQL jetzt auf `UNAUTHENTICATED` gemappt statt auf einen generischen Server-Fehler (#23).

v1.1.02026-06-06
NEU

Backend/Security (Stufe 8, #22): GraphQL Query-Depth-Limit (eigene gqlgen-Extension, `DEPTH_LIMIT_EXCEEDED`), Redis-basiertes Rate-Limiting pro User (Fallback Client-IP, HTTP 429 + `Retry-After`), konfigurierbare Limits via `KONDUCTLY_GQL_COMPLEXITY_LIMIT`/`KONDUCTLY_GQL_DEPTH_LIMIT`/`KONDUCTLY_RATE_LIMIT_RPM`; Tests für Depth-Limit, Rate-Limit (inkl. Fail-open) und WebSocket-Auth.

NEU

Web: Kubeconfig-Upload-Dialog (File-Input + YAML-Paste, Base64-Enkodierung), Scale-Pods-Aktion (inline Replikat-Input), Admin-only-Sichtbarkeit für mutierende Cluster-/Pod-Aktionen (Add/Delete Cluster, Restart/Delete/Scale Pod).

NEU

Backend: `buildRecommendations` als pure Funktion extrahiert; IDLE-Empfehlung (kein CPU/Mem-Request) hinzugefügt; table-driven Tests für RIGHTSIZE/IDLE/Grenzfälle und `GetCostReport`-Integrationspfade (Cache-Hit/Miss, Fehler).

v1.0.22026-06-05
NEU

Web: Dashboard-Seiten für Cluster-Pods, Kosten und Logs.

FIX

Web: GraphQL-Cluster-Liste mit Live-K8s-Metriken wiederhergestellt.

FIX

Web: Landing-Page und GraphQL-Cluster-Ansichten wiederhergestellt.

v1.0.02026-06-05
NEU

Web: Konductly Dark Design System (Theme-Overhaul), Landing-Page nach Spec, Brand-Assets in Nav/Footer, Changelog-/Roadmap-Seite.

NEU

Web: Kubeconfig-Upload-Dialog + Cluster-REST-Anbindung; `clusters`-GraphQL-Query mit Live-Daten (Nodes/Namespaces/Status/Cost).

NEU

Mobile: Flutter-UI (App-Shell, Auth, Clusters, Overview, Settings, Docker).

GEÄNDERT

Web: Google Fonts entfernt zugunsten eines self-hosted System-Font-Stacks.

FIX

Web: Layout-Shift bei der ClusterPane-Animation eliminiert.

FIX

Web: Middleware-Public-Path-Matching – Dashboard-Redirect-Loop behoben.

Was als nächstes kommt — alles Geplante auf der Roadmap.

Zur Roadmap