Changelog

Alle Änderungen an SHIFTDECK — vollständig und chronologisch.

v1.26 16. April 2026 Aktuell
✨ Neu – Öffentliche System-Status-Seite
  • Neue öffentliche Seite /status.html im Stil einer Statuspage (statuspage.io)
  • Live-Anzeige aller 7 Systemkomponenten: Webseite, API, Admin-Panel, Datenbank, Mobile App, E-Mail-Versand, Zahlungen
  • Auto-Refresh alle 60 Sekunden — immer aktueller Stand ohne Neuladen
  • 90-Tage-Historie pro Service als farbige Balken-Grafik mit Uptime-Prozent
  • 5 Status-Stufen: Betriebsbereit / Leichte Störung / Teilausfall / Großer Ausfall / Wartung
  • Aktive Vorfälle mit Zeitstrahl (Untersuchung → Identifiziert → Beobachtung → Behoben)
  • Geplante Wartungen mit Start- und Endzeitfenster
  • Liste der kürzlich gelösten Vorfälle (14 Tage zurück)
🛠️ Neu – Admin-Verwaltung für Status-System
  • Neue Admin-Seite /admin-status.html mit 4 Tabs: Übersicht, Services, Vorfälle, Wartungen
  • Schnellaktionen: Vorfall melden, Wartung planen, Service hinzufügen — alles mit einem Klick
  • Incident-Workflow: Vorfall anlegen → Updates hinzufügen → automatisches Lösen inkl. Service-Rücksetzung
  • Bei kritischen Vorfällen werden betroffene Services automatisch auf „Großer Ausfall" gesetzt
  • Beim Lösen eines Vorfalls werden betroffene Services automatisch wieder auf „Betriebsbereit" gesetzt
🔌 Neue API-Endpunkte
  • GET /api/status/?action=overview — kompletter Status in einem Call
  • GET /api/status/?action=services|incidents|maintenance|history
  • POST/PUT/DELETE — Admin-Verwaltung (X-Admin-Key: SD-Admin-2026)
  • Alle Endpunkte mit CORS-Support und Admin-Authentifizierung
🗃️ SQL-Migration
  • Neue Datei Datenbank/status_system.sql mit 4 Tabellen:
  • status_services — Systemkomponenten mit Status und Uptime
  • status_incidents — Vorfälle mit Schweregrad und Verlauf
  • status_incident_updates — Zeitstrahl je Vorfall
  • status_maintenance — Geplante Wartungen
  • Tabellen werden automatisch bei erster API-Abfrage angelegt — manueller Import optional
🔗 Footer-Integration
  • Neuer Menüpunkt „System-Status" im Footer aller statischen Seiten (features, download, kontakt, changelog, demo-anfrage, ueber-uns)
  • Sitemap.xml ergänzt um /status.html für Suchmaschinen-Indexierung
v1.25 15. April 2026 Aktuell
✨ Neu – Lizenz IP-Tracking & Installations-Status
  • Neuer Tab „Lizenz-Management" in admin/kunde.html: Installations-IP, Online-Status, letzter Check, Software-Version, Nutzeranzahl, Hardware-ID
  • Online-Indikator (grün/gelb/rot): aktiv wenn letzter Check < 90 Min
  • Neuer API-Endpunkt api/license/status.php für vollständigen Verbindungsstatus
  • api/license/index.php: installation_ip + app_version + user_count werden bei jedem Verify gespeichert
  • Direktlink zu ipinfo.io für IP-Geolokalisation
  • SQL-Migration: shiftdeck_v4.24_lizenz_ip_tracking.sql mit View v_license_status
v1.24 15. April 2026 Aktuell
✨ Neu – Bidirektionales Ticket-System
  • Tickets aus der SHIFTDECK Software erscheinen jetzt automatisch im Website-Kundenkonto (konto.html) mit 🖥️ Badge
  • Tickets vom Website-Kundenkonto werden mit Lizenz-Schlüssel in die Software synchronisiert
  • Admin-Antworten über die Website erreichen den Kunden sowohl per E-Mail als auch in der Software
  • Quelle-Kennzeichnung: 🖥️ Software / 🌐 Website im Admin-Bereich
  • sw_-Routing: Antworten an Software-Tickets landen direkt in ticket_messages
  • Neue SQL-Migration: shiftdeck_v4.23_bidirektionale_tickets.sql
🔧 Geändert
  • api/customer/tickets.php: Schreibt neue Tickets auch in tickets-Tabelle (Software-Sync)
  • api/tickets/index.php: syncSdTickets() synct jetzt auch tickets+ticket_messages → website_tickets
  • konto.html: Lizenz-Schlüssel wird beim Ticket-Erstellen automatisch mitgesendet
v1.23 25. März 2026 Aktuell
  • Bestellungen im Admin UI: Neue Bestellungen erschienen nicht im Admin-Panel — Root-Cause: fehlende DB-Spalten (z.B. addons, billing_day) ließen den INSERT scheitern und der Fallback speicherte keine Kundendaten.
  • Orders API — 3-stufiger Fallback: INSERT versucht jetzt immer alle drei Varianten und gibt bei Fehler einen echten HTTP-500 zurück statt stilles Erfolg zu signalisieren.
  • checkout.html — Payload Fix: Payload sendet jetzt addons: [] + Kundendaten sowohl als flache Felder als auch als customerDetails-Objekt für maximale DB-Kompatibilität.
  • Fehlermeldung im Checkout: Bei einem DB-Fehler sieht der Nutzer jetzt eine Warnung statt dass die Bestellung stillschweigend verloren geht.
  • SQL Update v1.23: Alle fehlenden orders-Spalten werden per ADD COLUMN IF NOT EXISTS sicher nachgerüstet. Bestehende Bestellungen ohne Kundendaten werden repariert.
v1.25 15. April 2026 Aktuell
✨ Neu – Lizenz IP-Tracking & Installations-Status
  • Neuer Tab „Lizenz-Management" in admin/kunde.html: Installations-IP, Online-Status, letzter Check, Software-Version, Nutzeranzahl, Hardware-ID
  • Online-Indikator (grün/gelb/rot): aktiv wenn letzter Check < 90 Min
  • Neuer API-Endpunkt api/license/status.php für vollständigen Verbindungsstatus
  • api/license/index.php: installation_ip + app_version + user_count werden bei jedem Verify gespeichert
  • Direktlink zu ipinfo.io für IP-Geolokalisation
  • SQL-Migration: shiftdeck_v4.24_lizenz_ip_tracking.sql mit View v_license_status
v1.24 15. April 2026 Aktuell
✨ Neu – Bidirektionales Ticket-System
  • Tickets aus der SHIFTDECK Software erscheinen jetzt automatisch im Website-Kundenkonto (konto.html) mit 🖥️ Badge
  • Tickets vom Website-Kundenkonto werden mit Lizenz-Schlüssel in die Software synchronisiert
  • Admin-Antworten über die Website erreichen den Kunden sowohl per E-Mail als auch in der Software
  • Quelle-Kennzeichnung: 🖥️ Software / 🌐 Website im Admin-Bereich
  • sw_-Routing: Antworten an Software-Tickets landen direkt in ticket_messages
  • Neue SQL-Migration: shiftdeck_v4.23_bidirektionale_tickets.sql
🔧 Geändert
  • api/customer/tickets.php: Schreibt neue Tickets auch in tickets-Tabelle (Software-Sync)
  • api/tickets/index.php: syncSdTickets() synct jetzt auch tickets+ticket_messages → website_tickets
  • konto.html: Lizenz-Schlüssel wird beim Ticket-Erstellen automatisch mitgesendet
v1.23 25. März 2026 Aktuell
  • Rechnung "INV-XXXXX" nicht gefunden: render.php suchte nur per order_number, nicht per orders.id. INV-11762 = orders.id=11762 wurde nicht gefunden. Jetzt 6-stufige Fallback-Suche.
  • konto.html PDF-Link: Bevorzugt jetzt order_number statt inv.id, damit render.php die Bestellung sicher findet.
  • Bestellungen im Admin UI: Neuer INSERT-Fallback mit allen Kundendaten. addons-Feld wird jetzt immer mitgesendet.
  • Debug ?debug=1 verbessert: Zeigt jetzt Tabelleninhalt, orders-Count, ähnliche Einträge und genaue Suchpfade.
  • SQL Update v1.23: orders-Spalten per ADD COLUMN IF NOT EXISTS sicher nachgerüstet.
v1.17 18. März 2026
  • Blog komplett neu: 6 Fallback-Artikel, Kategorien-Filter, Featured-Card, Suchfeld, Newsletter-Anmeldung
  • FAQ-Verwaltung im Admin: Neuer Tab "FAQ & Inhalte" in Einstellungen — FAQs direkt im Admin anlegen, bearbeiten, löschen
  • Download-Seite: Neue moderne Download-Seite mit Auto-Versionsanzeige aus changelog.html
  • Nav: Download-Link in Hauptnavigation ergänzt
  • Farbrhythmus: Alle 8 Landing-Sektionen konsequent dunkel/hell abwechselnd — Texte auf allen Hintergründen korrekt
  • Navigation: Immer weiß/solid (kein transparenter Zustand mehr), Login-Button korrekt verdrahtet
  • Vergleichsseite: Komplett überarbeitet mit ROI-Rechner, 4-Tab Tabelle, Wechsel-Rechner, Kundenstimmen
  • Marktvergleich i1: Teaser-Banner ersetzt große Tabelle auf Landing; echte Vergleichsseite per "Vergleich ansehen →"
  • Preise c1: Vereinfacht auf 1 Plan (6€/Nutzer), Slider für Teamgröße, alle 16 Features inklusive
  • Funktionen o1: 22 Funktionen aus dem Admin UI, filterbar nach 7 Kategorien
  • Bewertungen d1: SHIFTDECK-Antworten mit Anker-Icon, Firmenlogo-Avatar
  • Vergleichstabelle: X-Icons → rotes ✕ + "Nein" Text für bessere Lesbarkeit
  • ROI-Rechner: Schriftgrößen reduziert, von Landing auf Vergleichsseite verschoben
  • Blog-Kategorien: Admin (h5) und Frontend (u1) auf gleiche Kategorien synchronisiert
  • mobile.html: Komplett neu gebaut — GPS-Zeiterfassung, DATEV, Preisslider, Bewertungen mit Antworten, FAQ-Accordion
  • c1 war undefined: c1 war innerhalb von o1 verschachtelt und wurde beim Ersetzen mitgelöscht — wiederhergestellt
  • Firmennamen: Personio/Shiftbase/Factorial durch generische Namen ersetzt (rechtliche Sicherheit)
  • Demo-Video: Aus Landing Page entfernt
  • FAQ in y1: Nutzt jetzt ACTIVE_FAQS aus websiteSettings wenn vorhanden
v1.077. März 2026
  • Logo-Update: Anker-Logo auf Hauptseite eingebunden
  • Favicon: Neues SVG-Favicon mit Anker-Icon und Orange-Gradient
  • Apple Touch Icons: PNG-Icons 128/256/512px für iOS
  • OG-Image: Open Graph und Twitter Card Meta-Tags ergänzt
v1.0623. Feb 2026
  • .htaccess API-Routing: Alle /api/* Pfade korrekt weitergeleitet
  • Lizenz-Erstellung: Parameter-Mismatch in bind_param behoben
  • Produkt-Slug Mapping: demofree-demo, agileagile-monthly
  • Error-Handling: Globaler PHP Error-Handler → gibt immer JSON zurück
v1.0522. Feb 2026
  • Lizenz-Management im Admin (Erstellen, Bearbeiten, Deaktivieren, Löschen)
  • 10 API-Endpoints: verify, create, check-payments, restore, deactivate, update, delete, list, status, health
  • Hardware-Bindung: SHA-256 aus MAC, machine-id, CPU, Disk, Hostname
  • 3 neue DB-Tabellen: license_payments, license_hardware, license_checks
v1.00–v1.0421.–22. Feb 2026
  • v1.04: Mobile Ansicht — Swipe-Cards, Karussell, Touch-Feedback
  • v1.03: JS-Bundle: Rebranding von WebWi → SHIFTDECK, Domain my-trips → shiftdeck.de
  • v1.02: Datenbank auf k141135_shifdeck umgestellt
  • v1.01: Redesign, SEO, Loading-Screen, Lizenz-API, DB v2
  • v1.00: Erstübernahme aus Shop.zip