📜 Changelog
v5.0 - 09. April 2026 (AKTUELL) 🎉
Cloudflare D1 Datenbank, R2 Medienspeicher & Astro 6 Upgrade
- 🗄️ Cloudflare D1: Event-Daten aus SQLite-Datenbank statt statischer JSON — serverseitige API via Cloudflare Pages Functions (
/api/events) - ☁️ Cloudflare R2: Alle Bilder und Medien über R2 Object Storage (
cdn.dampfermessen.de) — kein lokaler Bildspeicher mehr - ⬆️ Astro 6 Upgrade: Migration von Astro 4 auf Astro 6 mit ClientRouter (ehem. ViewTransitions)
- 📊 321 Events: Datenbank erweitert auf 321 Events aus 34 Ländern (2012–2026)
- 🆕 13 neue Events: Neue Termine aus Web-Recherche hinzugefügt (VPX Americas, GTNF, ExVAPO, u.a.)
- 🔧 Script-Lifecycle Fix: Alle Seiten-Scripts von
is:inlineauf Astro-Module-Scripts umgestellt — keine Listener-Stacking-Probleme mehr bei SPA-Navigation - 📋 Mitmachen-Seite: Tally.so Formular UND Google Sheets Link als duale Eintragsmöglichkeit
- 🛡️ XSS-Schutz:
escapeHtml()undsafeHref()in event-utils.js für sichere HTML-Generierung - 🔒 CORS-Whitelist: API-Endpunkt nur für dampfermessen.de erreichbar
- ⚡ Caching: API-Responses mit
max-age=3600, s-maxage=86400für optimale Performance - 📁 Migrations-System: SQL-Schema + Seed-Dateien für reproduzierbare D1-Deployments
- 🧪 Lokale Entwicklung:
wrangler pages devmit--persist-tofür konsistenten D1-Zustand
v4.0 - 28. März 2026
Astro-Migration, SEO, i18n, Mobile-Optimierung & Performance
- 🚀 Astro-Migration: Komplette Neuentwicklung als Astro Static Site (von Single-Page HTML)
- 🏗️ Komponenten-Architektur: Layout, Header, Footer, BackButton, ThemeToggle, LanguageToggle als eigenständige Astro-Komponenten
- 🌐 i18n (Deutsch/Englisch): Vollständiges Sprachsystem mit data-i18n Attributen, SVG-Flaggen-Buttons und localStorage-Persistenz
- 🔍 SEO-Optimierung: Individuelle Meta-Tags pro Seite, Canonical URLs, Open Graph, Twitter Cards, JSON-LD Structured Data (WebSite, CollectionPage, DataCatalog)
- 📱 Mobile-First: 3 Breakpoints (768px, 520px, 400px), horizontale Year-Tabs mit Scroll-Snap, Touch-optimierte Targets (44px), viewport-fit=cover
- ♿ Accessibility: Skip-to-Content Link, aria-expanded/aria-controls auf Menü, aria-label auf Navigation, semantisches HTML
- ⚡ Performance: Tailwind CSS entfernt (47 Pakete, ~300KB gespart), compressHTML, Hero-Image Preload, Lazy Loading, Shared event-utils.js
- 🔒 Security: XSS-Fix in Datenbank-Suche (HTML-Escaping), rel="noopener noreferrer" auf allen externen Links
- 🐛 Bug-Fixes: ThemeToggle (DOMContentLoaded → astro:page-load), Mobile-Menü schließt bei Navigation und Tap-Outside
- 🏴 Länderflaggen: flag-icons CSS-Library für SVG-Flaggen in Datenbank & Aktuelles (statt Emoji)
- 📋 Tally.so Formular: DSGVO-konformes anonymes Event-Meldeformular (EU, kein Tracking)
- 🗺️ Sitemap & Robots: @astrojs/sitemap, optimierte robots.txt mit Disallow für Legal-Pages
- 📅 Dynamisches Copyright: Jahreszahl automatisch per JavaScript und Astro-Build
- 🎨 ViewTransitions: Smooth Page-Transitions mit Astro ViewTransitions API
v3.0 - 23. Dezember 2025
Event-Datenbank Refactoring & Architektur-Überholung
- 🚀 Datenmigration: Alle 84 Events aus 350+ Zeilen Inline-Array in externe events.json extrahiert
- ⚡ Fetch API: Async/Await fetch() implementiert für dynamisches asynchrones Laden
- 📊 Optimierung: index.html um 376 Zeilen reduziert (-23%, von 1,913 → 1,537 Zeilen)
- 🏗️ Architektur: Saubere Trennung von HTML-Struktur, CSS-Styling und Datenlayer
- 🔧 Cleanup: Alle doppelten Event-Definitionen und junk-Code entfernt
- ✅ Encoding: UTF-8 ohne BOM repariert (German umlauts ü, ä, ö korrekt)
- 🎨 Navigation: Zurück-Buttons (← Zurück) in jedem Tab am Ende hinzugefügt
- 📝 Dokumentation: README.md vollständig mit v3.0 Details aktualisiert
- 🐛 Validierung: Alle HTML/CSS/JS Fehler behoben, 0 Fehler bestätigt
- 📁 Repository: Alte Reparatur-Scripts (fix_encoding.py, repair.py) gelöscht
- 🖼️ Bilder: sub-seiten/images/ Verzeichnis wiederhergestellt und validiert
- 🎯 Qualität: Vollständige Integration Testing bestanden, Production Ready
v2.1 - 23. Dezember 2025
Grid-Layout & Changelog
- 📝 Changelog-Tab hinzugefügt mit vollständiger Versionshistorie
- 📊 Datenbank zeigt automatisch das aktuelle Jahr (2025) beim Öffnen
- 📦 Jahr-Tabs in Grid-Layout: 12 Boxen pro Reihe (responsive)
- 📱 Grid-Layout angepasst auf Tablets (8 Spalten) und Mobile (4-6 Spalten)
- ✅ README.md aktualisiert mit v2.1 Features
- 🎨 Alle Fehler validiert: "No errors found"
v2.0 - 23. Dezember 2025
Production Ready & Optimiert
- ✅ WebP-Bildformat implementiert (FAVICON.webp, Dampfermessen-logo.webp, Dampfermessen.webp)
- ✅ Alle PNG-Bilder in WebP konvertiert für bessere Performance
- ✅ KI-Schutz Meta-Tags hinzugefügt (noimageai, noimageindex)
- ✅ AI Labyrinth Enablement aktiviert (aiBranding="enabled")
- ✅ WebP-Dateien verifiziert und bestätigt
- ✅ README.md aktualisiert mit v2.0 Status
- 🎨 Umfassende Fehlervalidierung: "No errors found"
v1.5 - 14. Dezember 2025
Visuelle Verbesserung & Design-Upgrade
- ✨ CSS-Animationen implementiert (Pulse, Slide-Up, Glow)
- ✨ CTA-Buttons mit Shine-Effekt und cubic-bezier Timing
- ✨ Hero-Sektion mit 8s Puls-Animation
- ✨ Partner-Karten mit Radial-Gradient Glow-Effekt
- ✨ Year-Tabs mit aktiven Zuständen und Skalierungseffekten
- ✨ Inset Box-Shadows für Glass-Morphism Effekt
- 📊 Umfassende CSS-Optimierungen und Hover-States
v1.4 - 14. Dezember 2025
Sicherheit & Compliance
- 🔒 Meta-Tags für KI-Bot-Blockierung hinzugefügt
- 🔒 robots="noimageai, noimageindex" implementiert
- 🔒 AI Labyrinth Enablement Meta-Tag hinzugefügt
- 🔒 DMARC/SPF/DKIM Dokumentation hinzugefügt
- 📝 Sicherheits-Compliance vollständig
v1.3 - 14. Dezember 2025
Feature-Entfernung & Cleanup
- 🗑️ Stats-Tab komplett entfernt
- 🗑️ Tracker.php Referenzen aus HTML entfernt
- 🗑️ Statistiken-Footer-Link gelöscht
- 🧹 Code-Cleanup und Optimierung
- ✅ Fokus auf Core-Funktionalität (Kalender, Datenbank, Partner)
v1.2 - 14. Dezember 2025
Content-Integration
- 📄 Impressum vollständig in index.html integriert
- 📄 Datenschutz vollständig in index.html integriert
- 📄 Rechtliche Inhalte als interne Tabs realisiert
- 🔗 Externe Dateien als Backup beibehalten
- ✅ Redundante Cloud-Links entfernt
- ✅ Redundante Adress-Referenzen entfernt
v1.1 - 14. Dezember 2025
Fehlerbehoben & Struktur-Anpassung
- 🐛 Favicon-Pfad korrigiert: FAVICON.png → sub-seiten/bilder/1.webp
- 🐛 Logo-URLs korrigiert: 5 Instanzen aktualisiert
- 🐛 Folder-Struktur angepasst: "sub seiten/" → "sub-seiten/"
- 🐛 JavaScript Monat-Extraktions-Logik repariert
- 🐛 CSS Vendor-Präfixe standardisiert
- 🐛 UTF-8 Encoding für deutsche Umlaute behoben
- ✅ Alle internen Links funktionieren
v1.0 - Initial Release
Grundlegende Website-Funktionalität
- 📅 Event-Kalender mit Live-Daten (2012-2026)
- 📊 Datenbank mit 200+ Events
- 🤝 Partner-Sektion mit 5 Links
- 📱 Single-Page App mit 9 Tabs
- 🎨 Tailwind CSS Responsive Design
- ⚖️ Impressum und Datenschutz
📚 Historische Version
Die ursprüngliche Version der Dampfermessen.de Website ist im Internet Archive verfügbar. Dort kannst du sehen, wie die Seite vor dem modernen Redesign (v3.0) aussah - mit klassischem Layout und den älteren Design-Elementen.
🔗 Alte Website im Web Archive ansehen