Versionshistorie

← Zurück zum Rechner

Aktuelle Version: 1.8.2 (Stand 22.09.2026). Vollständige Historie unten bzw. in CHANGELOG.md im Quellcode-Archiv.

# Changelog

Alle nennenswerten Änderungen an CamperCalc werden hier festgehalten.
Format angelehnt an [Keep a Changelog](https://keepachangelog.com/de/),
Versionierung nach [Semantic Versioning](https://semver.org/lang/de/).

## [1.8.2] - 2026-09-22

### Changed

- Kontaktadresse auf `hallo@campercalc.eu` umgestellt (`NOMINATIM_USER_AGENT`
  in `config.php`).

## [1.8.1] - 2026-09-22

### Changed

- Domain von `campercalc.dampf.org` (Subdomain) auf die eigene Domain
  `campercalc.eu` umgestellt (README, `NOMINATIM_USER_AGENT` in
  `config.php`).

## [1.8.0] - 2026-09-22

### Added

- Footer-Links zu Impressum, Datenschutzerklärung, Lizenz, Quellcode und
  Versionshistorie auf allen Seiten.
- `impressum.php` und `datenschutz.php` als auszufüllende Platzhalterseiten.
- `lizenz.php`: zeigt den vollständigen AGPLv3-Lizenztext direkt aus der
  `LICENSE`-Datei an.
- `quellcode.php`: Download-Link zum Quellcode-Archiv (Pflicht nach
  AGPLv3 § 13 für netzwerk-basierte Nutzung).
- `versionshistorie.php`: zeigt dieses Changelog an.
- `LICENSE`-Datei (GNU Affero General Public License v3.0) im Projekt.
- Gemeinsames Layout (`lib/layout.php`) für Kopf-/Fußzeile aller Seiten,
  um Duplikate zwischen `index.php` und den Info-Seiten zu vermeiden.

### Fixed

- Veralteter Footer-Hinweis auf Tankerkönig entfernt.

## [1.7.0] - 2026-09-22

### Removed

- Tankerkönig-Anbindung vollständig entfernt (`api/fuelprice.php`,
  `api_fetch_diesel_prices()`, `api_get_national_average_diesel_price()`,
  alle `TANKERKOENIG_*`/`NATIONAL_AVG_*`-Konstanten). Die Anbindung
  erwies sich als grundsätzlich unzuverlässig – Verbindungsfehler traten
  auch von einem anderen Standort über eine andere IP-Adresse auf.

### Changed

- Dieselpreis wird jetzt ausschließlich manuell eingetragen (Hinweistext
  mit Verweis auf ein externes Vergleichsportal).

## [1.6.0] - 2026-09-21

### Added

- Logo im Header, Favicon-Set (ICO, PNG 16/32 px, Apple-Touch-Icon).

### Changed

- Farbpalette auf neues CI umgestellt: Navy (`#032737`), Orange
  (`#FD761C`), Türkis (`#0AAEC4`), Hintergrund `#FCFCFA` statt reinem
  Weiß. Abgedunkelte Text-/Rahmenvarianten für Orange und Türkis ergänzt,
  da die Rohfarben als Text-/Rahmenfarbe die WCAG-2.1-AA-Kontrastwerte
  nicht erreichen.
- Routenlinie auf der Karte von Grün (altes CI) auf Türkis umgestellt.

## [1.5.0] - 2026-09-21

### Changed

- Dieselpreis-Abfrage von Route/Etappen entkoppelt – kein "erst Route
  ermitteln" mehr nötig, bevor der Preis abgerufen werden kann.
- Cache für den berechneten Bundesdurchschnitt auf 24 Stunden verlängert,
  um die Anzahl der Tankerkönig-Anfragen strukturell zu reduzieren.

## [1.4.1] - 2026-09-21

### Fixed

- Kostenzuordnung korrigiert: Stellplatzpreis, Strom, Maut, Fähre,
  Entsorgung/Frischwasser, Haustiergebühr und Reservierungsgebühren sind
  je Etappe erfasst; nur Verpflegung, Freizeit/Eintritte und Sonstiges
  gelten für die gesamte Reise.

## [1.4.0] - 2026-09-21

### Added

- Mehr-Etappen-Modell ("Warenkorb"): beliebig viele Routen-Etappen
  (A → B → C → ...) werden zu einer Gesamtsumme kumuliert, statt nur
  eine einzelne Start-Ziel-Route zu berechnen.

## [1.3.0] - 2026-09-20

### Added

- Zwischenstopps (Waypoints) innerhalb einer Route.
- Druck-/PDF-Funktion für die Kostenübersicht.
- Weitere Kostenpositionen: Entsorgung & Frischwasser, Haustiergebühr am
  Stellplatz, Reservierungsgebühren.
- Versionsnummer in der Fußzeile.
- HTTPS-Redirect (nach Einrichtung des SSL-Zertifikats).

### Changed

- Farbkontraste gegen WCAG 2.1 AA geprüft und angepasst.

## [1.0.0] - 2026-09-15

### Added

- Basiskalkulator: Kraftstoff-, Verpflegungs- und Stellplatzkosten für
  eine einzelne Start-Ziel-Route.
- Routenberechnung über OSRM, Ortssuche über OpenStreetMap Nominatim.
- Automatische Kraftstoffpreis-Abfrage über Tankerkönig (in 1.7.0 wieder
  entfernt, siehe oben).
- Sicherheitshärtung: serverseitige Parametervalidierung,
  SSRF-Schutz (`api_assert_host()`), sitzungsbasiertes Rate-Limiting,
  CSP/Security-Header, konsequentes `textContent` statt `innerHTML` im
  Frontend.