Zum Hauptinhalt springen
Schneespur

Changelog

Versionshistorie

Was sich von Version zu Version geändert hat — chronologisch und nach Kategorien sortiert. Die offizielle Quelle bleibt das Software-Repository auf GitHub; diese Seite spiegelt die Releases lesefreundlich.

Hinweis zur Pflege

Diese Seite ist die für Betreiber und Entscheider aufbereitete Variante der Release-Notes. Die vollständigen technischen Details — inklusive Upgrade-Anleitungen, betroffener Datei-Pfade und Hintergrund zu jedem Fix — finden Sie auf github.com/noschmarrn/schneespur/releases. Beide Quellen werden parallel gepflegt; bei Abweichungen gelten die GitHub-Releases.

Versionsschema

Schneespur folgt der Semantischen Versionierung nach dem Muster MAJOR.MINOR.PATCH.

MAJOR
Inkompatible Änderungen, die einen Migrationsschritt erfordern. Selten und gut dokumentiert.
MINOR
Neue Funktionen, rückwärtskompatibel. Sicher einspielbar.
PATCH
Fehlerbehebungen und kleinere Verbesserungen. Immer sicher einspielbar.

Kategorien je Release

Jeder Eintrag gruppiert die Änderungen in fünf Kategorien. Sicherheitsrelevante Fixes werden zusätzlich besonders hervorgehoben.

Hinzugefügt
Neue Funktionen und nicht-brechende Erweiterungen.
Geändert
Verhalten bestehender Funktionen, ohne Schnittstelle zu brechen.
Behoben
Fehlerbehebungen.
Sicherheit
Sicherheitsrelevante Änderungen — werden hier zusätzlich hervorgehoben.
Breaking
Inkompatible Änderungen mit Migrationshinweis. Erscheinen ausschließlich bei Major-Versionssprüngen.

Releases

v1.1.6 — Sicherheits-Härtung und seitengenau auffindbare öffentliche Seiten

Sicherheitsrelease: Jede Antwort der Anwendung erhält jetzt zusätzliche Schutz-Header, der Login-Schutz lässt sich nicht mehr über gefälschte Proxy-Angaben umgehen, und die Modul-Installation prüft Herkunft und Archiv-Inhalte strenger. Zugleich wird die seit v1.1.2 vollständige Suchmaschinen-Sperre feiner steuerbar: ein künftiges Startseiten-Modul kann einzelne öffentliche Seiten gezielt auffindbar machen — Admin, Kundenportal, Fahrer-App und Installer bleiben weiterhin privat.

Hinweis: Empfohlenes Sicherheits-Update: rückwärtskompatibel und ohne manuelle Schritte einspielbar. Betriebe hinter einem CDN oder Load-Balancer hinterlegen ihre vertrauenswürdigen Proxys einmalig über TRUSTED_PROXIES, damit der Login-Schutz korrekt zählt.
Sicherheit
  • Jede Antwort sendet jetzt grundlegende Schutz-Header gegen Clickjacking, MIME-Sniffing und unnötige Verweis-Weitergabe (Referrer); über HTTPS zusätzlich HSTS
  • Manipulierte Host-Angaben im Aufruf werden abgewiesen — nur der konfigurierte App-Host und seine Subdomains gelten als vertrauenswürdig
  • Proxys gelten standardmäßig nicht mehr als vertrauenswürdig: eine gefälschte X-Forwarded-For-Angabe kann den Login-Schutz nicht mehr umgehen. Wer hinter einem echten CDN oder Load-Balancer betreibt, trägt seine Proxys über TRUSTED_PROXIES ein
  • Das Sitzungs-Cookie wird über HTTPS standardmäßig als „Secure“ gesetzt
  • Strengere Prüfung bei Modul-Downloads: nur der konfigurierte Katalog-Host ist zulässig, der Modul-Bezeichner wird vor jedem Datei-Pfad geprüft, und Archiv-Einträge mit absoluten, Backslash- oder Verzeichniswechsel-Pfaden werden abgelehnt
  • Kundennamen und Bestätigungs-Dialoge werden in der Oberfläche konsequent maskiert, damit eingeschleuster Code (XSS) nicht ausgeführt wird
  • Der SVG-Upload für das Logo wurde entfernt, da SVG-Dateien Skripte enthalten können
  • Der Log-Mailer ist nicht mehr der ausgelieferte Standard-Versandweg für E-Mails
  • Abhängigkeiten aktualisiert — 19 Hinweise aus der automatischen Paket-Prüfung sind damit erledigt
Hinzugefügt
  • Suchmaschinen-Auffindbarkeit jetzt seitengenau steuerbar — standardmäßig bleibt alles privat; nur Seiten, die ein künftiges Startseiten-Modul ausdrücklich veröffentlicht, werden für Suchmaschinen sichtbar. So kann ein kleiner Winterdienst seine Installation später als öffentliche Website nutzen, ohne dass Admin, Kundenportal, Fahrer-App oder Installer je auffindbar werden
Geändert
  • Im Kern wurden zusätzliche, zunächst ruhende Erweiterungspunkte für kommende Module vorbereitet (u. a. öffentliche Startseite, Geofencing, Grünpflege). Bestehende Installationen verhalten sich unverändert, bis ein passendes Modul sie nutzt

Vollständige Release-Notes auf GitHub →

v1.1.5 — Modul-Updates wirken sofort

Wartungsrelease rund um die Module: Ein Modul-Update greift jetzt sofort, ohne dass die Installation neu gestartet werden muss — auf einfachem Webhosting bisher kaum machbar. Dazu wird die je Benutzer und Kunde eingestellte Sprache konsequent angewendet, und die Modulseite wird übersichtlicher.

Hinweis: Rückwärtskompatibel und ohne manuelle Schritte einspielbar — keine Datenbank-Änderung.
Sicherheit
  • Die Adresse, auf die eine Modulkarte verweist (Modul-Infoseite), wird jetzt serverseitig geprüft und lässt nur reguläre Web-Links (http/https) zu — ein manipulierter Katalog kann so keine schädlichen Links in die Oberfläche einschleusen
Geändert
  • Ein Modul-Update wirkt jetzt sofort: Nach Installation, Aktualisierung oder Entfernung greift die Änderung automatisch ab dem nächsten Seitenaufruf — der bisher nötige Server-Neustart entfällt, was besonders auf einfachem Webhosting den Unterschied macht
  • Eine einem Kunden zugewiesene Sprache steuert jetzt Kundenportal und E-Mails gemeinsam — bisher nur die E-Mails. Die Auswahl umfasst automatisch alle installierten Sprachpakete (z. B. Tschechisch, Französisch)
  • Lange Modulbeschreibungen werden auf 150 Zeichen gekürzt und lassen sich bei Bedarf aufklappen — die Modulseite bleibt übersichtlich
  • Jede Modulkarte verlinkt jetzt auf die Modul-Infoseite (inklusive Virenscan-Ergebnis), statt ein missverständliches „Unsigniert“-Label zu zeigen; das ebenfalls irreführende „Community“-Label entfällt, damit Module aus dem offiziellen Katalog nicht als Drittanbieter erscheinen
Behoben
  • Die unter Admin → Benutzer eingestellte Sprache hatte im übrigen Admin-Bereich keine Wirkung — sie gilt jetzt durchgängig im gesamten Admin-Bereich, nicht mehr nur auf den Fahrer-Seiten
  • Der Modul-Katalog markierte jedes Modul fälschlich als „Unsigniert“ und „Community“; die Anzeige stimmt jetzt. Der eigentliche Integritätsschutz beim Download (Prüfsumme) war davon nie betroffen

Verfügbare Module →

Vollständige Release-Notes auf GitHub →

v1.1.4 — Navigation folgt der Sprache

Wartungsrelease im Anschluss an die mehrsprachige Oberfläche: Bei einer nicht-deutschen Oberflächensprache blieben Admin-Menü und Portal-Navigation bisher auf Deutsch, während die übrige Seite bereits übersetzt war. Menü und Seite erscheinen jetzt durchgängig in derselben Sprache.

Hinweis: Rückwärtskompatibel und ohne manuelle Schritte einspielbar — keine Datenbank-Änderung. Relevant wird der Fix, sobald ein zusätzliches Sprachpaket (z. B. Französisch) im Einsatz ist.
Behoben
  • Admin-Menü und Kundenportal-Navigation blieben bei nicht-deutscher Oberflächensprache auf Deutsch, obwohl die übrige Seite bereits übersetzt war — die Menü-Beschriftungen wurden beim Start fest eingefroren, noch bevor die Sprache angewendet wurde
  • Menü-Beschriftungen werden jetzt bei jedem Aufruf in der aktiven Sprache aufgelöst: Seite und Navigation erscheinen durchgängig in derselben Sprache

Modul „Französisch-Sprachpaket“ →

Vollständige Release-Notes auf GitHub →

v1.1.3 — Mehrsprachige Oberfläche je Fahrer und Kunde

Die Oberflächensprache ist jetzt frei zuweisbar und über Sprachpakete erweiterbar: Jeder Fahrer und jeder Kunde kann die App in seiner eigenen Sprache nutzen. Zusätzliche Sprachen lassen sich als Modul nachrüsten, ohne den Kern zu verändern.

Hinweis: Rückwärtskompatibel und ohne manuelle Schritte einspielbar. Das Update bringt eine Datenbank-Änderung (Sprache je Benutzer) mit, die beim Einspielen automatisch ausgeführt wird.
Hinzugefügt
  • Mehrsprachige Oberfläche, erweiterbar über Sprachpakete: zusätzliche Sprachen (z. B. Tschechisch) lassen sich als Modul ergänzen, ohne den Kern der Software zu verändern
  • Eigene Oberflächensprache je Fahrer: Admins weisen sie unter Einstellungen → Benutzer zu — der Fahrer sieht die App ab dem Login in seiner Sprache
  • Eigene Sprache je Kunde: Kunden wählen sie im Profil des Kundenportals aus allen verfügbaren Sprachen
  • Die app-weite Standardsprache (Einstellungen → Unternehmen) akzeptiert jetzt jede installierte Sprache statt nur Deutsch und Englisch. Bei einer nicht-deutschen Oberfläche greift die englischsprachige Schwestermarke Wintertrace
  • Module können eigene Menüpunkte ins Kundenportal einhängen — im Desktop- und im Mobilmenü. Das ist die Grundlage für kommende Portal-Module wie die Vertragsverwaltung

Vollständige Release-Notes auf GitHub →

v1.1.2 — Installationen bleiben aus Suchmaschinen heraus

Wartungsrelease: Eine Schneespur-Installation taucht jetzt zuverlässig nicht in Google & Co. auf — abgesichert über drei unabhängige Schutzebenen. Dazu kommen kleinere Verbesserungen an der Hilfe-Seite und schlankere Modul-Logs.

Hinweis: Rückwärtskompatibel und ohne manuelle Schritte einspielbar. Die Suchmaschinen-Sperre betrifft die selbst gehostete Schneespur-Anwendung — eine eigene Firmen- oder Marketing-Website bleibt davon unberührt.
Hinzugefügt
  • Suchmaschinen-Sperre über drei unabhängige Ebenen: robots.txt (Disallow für alle Crawler), ein X-Robots-Tag-Header (noindex, nofollow bei jeder Antwort) und ein Robots-Meta-Tag in allen acht HTML-Layouts
  • Die OwnTracks-Hilfeseite zeigt jetzt Icons für die Hilfe-Themen und direkte Links zum App Store (Apple) und zu Google Play
Behoben
  • Ein Boot-Log, das bei jeder Anfrage je Modul geschrieben wurde, ist entfernt — es ließ die Logdateien unnötig anwachsen
  • Modul-Logs werden jetzt automatisch nach sieben Tagen aufgeräumt (neuer PurgeModuleLogs-Befehl)

Vollständige Release-Notes auf GitHub →

v1.1.1 — Fehler werden zuverlässig sichtbar

Wartungsrelease: Tritt im Betrieb irgendwo ein Fehler auf, wird er jetzt einheitlich an das Diagnose-Modul gemeldet — statt unbemerkt zu bleiben. Das macht Probleme nachvollziehbar und ist die Grundlage für schnellere Hilfe im Support-Fall.

Hinweis: Patch-Release ohne neue Pflichten: rückwärtskompatibel und sicher einspielbar. Die zusätzliche Fehlermeldung läuft im Hintergrund und unterbricht einen laufenden Vorgang nie.
Geändert
  • Fehler aus der Modul-Verwaltung (Katalog abrufen, herunterladen, installieren, aktualisieren, entfernen) werden jetzt ans Diagnose-Modul gemeldet
  • Fehler im Update-System (Prüfung auf neue Versionen, Download, Installation) werden erfasst
  • Auch PDF-Erstellung, E-Mail-Versand, Versand der Kundenportal-Zugänge und das Dashboard melden auftretende Fehler ans Diagnose-Modul
Behoben
  • PDF-Anhänge in versendeten E-Mails konnten bei bestimmten Sonderzeichen einen internen Kodierungsfehler auslösen — die Inhalte werden jetzt korrekt kodiert

Modul „Schneespur Diagnose“ →

Vollständige Release-Notes auf GitHub →

v1.1.0 — Module, flexible Rollen und ein geprüfter Katalog

Schneespur wird zur erweiterbaren Plattform: Zusätzliche Funktionen lassen sich als Module ergänzen, die aus einem geprüften Katalog installiert werden. Dazu kommen frei vergebbare Benutzerrollen und -rechte sowie austauschbare Backends für Speicher, Backup und Berichte.

Hinweis: Diese Version ist vollständig rückwärtskompatibel und kann ohne manuellen Migrationsschritt eingespielt werden — bestehende Installationen laufen danach unverändert weiter.
Sicherheit
  • Module werden beim Installieren und Aktualisieren auf eine gültige digitale Signatur geprüft. Manipulierte, zurückgezogene oder abgelaufene Module werden abgelehnt, unsignierte deutlich gekennzeichnet
Hinzugefügt
  • Erweiterbarkeit über Module: zusätzliche Funktionen lassen sich ergänzen, ohne den Kern der Software zu verändern
  • Modul-Katalog mit Vertrauensstufen (Offiziell, Geprüft, Community) samt Kennzeichnung und Filter
  • Benutzerverwaltung für mehrere Konten: Rollen zuweisen und Rechte abstufen. Der letzte verbleibende Administrator kann nicht versehentlich gelöscht oder herabgestuft werden
  • Übersicht der automatischen Hintergrund-Aufgaben im Admin-Bereich — mit Status der letzten Ausführung und Ein/Aus-Schalter je Aufgabe
  • Austauschbare Backends für Backup, Datei-Speicher, PDF-Erstellung und Berichtsformate (z. B. CSV)
  • Eigenes Protokoll je Modul mit Log-Ansicht im Admin-Bereich
Geändert
  • Das feste Rollenmodell (Administrator oder Fahrer) wurde durch frei vergebbare Rollen und Rechte ersetzt. Bestehende Konten behalten ihre bisherigen Berechtigungen automatisch

Vollständige Release-Notes auf GitHub →

v1.0.5 — Formular-Fix, Markenname, DSGVO in Englisch

Sammelrelease mit sieben Korrekturen aus dem Echteinsatz — vom Formular-Fehler über fehlende Übersetzungen bis zur Log-Rotation.

Hinweis: Wer Einsätze manuell erfasst und Kundennamen mit Anführungszeichen führt, sollte einspielen: der Anlegen-Knopf reagierte seit v1.0.3 in diesem Fall nicht.
Hinzugefügt
  • DSGVO-Vorlage in Englisch für internationale Installationen
  • Der Markenname erscheint jetzt überall korrekt — Hilfetexte, E-Mails und Update-Hinweise
Geändert
  • Symbole für alle Einstellungs-Karten im Admin
  • Server-Logs rotieren automatisch täglich, 14 Tage Vorhaltedauer (deutlich weniger Schreiblast)
  • Demo-Modul ist nicht mehr Teil des Standardpakets
Behoben
  • Manuelle Einsatz-Erfassung scheiterte bei Kundennamen, die ein Anführungszeichen enthielten
  • Englische Installer-Oberfläche zeigte einen deutschen Fehlertext

Vollständige Release-Notes auf GitHub →

v1.0.4 — Selbst-Updater Hotfixes

Notfall-Release nach v1.0.3. Der Selbst-Updater hatte zwei Bugs, die erst im Echtbetrieb auftraten.

Hinweis: Installationen mit v1.0.3 sollten dieses Update unbedingt einspielen — sonst funktionieren auch künftige Auto-Updates nicht korrekt.
Geändert
  • Release-Archive werden flacher gepackt, damit auch der fehlerhafte v1.0.3-Updater sie korrekt einspielt
Behoben
  • Selbst-Updater entpackt Release-Archive jetzt zuverlässig in das richtige Verzeichnis
  • Erneuter Update-Check nach erfolgreichem Update meldet "auf neuestem Stand" statt einer fälschlichen Rollback-Warnung

Vollständige Release-Notes auf GitHub →

v1.0.3 — Hotfixes und Modul-Stabilisierung

Wartungsrelease mit fünf Korrekturen aus dem ersten Echtbetrieb. Schwerpunkt: sichtbare Server-Logs und stabile Versions-Anzeige.

Behoben
  • Fehlermeldungen landen wieder zuverlässig im Server-Log
  • Versions-Anzeige in Footer, Einstellungen und Dashboard zeigt die tatsächlich installierte Version
  • Anlegen neuer Kunden-Objekte scheiterte mit Fehler 500, wenn der Empfänger nicht explizit gesetzt war
  • Modul-Katalog zeigt die verfügbaren Module wieder korrekt an
  • Modul-Installation entpackt Module zuverlässig in den richtigen Ordner

Vollständige Release-Notes auf GitHub →

v1.0.1 — Spracherkennung im Installer

Der Installer erkennt die Browser-Sprache ab dem ersten Aufruf und wählt sie automatisch. Ein DE/EN-Umschalter im Installer-Header erlaubt manuelle Anpassung.

Hinzugefügt
  • Automatische Spracherkennung anhand des Browser-Headers
  • DE/EN-Sprachumschalter im Installer-Header
Geändert
  • Sprachwahl gilt ab Schritt 1, nicht mehr erst ab Schritt 5
Behoben
  • Die ersten Installer-Schritte (Willkommen, Datenbank, Preflight, Migrationen) erschienen vorher unabhängig vom Browser auf Deutsch

Vollständige Release-Notes auf GitHub →

v1.0.0 — Erste öffentliche Version

Erstveröffentlichung der Schneespur-Software.

Hinzugefügt
  • Einsatz-Dokumentation mit GPS-Track, Fotos und Notizen
  • Automatische Wetterdaten zum Einsatzzeitpunkt
  • Kundenportal mit PDF-Berichten
  • Schichterfassung und Zeitübersicht
  • CSV-Export und Monatsstatistik
  • Datenexport und Anonymisierung für DSGVO-Auskünfte
  • Offline-fähige Web-App (PWA)
  • Erweiterbar über zubuchbare Module
  • Selbst-Update aus dem Admin-Bereich

Vollständige Release-Notes auf GitHub →

Über neue Versionen informiert bleiben

Die Software prüft täglich automatisch auf neue Versionen (deaktivierbar) und zeigt sie im Admin-Dashboard an — Sie entscheiden per Klick, wann installiert wird. Zusätzlich kann man dem Repository auf GitHub folgen.

Schneespur ausprobieren — eine eigene, echte Demo, ohne Verpflichtung.

Zur Live-Demo

Etwas, das fehlt oder besser sein könnte? Ihr Feedback fließt in die Entwicklung ein. Feedback geben