Releases: lesecuritae/FareWeave
Release list
FareWeave 0.2.7 – Route Data Stability Fix
FareWeave 0.2.7 – Route Data Stability Fix
FareWeave 0.2.7 stabilisiert Segmentdarstellung und Mobilfunkanalyse, ohne Provider-, Preis-, Kalender- oder Suchlogik zu verändern.
Routendarstellung
- Stations-, Zeit-, Linien- und Betreiberobjekte werden vor der UI-Ausgabe normalisiert.
- FlixTrain, FlixBus, DB-/Regionalzugsegmente und Mischverbindungen erhalten verständliche Bezeichnungen.
[object Object], technische Stations-UUIDs und der unspezifische Fallback „Teilstrecke“ werden nicht mehr angezeigt.- Ein Segment ohne verwertbare Daten heißt ausschließlich „Unbekannte Teilstrecke“.
Coverage
- Bestätigte Start- und Zielkoordinaten werden providerneutral an die Verbindung übergeben.
- Vorhandene Geometrie, Stopovers und vollständige Segmente werden unabhängig von sichtbaren Provider- oder Liniennamen ausgewertet.
- Fehlende Daten und technische Analyzerfehler sind getrennte Zustände.
- Ältere Ergebnis-Caches ohne Coverage-Endpunkte werden über eine neue Schema-Generation sicher ignoriert.
- Die bestehenden BNetzA- und OpenCellID-Datenquellen bleiben unverändert.
Qualität
- FlixTrain-Mischketten, FlixBus, DB und Transitous wurden als getrennte Routenschemata geprüft.
- Reale FlixTrain-Coverage Leipzig–Dortmund: 347,6 km und 91 ausgewertete Streckenpunkte.
- Desktop: 1440×1000 und 1920×1080.
- Mobile: 390×844 und 412×915.
FareWeave 0.2.6 – Simplified Search Experience
FareWeave 0.2.6 – Simplified Search Experience
FareWeave 0.2.6 vereinfacht die Bodenreisesuche und hält technische Providerentscheidungen aus dem Suchformular heraus.
Suchformular
- Zug und Bus sind als direkt sichtbare Verkehrsmittel unabhängig auswählbar.
- FareWeave fragt die dazu passenden Bahn- und Busanbieter automatisch ab.
- Split-Ticket bleibt als kleiner Haken direkt unter der Verkehrsmittelauswahl sichtbar.
- Das Deutschlandticket bleibt eine sichtbare Kernentscheidung.
- Seltene technische Einstellungen stehen nach dem Suchbutton in einem eigenen Bereich; „Weitere Optionen“ entfällt.
Provider und Flix
- Separate FlixBus-, FlixTrain-, DB- oder Transitous-Schalter werden nicht mehr angezeigt.
- Stations-IDs, GTFS-Zuordnung und Provider-Mapping bleiben intern erhalten.
- Eine erfolgreiche Flix-Prüfung ohne Treffer meldet „Keine Verbindung verfügbar“.
- Ein technischer Flix-Fehler meldet „Flix konnte nicht geprüft werden“.
Qualität
- Zug-only, Bus-only und kombinierte Suchen wurden für Leipzig–Dortmund, Leipzig–Kamen und Leipzig–Frankfurt geprüft.
- Desktop-Tests: 1440×1000 und 1920×1080.
- Mobile Tests: 390×844 und 412×915.
- Coverage-, Mobilfunk-, GTFS- und Preisberechnungen bleiben unverändert.
FareWeave 0.2.5 – Smart Location Resolution Fix
FareWeave 0.2.5 – Smart Location Resolution Fix
FareWeave 0.2.5 entfernt feste Stationszuweisungen aus der Ortsauflösung und macht wichtige Reiseentscheidungen direkt sichtbar.
Orts- und Stationsauflösung
- Hardcoded Stadt→Hauptbahnhof-Zuweisungen sind entfernt.
- Eine Stadteingabe wie München, Leipzig, Frankfurt, Köln, Wien/Vienna oder Görlitz öffnet immer die Stationsauswahl.
- Schreibweisen und Übersetzungen werden weiterhin normalisiert, aber niemals als feste Stationsentscheidung verwendet.
- Hauptbahnhöfe und bedeutende Fernverkehrshalte stehen weiter oben, ohne automatisch ausgewählt zu werden.
- Flughafenhalte werden bei normalen Städteingaben ausgeblendet und nur bei passendem Flughafenbegriff berücksichtigt.
- Provider-native IDs für DB, Transitous und Flix bleiben nach der ausdrücklichen Nutzerauswahl erhalten.
- Geklammerte Providerzusätze wie „(bus station)“ beeinflussen die Flix-Stadtsuche nicht, während die konkrete Stations-ID erhalten bleibt.
Reiseformular
- Split-Ticket-Suche ist als direkt sichtbarer Checkbox-Haken ein- und ausschaltbar.
- „Nur Hinfahrt“ deaktiviert Rückreisedatum und Kalender sichtbar; ein erneuter Klick stellt Hin- und Rückfahrt mit gültigem Datum wieder her.
Validierung
- Vollständige Logik-, API- und Container-Suite
- DB-, Transitous-, Flix-, GTFS- und Stationsmapping-Regressionen
- Coverage- und Kalenderregressionen
- Desktop 1440×1000 und 1920×1080
- Mobile 390×844 und 412×915
- Reale Kandidatenlisten für München, Leipzig, Frankfurt, Köln, Wien/Vienna und Görlitz
FareWeave 0.2.3
FareWeave 0.2.3
FareWeave 0.2.3 stabilisiert die Reiseoberfläche, die gemeinsame Kalenderbedienung und providerübergreifende Flix-Verbindungen. Coverage-Berechnung und OpenCellID-Datenbasis bleiben unverändert.
Flix und Routing
- Gültige Live-Flix-Verbindungen mit Umstiegen bleiben sichtbar, auch wenn der GTFS-Feed keine direkte Fahrt auf derselben
trip_identhält. - Bahnhofsbezeichnungen werden für die Flix-Stadtsuche allgemein normalisiert; konkrete Start- und Zielhaltestellen bleiben über bestätigte Flix-Alias-IDs abgesichert.
- Abweichende Bezeichnungen derselben Station erzeugen keine unnötigen Zubringer mehr.
- FlixTrain und FlixBus sind direkt im Hauptformular auswählbar. Die Haltestellenzuordnung erfolgt automatisch.
Oberfläche
- Hin- und Rückreise verwenden einen gemeinsamen Kalender mit konsistenter Mindestdatums- und Monatslogik.
- Der doppelte Abreisekalender und die defekte getrennte Rückreisebedienung entfallen.
- Die Mobilfunkanzeige ist kompakter: Betreiberwerte stehen direkt nebeneinander, ohne zusätzliche technische Inhalte in der Fahrtkarte.
Validierung
- Vollständige Logik-, API- und Container-Suite
- Browser- und Mobile-Tests bei 390×844, 412×915, 1440×1000 und 1920×1080
- Leipzig Hbf → Görlitz Hbf: FlixBus-Liveverbindung mit Umstieg, korrektem Preis und Providerstatus
- Zufallsstichproben aus dem aktiven Flix-GTFS für FlixBus und FlixTrain
- Flexible Preissuche, Hin-/Rückkalender und kompakte Coverage-Darstellung
FareWeave 0.2.2
FareWeave 0.2.2
FareWeave 0.2.2 stabilisiert die providerübergreifende Stationszuordnung und aktiviert die bereits vorhandene OpenCellID-Offline-Pipeline für betreiberbezogene Mobilfunkwerte.
Änderungen
- Stationskomplexe bewahren mehrere native IDs je Provider; Flix berücksichtigt Parent-, Child- und Geschwisterhaltestellen gemeinsam.
- OpenCellID-Auswertungen ordnen Betreiber ausschließlich über bekannte MCC/MNC-Paare zu. Unbekannte Kombinationen werden nicht geschätzt.
- Lokale OpenCellID-CSV-Bestände liefern Telekom-, Vodafone-, Telefónica/O2- und – sofern räumlich belegt – 1&1-Werte entlang der vollständigen Route.
- Interne Diagnose nennt geprüfte Streckenpunkte, gefundene Zellen, erkannte Betreiber, unbekannte MCC/MNC-Paare, API-Fehler und Datenqualität.
- Ohne ausreichende OpenCellID-Evidenz bleibt der sichere Hinweis „Betreiberdaten nicht verfügbar“ erhalten.
Betrieb
Der Offline-Datenbestand ist aufgrund Größe und CC-BY-SA-4.0-Lizenz nicht Bestandteil der Images. Er wird über OPENCELLID_CSV_PATH aus dem persistenten FareWeave-State eingebunden. Ein API-Key ist nicht erforderlich und wird für den produktiven Offline-Betrieb nicht gesetzt.
Validierung
- Vollständige Logik-, API- und Container-Tests
- Browser-Tests einschließlich Desktop-, Kalender- und Mobile-Viewports
- Live-Strecke Leipzig Hbf → Kassel-Wilhelmshöhe mit vollständiger Streckenabtastung und betreiberbezogenen OpenCellID-Werten
FareWeave 0.2.1
0.2.1 - 2026-08-24
- Technische Stations-, Provider- und Datenbank-IDs aus den Suchvorschlägen entfernt; angezeigt werden nur Stationsname und Ort/Land.
- Stationsranking priorisiert exakte Namen, Haupt-/Parent-Stationen und zentrale Bahnhöfe vor Ausgängen, Zugängen, Bahnsteigen und technischen Teilstationen;
Görlitz Hbfist live regressionsgeprüft. - Mobilfunkbereich in Fahrtkarten deutlich kompakter gestaltet und Quellen-, Lizenz- sowie Methodentexte aus der Kartenansicht entfernt.
- Mobilfunkdarstellung auf einzelne Betreiberwerte vorbereitet; Schwellenwerte wie „mindestens 1/2/3 Netze“ werden nicht mehr in der Oberfläche ausgegeben. Der aktuelle anbieterneutrale BNetzA-Raster wird nicht fälschlich einzelnen Betreibern zugeschrieben.
- OpenCellID als optionale Betreiberquelle mit MCC/MNC-Zuordnung, Vollstreckenprüfung, Qualitätsgrenze und Versorgungslückenerkennung ergänzt; lokale CSV-Downloads und berechtigte API-Zugriffe sind konfigurierbar.
- Leere Flix-Suchen werden als „Keine Flix-Verbindung verfügbar“ behandelt; nur technische Fehler erscheinen als „Flix konnte nicht geprüft werden“.
- Providerergebnisse unterscheiden nun maschinenlesbar zwischen gefundener Verbindung, erfolgreicher Prüfung ohne Verbindung und technischem Abruffehler.
FareWeave 0.2.0 – Flexible Price Calendar
Zusammenfassung
Mit FareWeave 0.2.0 wurde eine flexible Preissuche für Bodenreisen eingeführt. Nutzer können mehrere Reisetage vergleichen und aktuelle Preise übersichtlich darstellen lassen.
Neue Funktionen
- Flexible Datumssuche hinzugefügt
- Kalenderauswahl um einen direkten Preisvergleich erweitert
- Vergleich über 3, 7 oder individuell bis maximal 14 Tage
- Aktuelle Preise und verfügbare Verbindungen pro Tag abrufbar
- Günstigsten belegten Tag sichtbar markiert
- Tage ohne verifizierten Preis werden ausdrücklich als „Preis offen“ dargestellt
- Tagesauswahl lädt die bestehende detaillierte Reisesuche und erhält die Reisedauer
- Bestehende Routing- und Providerlogik wird unverändert weiterverwendet
Technische Änderungen
- Nutzung der bestehenden lokalen Fahrplan- und GTFS-Daten
- Wiederverwendung der vorhandenen DB-, Transitous-, Flix- und TRVL-Preisadapter
- Kein neues Routing-System
- Journey- und Provider-Cache werden für Mehrtagesabfragen wiederverwendet
- Höchstens zwei Tagesabfragen laufen parallel
- API-Grenze von maximal 14 Tagen wird serverseitig validiert
- Rundreisen verwenden vollständige Hin- und Rückreisepreise statt eines isolierten Hinwegpreises
Verbesserungen
- Bessere Reiseplanung durch direkten Tagesvergleich
- Weniger manuelle Einzelabfragen verschiedener Daten
- Übersichtliche, responsive Auswahl von Reisetagen
- Fehlende Preise werden nicht geschätzt oder anderen Tagen zugeordnet
Tests
- Unit Tests: 3-, 7- und 14-Tage-Fenster, Tageszuordnung, Rundreisepreis, Cache und Parallelitätsgrenze
- API Tests:
/api/price-calendar, gültige Fenster und HTTP 422 bei 15 Tagen - Provider Tests: DB, Transitous, Flix/FlixTrain/FlixBus und TRVL-Bodenverträge
- Mobile UI Tests: Chromium-Touchsimulation bei 390×844 und 412×915
- Desktop UI Tests: Chromium bei 1440×1000 und 1920×1080
- UI-Regression: Kalenderöffnung, Monatsnavigation, Datumsauswahl, Scrollen, Overflow und Ergebnisdarstellung
- Reale Suche: Leipzig Hbf → Frankfurt(Main) Hbf sowie 3-/7-/14-Tage-Preisfenster
- Vollständige Syntax-, API-, Container-, Healthcheck- und bestehende Regressionstests
Kompatibilität
Bestätigt für DB, Transitous, FlixBus, FlixTrain und die TRVL-Bodenlogik. Coverage Analyzer, Stationsauswahl, Abfahrtsvorfenster sowie Flug-, Hotel- und Airport-Transfer-Pfade bleiben erhalten.
Commit: 179562312fa41a4b01c568f2f6f089036aa3b80a
FareWeave 0.1.1
Neue Funktionen
- Föderierter Stationskatalog aus DB, Transitous und Flix-GTFS ohne redundante Datenbank.
- Start und Ziel werden über bestätigte provider-native Stations-IDs an die Routingquellen übergeben.
- Mehrdeutige Orte werden mit Land und Region zur Nutzerauswahl angeboten.
Suchqualität und Fehlerbehebungen
- Exakte Stationsnamen gewinnen immer; eindeutige Aliase und Schreibvarianten werden automatisch bestätigt.
- Bahnhof und Flughafen bleiben strikt getrennt.
- München/Munich, Köln/Cologne, Zürich/Zurich, Wien/Vienna, Prag/Prague, Mailand/Milan und Rom/Rome sind abgesichert.
- Provider ohne passende ID werden bei bestätigten Auswahlen übersprungen, statt ähnlich klingende Orte zu erraten.
- Das konfigurierbare 15-Minuten-Abfahrtsvorfenster bleibt aktiv; LE 232 um 02:54 bei einer Suche ab 03:00 ist regressionsgetestet.
Technik und Tests
- Stationsauflösungen verwenden den bestehenden SQLite/WAL-Cache für fünf Minuten.
- DB, Transitous und Flix nutzen dieselbe bestätigte Auswahl; Flug-, TRVL- und Airport-Transfer-Verträge bleiben erhalten.
- 35 Pytests, vollständiger Container-Vertragstest, Syntax-/Quellprüfung, Healthchecks und reale Resolver-/Routingtests erfolgreich.
- App- und db-api-Images werden aus Commit
fb5abd89fc7ebeeed062773d7790543eeb9581e4veröffentlicht.
FareWeave 0.1.0
FareWeave 0.1.0
Neue Funktionen
- Verkehrsmittelneutraler Coverage Analyzer für DB-Fernverkehr, Regionalbahn, FlixTrain, FlixBus und internationale Partnerverbindungen.
- Asynchrones Coverage-Panel mit Streckenanteilen für mindestens ein, zwei oder drei breitbandige Mobilfunknetze, Problemabschnitten und fehlertoleranter Anzeige.
- Siebentägiger Route-Hash-Cache; die Reiseplanung bleibt von Coverage-Laufzeit und -Fehlern unabhängig.
- Konfigurierbares Abfahrtsvorfenster (
SEARCH_DEPARTURE_TOLERANCE_MINUTES, Standard 15 Minuten) mit sichtbarer Kennzeichnung früherer Verbindungen. - Kontextabhängiger Location Resolver: exakte Unicode-Stationsnamen zuerst, internationale Stadtaliase nur als Fallback, Flughafen-Aliase ausschließlich im Airport-Kontext.
Behobene Fehler und technische Änderungen
- Coverage-UI, Backend und Containercheck verwenden einheitlich
POST /api/coverage; das ausgelieferte Frontend liegt korrekt unter/assets/app.js. - Leo Express LE 232 um 02:54 wird bei einer Suche Leipzig Hbf → Frankfurt(Main) Hbf ab 03:00 gefunden und als sechs Minuten frühere Abfahrt ausgewiesen.
- Transitous verwechselt Leipzig/Frankfurt Hauptbahnhof nicht mehr mit den jeweiligen Flughäfen.
- Flix-GTFS übernimmt koordinierte Zwischenhalte und optionale Shapes; aktuelle Feeds ohne Shapes fallen sauber auf den Linienverlauf über Stops zurück.
- Mobilfunkdaten stammen aus dem offen lizenzierten 100-m-CSV-Raster des Bundesnetzagentur-Mobilfunk-Monitorings (Revision 2025-12). Betreiberidentitäten werden mangels lokaler Zuordnung nicht erfunden.
Testergebnisse
- 31 Pytests erfolgreich.
- Vollständiger
scripts/check.sh- und Container-Vertragstest erfolgreich. - App- und DB-API-Container neu gebaut, gestartet und healthy; Logs ohne Startfehler.
- Live geprüft: Leipzig Hbf → Frankfurt(Main) Hbf mit LE/Leo Express, München/Köln/Zürich sowie internationale Aliasvarianten, FlixBus Berlin → München samt Zwischenhalten.
- Coverage für Bahn und FlixBus erfolgreich; wiederholte identische Analyse aus Cache ohne messbare Verzögerung.
FareWeave 0.0.6
FareWeave 0.0.6
Änderungen
- Nicht mehr nutzbare Stay22-Unterkunftsschnittstelle vollständig aus Laufzeitcode, Merge-Logik, Oberfläche, Docker-Konfiguration, Beispielumgebung, Dokumentation und Tests entfernt.
- Hotelangebote laufen weiterhin über den isolierten trvl-Hotelpfad.
- Verifizierte Gesamtpreise, schneller Headline-Fallback und manueller Google-Hotels-Gegencheck bleiben erhalten.
- Versions- und User-Agent-Angaben auf 0.0.6 aktualisiert.
Validierung
- Python-Test-Suite: 16 Tests erfolgreich.
- Vollständiger Container-Vertrag: erfolgreich.
- Docker Compose: Start und Healthchecks erfolgreich.
- Reale Flug-und-Hotel-Suche: HTTP 200, Hotelstatus ok, 3 sichtbare und verifizierte Angebote.
- Laufzeit-, Quellcode- und Image-Prüfung: keine Stay22-Reste.
- Bestehende persistente Volumes wurden nicht verändert oder gelöscht.
Container-Images
- ghcr.io/lesecuritae/fareweave-app:0.0.6
- ghcr.io/lesecuritae/fareweave-db-api:0.0.6