Skip to content

CHANGELOG Rebel Girl FM

v3.6.13 2026-06-02
Projektwartungschecks und Dokumentations-Sync ergaenztSitemap/Robots-Check und Song-Generator-Security-Tests automatisiertKI-Dokumentation und Script-Ausgaben auf saubere ASCII-Ausgaben normalisiert

Wartung und Automatisierung

  • npm run docs:sync synchronisiert README und zentrale KI-Dokumentation aus Changelog, Paketversionen, i18n-Keys und Medienindex.
  • npm run changelog:new -- <version> legt Changelog-Dateien fuer Deutsch, Englisch und Spanisch als konsistente Vorlage an.
  • npm run check:sitemap prueft dist/client/sitemap-index.xml, dist/client/sitemap-0.xml, public/image-sitemap.xml und public/robots.txt.
  • npm run test:song-generator prueft Song-Generator-Validierung und API-Security-Invarianten.
  • npm run check fuehrt jetzt zusaetzlich die Song-Generator-Security-Tests aus.
  • npm run build fuehrt nach dem Astro-Build automatisch den Sitemap/Robots-Check aus.

Validierung

  • npm run check erfolgreich: Astro 0 Fehler, 0 Warnungen, 0 Hinweise; i18n bleibt bei 525 Keys je Sprache.
  • npm run build erfolgreich: 96 Sitemap-Routen und 593 eindeutige Bilder validiert.
v3.6.12 2026-06-02
Datenschutz-Tab auf Stand 2. Juni 2026 aktualisiertCloudflare, OpenRouter, D1 und LocalStorage genauer dokumentiertTracking- und Profiling-Klarstellungen ergaenzt

Datenschutz

  • Die Datenschutzerklaerung wurde in Deutsch, Englisch und Spanisch auf den Stand 2. Juni 2026 gebracht.
  • Cloudflare Workers, Cloudflare R2/CDN, Cloudflare D1, Worker-Logs und OpenRouter sind genauer beschrieben.
  • Song-Generator-Datenfluesse wurden aktualisiert: Prompt-Verarbeitung, kurzzeitige IP-Verarbeitung fuer Rate-Limits und D1-Archivfelder.
  • LocalStorage, Tally-Feedback, Twitch, YouTube und FlagCDN wurden an den aktuellen Projektstand angepasst.
  • Es ist klargestellt, dass Rebel Girl FM kein Tracking, kein Google Analytics, keinen Tag Manager und kein Werbe-Profiling nutzt.

Validierung

  • npm run check wurde erfolgreich ausgefuehrt.
  • i18n bleibt synchron mit 525 Keys je Sprache.
v3.6.11 2026-06-01
Dependencies aktualisiert und npm audit ohne FindingsSong-Generator-Japanisch serverseitig freigegebenAPI-Fehlerausgaben und Sitemap-Cache-Regel gehaertet

Updates

  • Astro wurde auf ^6.4.2, Vite auf ^7.3.5, Wrangler auf ^4.96.0 und @cloudflare/workers-types auf ^4.20260601.1 aktualisiert.
  • npm audit --audit-level=moderate meldet keine Schwachstellen.

Bugfixes

  • Der Song-Generator erlaubt JAPANISCH jetzt auch serverseitig im OpenRouter-Proxy. Die UI hatte Japanisch bereits als Zielsprache angeboten.
  • Der System-Prompt des Song-Generators wurde von verbliebenen Encoding-Artefakten bereinigt.

Pentest-Hardening

  • Unerwartete API-Exceptions werden serverseitig geloggt, aber nicht mehr als interne Fehlermeldungen an Clients zurueckgegeben.
  • sitemap-index.xml wird in der Middleware explizit mit der Sitemap-Cache-Regel behandelt.
  • Checks, Build, Asset-Check, Secret-Pattern-Suche und Eingabefilter-Smoke-Tests wurden erfolgreich ausgefuehrt.
v3.6.10 2026-06-01
Medienindex aus lokalem Object-Storage-Downloads-Ordner aktualisiertSieben neue Song-Cover nach Cloudflare R2 hochgeladenImage-Sitemap mit 593 Bildern neu generiert

Medien und CDN

  • public/media-index.json wurde aus D:\sicherheit\Daten\Webseiten\Object Storage\rebel-girl-fm.de\downloads neu generiert.
  • Die Galerie enthaelt jetzt 593 WebP-Bilder; Audio, Video und Lyrics bleiben bei 897, 888 und 887 Eintraegen.
  • Zwei neue Folk-Hexe-Cover und fuenf neue Mei-Cover wurden gezielt nach Cloudflare R2 in den Bucket rebel-girl-fm hochgeladen.

Validierung

  • Die sieben neuen CDN-URLs antworten per HEAD mit 200.
  • public/image-sitemap.xml wurde mit 593 Bildern neu geschrieben.
  • npm run check:assets, npm run check und npm run build laufen erfolgreich.
v3.6.9 2026-06-01
README und KI-Projektdokumentation aktualisiertMehrsprachige Lore- und Changelog-Quellen dokumentiertSitemap-Stand fuer die aktuellen DE/EN/ES-Routen erneuert

Dokumentation

  • README und KI-Module wurden auf den aktuellen Projektstand mit Astro 6, Cloudflare Workers, R2/CDN, D1-Archiv, AI-Discovery und mehrsprachigen Seiten gebracht.
  • Die Content-Quellen dokumentieren jetzt die lokalisierten Lore-Dateien unter src/content/lore/en/ und src/content/lore/es/ sowie die lokalisierten Changelog-Dateien unter src/content/changelog/en/ und src/content/changelog/es/.

Indexierung

  • Die Sitemap-Dokumentation verweist auf sitemap-index.xml und image-sitemap.xml.
  • Der Build erzeugt die Sitemap fuer die aktuellen deutschen, englischen und spanischen Routen inklusive Lore, Changelog, Downloads und Figurenprofilen.
v3.6.8 2026-05-28
Ungenutzte Voting-Helfer entferntLokale Build- und Cache-Artefakte aufgeraeumtProjektchecks nach der Bereinigung erneut ausgefuehrt

Projektbereinigung

  • Die nicht mehr referenzierten Player-Voting-Helfer isVoted() und getBaseVotes() wurden entfernt.
  • Lokale generierte Ordner und Dev-Logs wurden aus dem Arbeitsverzeichnis entfernt; .env und node_modules blieben fuer Deployment und lokale Arbeit erhalten.

Validierung

  • npm run check laeuft ohne Fehler, Warnungen oder Hinweise.
  • npm run check:assets bestaetigt den R2-Medienindex.
  • npm run build erstellt die Cloudflare-Worker-Ausgabe ohne Fehler.
v3.6.7 2026-05-28
Suno-Playlist der Hirnlosen Radioschwestern ergaenztTeam-CDN-Cover fuer die neue Playlist verwendetPlaylist-Texte fuer DE, EN und ES synchronisiert

Playlisten

  • Die Suno-Playlist Rebel Girl FM - Die Hirnlosen Radioschwestern wurde in den gemeinsamen Playlist-Daten aufgenommen.
  • Das Cover nutzt den bestehenden CDN-Pfad downloads/Bilder/Team/Hirnlosen-Radioschwestern.webp.
  • Die Playlist-Seiten in Deutsch, Englisch und Spanisch zeigen dadurch automatisch dieselbe neue Karte mit lokalisierten Beschreibungstexten.

Validierung

  • npm run check bestaetigt vollstaendige i18n-Keys fuer DE, EN und ES.
  • npm run build erstellt die Cloudflare-Worker-Ausgabe ohne Fehler.
v3.6.6 2026-05-28
Content-Signal fuer AI-Nutzung in robots.txt ergaenztMarkdown-Negotiation fuer oeffentliche HTML-Seiten aktiviertAI-Discovery-Dokumentation im README aktualisiert

AI-Discovery

  • robots.txt setzt jetzt Content-Signal: ai-train=no, search=yes, ai-input=yes fuer die globale Crawler-Policy.
  • Oeffentliche HTML-Seiten liefern bei Accept: text/markdown eine Markdown-Variante aus, waehrend Browser weiterhin HTML erhalten.
  • Markdown-Antworten bleiben auf oeffentliche Seiten beschraenkt; /api/ und /admin/ werden nicht als Markdown exportiert.

Dokumentation

  • README beschreibt die vorhandenen AI-Discovery-Endpunkte, die Content-Signal-Policy und die bewusst nicht veroeffentlichten OAuth-, MCP- und API-Catalog-Metadaten.
v3.6.5 2026-05-28
Song-Generator-Buttons oben nebeneinander angeordnetAI-Crawler-Freigaben in robots.txt erweitertllms.txt, llms-full.txt und ai.txt fuer KI-Assistenten ergaenztWorker-Header und Head-Links fuer bessere maschinelle Verarbeitung gesetzt

Song-Generator

  • Der Button EINGABE LEEREN steht jetzt direkt oben neben ZUFALLS-SIGNAL, damit beide Aktionen am Themenfeld zusammen erreichbar sind.
  • Der alte separate Buttonblock unter dem Eingabefeld wurde entfernt; der Abstand zum naechsten Abschnitt bleibt erhalten.

AI-Indexierung

  • robots.txt erlaubt wichtige KI-Crawler explizit fuer alle oeffentlichen Seiten und sperrt weiterhin /api/ sowie /admin/.
  • llms.txt bietet KI-Assistenten eine kompakte Projektkarte mit wichtigsten Seiten, Figuren und Sitemaps.
  • llms-full.txt beschreibt zusaetzlich Projektidentitaet, Crawler-Regeln, Maschinen-Endpunkte, Hauptbereiche und Figurenkontext.
  • ai.txt verweist als schlanker Discovery-Einstieg auf die LLM- und Sitemap-Dateien.

Auslieferung

  • HTML-Seiten verlinken die LLM-Dateien im <head> als text/plain-Alternates.
  • Cloudflare-Worker-Responses setzen fuer oeffentliche Routen X-Robots-Tag: index, follow mit grosszuegigen Snippet-/Preview-Regeln.
  • API- und Admin-Routen erhalten serverseitig X-Robots-Tag: noindex, nofollow, noarchive.
  • HTML-Responses verweisen zusaetzlich per Link-Header auf /llms.txt und /llms-full.txt.

Cloudflare-Hinweis

  • Cloudflare-Dashboard-Regeln wie Bot Fight Mode, WAF Custom Rules, Super Bot Fight Mode oder AI Scraper Blocking muessen in der Zone so gesetzt sein, dass erlaubte Crawler nicht herausgefiltert werden. Diese Dashboard-Schalter liegen ausserhalb von wrangler.toml.
  • Live-Pruefung nach Deploy: Cloudflare prepended aktuell noch BEGIN Cloudflare Managed content in robots.txt. In der Zone muss Instruct AI bot traffic with robots.txt deaktiviert werden, damit Cloudflare keine eigenen AI-Disallow-Regeln voranstellt.
v3.6.4 2026-05-28
Partner-Logo-Dateipfade auf Bindestrich-Namen korrigiertPlaylist- und Partner-CDN-URLs robust kodiertLive-Asset-Crawl ohne 404-Fehler bestanden

CDN-Assets

  • Die Partner-Logos verwenden jetzt die vorhandenen Bindestrich-Dateien dampferburg-Favicon.webp, dampfermessen-Favicon.webp und noob-town-Favicon.webp.
  • Die drei Logo-Dateien wurden erneut nach Cloudflare R2 hochgeladen und sind ueber den CDN erreichbar.
  • Alte Leerzeichen-/%20-Pfade werden auf den Partnerseiten nicht mehr ausgegeben.

Robustere Bildpfade

  • Partnerseiten kodieren Logo-Dateinamen jetzt vor dem Aufbau der CDN-URL.
  • Playlist-Seiten in Deutsch, Englisch und Spanisch kodieren Bildpfade segmentweise, damit Leerzeichen oder Sonderzeichen in Dateinamen keine kaputten Asset-URLs erzeugen.

Qualitaetssicherung

  • npm run check wurde erfolgreich ausgefuehrt.
  • npm run build wurde erfolgreich ausgefuehrt.
  • Der Live-Asset-Crawl pruefte 602 Asset-URLs ohne 404-Fehler.
v3.6.3 2026-05-27
Song-Generator um Eingabe-leeren-Button erweitertJapanisch als Song-Zielsprache ergaenztREADME und Changelog aktualisiert

Song-Generator

  • Unter 1. INITIALISIERE UEBERTRAGUNG (Thema) gibt es jetzt den Button EINGABE LEEREN, damit vorhandener Text sofort entfernt und das Themenfeld direkt wieder fokussiert wird.
  • Die Sprach-Auswahl unter 3. SETUP & ATMOSPHAERE enthaelt jetzt JAPANISCH.
  • Japanisch wird beim Generieren als JAPANISCH an den Song-Prompt uebergeben und ist damit eine echte Zielsprache, nicht nur ein sichtbarer Auswahlpunkt.

Qualitaetssicherung

  • npm run check wurde erfolgreich ausgefuehrt.
  • npm run build wurde erfolgreich ausgefuehrt.
v3.6.2 2026-05-27
Song-Generator mit Fortschrittsanzeige erweitertOpenRouter auf kostenlose Textmodell-Fallback-Kette umgestelltZufalls-Signal repariert und mit lokalem Fallback abgesichertBild-SEO mit Image-Sitemap und crawlbaren Galerie-Fallbacks verbessertDatenschutz, README und Security-Checks aktualisiert

Song-Generator

  • Der Button TRANSMISSION STARTEN zeigt jetzt Fortschritt und Status direkt im Generator an.
  • Fehlerpfade werden sichtbarer: Validierungsfehler, OpenRouter-Probleme und Archivfehler erscheinen als Statusmeldung unter dem Button.
  • Das verwendete OpenRouter-Modell wird aus dem serverseitigen Antwortheader gelesen und nach erfolgreicher Generierung angezeigt.
  • Der Button ZUFALLS-SIGNAL akzeptiert jetzt die legitimen Szenario- und Cover-Zufalls-Prompts im API-Proxy.
  • Falls OpenRouter bei einem Zufalls-Signal ausfällt oder leer antwortet, wird ein lokaler Ersatztext passend zum Charakter oder Cover-Modus geladen.

OpenRouter und kostenlose KI-Modelle

  • Der OpenRouter-Proxy nutzt eine feste Allowlist kostenloser Textmodelle mit :free-Kennzeichnung.
  • Bezahlmodelle werden serverseitig blockiert, auch wenn eine andere Modellvariable gesetzt wird.
  • Wenn ein kostenloses Modell nicht antwortet, versucht der Proxy automatisch das nächste Modell aus der Free-Textmodell-Kette.
  • Der aktuelle Live-Test nutzte erfolgreich nvidia/nemotron-3-super-120b-a12b:free.

Bild-SEO und CDN

  • public/image-sitemap.xml wird aus public/media-index.json generiert und in robots.txt referenziert.
  • Galerie-Seiten enthalten zusätzliche crawlbare Bild-Fallbacks mit beschreibenden Alt-Texten und CDN-URLs.
  • Die neuen R2-/CDN-Bilder sind im Medienindex enthalten und werden über cdn.rebel-girl-fm.de ausgeliefert.

Datenschutz

  • Die Datenschutztexte nennen nun die kostenlose OpenRouter-Textmodell-Kette, Cloudflare Workers, D1-Archiv und die Eingabeschutzmaßnahmen des Song-Generators genauer.
  • Der Hinweis zu vollständig fiktiven KI-Charakteren bleibt Bestandteil der Datenschutzseite in Deutsch, Englisch und Spanisch.
  • Der Stand der Datenschutzerklärung wurde auf den 27. Mai 2026 gesetzt.

Security-Review und Qualitätssicherung

  • Nicht-destruktive Security-Checks wurden für Security-Header, Origin-Schutz, ungültige Prompts, Größenlimits, Script-/URL-Filter und Rate-Limit-Verhalten durchgeführt.
  • npm.cmd run check wurde erfolgreich ausgeführt.
  • npm.cmd run check:assets wurde erfolgreich ausgeführt.
  • npm.cmd run build wurde erfolgreich ausgeführt.
v3.6.1 2026-05-27
R2-CDN mit lokalem Downloads-Ordner synchronisiertMedia-Index und neue Bilder aktualisiertProjektpakete und Wrangler aktualisiertDatenschutzhinweis zu fiktiven KI-Charakteren ergänzt

Medien und CDN

  • Der lokale Downloads-Ordner wurde mit dem Cloudflare-R2-Bucket rebel-girl-fm synchronisiert.
  • public/media-index.json wurde aus der lokalen Object-Storage-Struktur neu generiert.
  • Der aktuelle Medienindex enthält 897 Audio-Dateien, 888 Videos, 887 Songtexte und 586 Galerie-Bilder.
  • Für zukünftige R2-Abgleiche steht npm run sync:r2 bereit.

Dependencies und Build

  • Astro, @astrojs/cloudflare, @astrojs/sitemap, Workers-Typen und Wrangler wurden auf den aktuellen kompatiblen Stand gebracht.
  • Vite bleibt auf der kompatiblen 7.x-Linie, da Vite 8 mit der aktuellen Astro-/Cloudflare-Runner-Kombination nicht stabil baut.

Datenschutz

  • Die Datenschutzseite wurde auf den 27. Mai 2026 aktualisiert.
  • Der KI-Hinweis nennt nun ChatGPT, Claude und Google Gemini.
  • Es wird ausdrücklich klargestellt, dass alle Charaktere, Biografien, Rollen, Altersangaben, Lore-Kontaktdaten und personenbezogen wirkenden Angaben fiktiv sind und keine realen Personen beschreiben.

Qualitätssicherung

  • npm.cmd run check wurde erfolgreich ausgeführt.
  • npm.cmd run check:assets wurde erfolgreich ausgeführt.
  • npm.cmd run build wurde erfolgreich ausgeführt.
v3.6.0 2026-05-21
Astro 6 auf Cloudflare Workers umgestelltSong-Generator mit OpenRouter und D1-Archiv integriertAPI- und Eingabe-Hardening umgesetztLore- und Über-uns-Seiten mit Vorlesefunktion erweitertRebel Player Play/Pause- und Trackwechsel-Logik stabilisiertSEO, Datenschutz und Projekt-Dokumentation aktualisiert

Cloudflare Workers

  • Das Projekt ist auf Cloudflare Workers mit Astro Runtime ausgerichtet.
  • Die Song-Generator-APIs nutzen Cloudflare-Bindings über cloudflare:workers.
  • OPENROUTER_API_KEY, OPENROUTER_MODEL und das D1-Binding DB werden serverseitig gelesen.
  • Alte Pages-Deployment-Skripte wurden aus den npm-Scripts entfernt.

Song-Generator

  • Die Seite ist in den normalen Projekt-Layout-Rahmen integriert, inklusive Header, Navigation, Hintergrund und Sprachrouten.
  • Der Rebel Player verlinkt den Song-Generator im Zahnrad-Menü.
  • Charakter-Lore und feste Style-Regeln werden in den Prompt eingebunden.
  • Der Generator ist für Deutsch, Englisch und Spanisch erreichbar.
  • Überschrift, Schriftbild, Box-Rundungen und Layout wurden an die übrigen Projektseiten angeglichen.

Sicherheit

  • Der OpenRouter-Proxy akzeptiert nur das erwartete Song-Generator-Promptformat.
  • Charaktere, Sprachen, Stimmungen, Dauern und Formate werden serverseitig validiert.
  • Eingaben werden im Browser und auf dem Server gegen Spam, Zufallszeichen, Links, E-Mails, Script-Code und Überlänge geprüft.
  • OpenRouter- und Archiv-Routen haben Rate-Limits, Größenlimits und Origin-Prüfungen.
  • Das D1-Archiv blockt doppelte Einträge derselben Idee pro Charakter innerhalb von 15 Minuten.

Barrierefreiheit und Inhalte

  • Die Lore-Seite und die Über-uns-Seiten haben eine Vorlesefunktion über die Browser-Speech-Synthesis-Schnittstelle.
  • Die Über-uns-Seite wurde wieder auf den ausführlichen Sender-, Lore- und StorytellerZ-Kontext ausgerichtet.
  • Die zusätzliche Lore-Einordnung steht getrennt vom StorytellerZ-Abschnitt, damit die Inhalte thematisch sauber bleiben.
  • Charakter- und Inhaltsbilder wurden mit besseren Alternativtexten und aria-label-Hinweisen ergänzt.

Rebel Player

  • Playlist-Klicks starten den gewählten Track direkt über die zentrale Player-Logik.
  • Play/Pause, Next/Prev und Quellenwechsel stoppen alte Medien zuverlässiger und behalten den erwarteten Abspielzustand bei.
  • Audio- und Video-Elemente werden beim Trackwechsel entladen, damit kein alter Song im Hintergrund weiterläuft.
  • @nanostores/preact und nanostores sind vom Vite Dependency Optimizer ausgeschlossen, um Cache-/Hydration-Fehler im Dev-Server zu vermeiden.
  • Das Zahnrad-Menü enthält einen direkten Link zum Song-Generator.

SEO, Datenschutz und Wartung

  • README und Datenschutzhinweise wurden auf Workers, OpenRouter und D1 aktualisiert.
  • Die Datenschutzseite beschreibt zusätzlich die Vorlesefunktion auf Lore und Über uns.
  • Sitemap/Robots/Meta-Daten wurden auf die aktuelle Runtime ausgerichtet.
  • Temporäre Dev-/Preview-Logs und Vite-Cache-Dateien wurden aus dem Arbeitsbaum entfernt und in .gitignore aufgenommen.

Qualitätssicherung

  • npm run check wurde erfolgreich ausgeführt.
  • npm run build wurde erfolgreich ausgeführt.
  • Ein lokaler Security-Review/Pentest-Smoke wurde für API-Missbrauch, Eingabefilter, Secrets, Header und Routenlogik durchgeführt.
v3.5.2 2026-05-20
Lore-Seite mit Kapitel-Navigation erweitertPlaylist-Cover einheitlich formatiertMei-Playlist nutzt jetzt ein echtes Mei-BildÜbersetzungen und Encoding geprüft

Lore

  • Die Lore-Seite besitzt jetzt eine Kapitel-Navigation, die automatisch aus den ##-Überschriften der Chronik und Figurenprofile erzeugt wird.
  • Auf Desktop bleibt die Kapitelbox seitlich sichtbar.
  • Auf Tablet und Mobile liegt die Kapitelbox kompakt oberhalb des Inhalts.
  • Kapitel-Links springen mit Smooth-Scroll direkt zu den jeweiligen Abschnitten.

Playlisten

  • Alle Playlist-Cover verwenden jetzt denselben quadratischen Bildrahmen.
  • Unterschiedliche Originalformate werden einheitlich per object-fit: cover zugeschnitten.
  • Die Mei-Playlist nutzt jetzt downloads/Bilder/Team/Mei-Die-neue-Praktikantin.webp statt des generischen Rebel-Girl-Covers.
  • Die Änderung ist für Deutsch, Englisch und Spanisch umgesetzt.

Qualitätssicherung

  • npm run check wurde erfolgreich ausgeführt.
  • npm run build wurde erfolgreich ausgeführt.
  • Die Sprachdateien de, en und es wurden auf vollständige Translation-Keys, leere Werte, Platzhalter-Abweichungen und Playlist-Texte geprüft.
  • Ein Encoding-Fehler im Lore-Teaser der Über-uns-Seite wurde korrigiert (über, Sofía).
v3.5.1 2026-05-20
R2-Object-Storage vollständig mit lokaler Downloads-Struktur synchronisiertPNG/WAV-Altformate durch WebP/Opus ersetztMei-Die-neue-Praktikantin im Rebel Player ergänztPlaylists und Lore-Darstellung weiter aktualisiert

Medien und R2

  • Die lokale Object-Storage-Struktur unter downloads wurde bereinigt und erneut vollständig nach Cloudflare R2 hochgeladen.
  • Der Bucket rebel-girl-fm enthält nach direkter R2-Object-API-Zählung 3.223 Objekte.
  • Verbliebene PNG- und WAV-Originaldateien wurden nach der Konvertierung entfernt.
  • Aktuelle Formate im Downloads-Baum: .opus, .webm, .webp, .txt und .htaccess.
  • public/media-index.json wurde aus der aktuellen Downloads-Struktur neu erzeugt.

Rebel Player

  • Unter Audio -> Rebel Girl FM ist jetzt auch Mei-Die-neue-Praktikantin als Filter vorhanden.
  • Der Filter nutzt den Audio-Ordner Mei-Die-neue-Praktikantin.
  • Das Player-Cover fuer Mei zeigt auf downloads/Bilder/Team/Mei-Die-neue-Praktikantin.webp.

Playlists und Content

  • Die Suno-Playlist Rebel Girl FM - Mei (Die neue Praktikantin) wurde in die Playlisten-Daten aufgenommen.
  • Die Suno-Playlist STTZ-AprilScherz wurde ergänzt.
  • Die Lore-Seite zeigt Figurenbilder neben den Profildaten und blendet die Tabellenkopfzeile Feld/Wert aus.

Qualitätssicherung

  • npm run check wurde erfolgreich ausgeführt.
  • npm run build wurde erfolgreich ausgeführt.
v3.5.0 2026-05-19
Lore und Figurenprofile zentral in src/contentAlle Figuren als Markdown-Profile mit DE/EN/ES-AnbindungCDN-Struktur und media-index aktualisiertRebel Player Lade- und Cover-FixesRobots.txt und Security-Header bereinigt

Content und Lore

  • Die alte Arbeitsablage neue story wurde in die produktive Content-Struktur überführt.
  • Die Chronik liegt jetzt zentral in src/content/lore/lore.md.
  • Die offiziellen Figurenprofile liegen zusätzlich als Lore-Quelle in src/content/lore/figurenprofile.md.
  • Alle Haupt- und Nebenfiguren besitzen eigene Markdown-Dateien unter src/content/characters/.

Figurenprofile und Über uns

  • Die Seite Über uns lädt Figuren jetzt aus der Characters-Collection.
  • Haupt- und Nebenfiguren werden über category: main und category: side sortiert.
  • Mei ist als Hauptfigur ergänzt.
  • Punk-Muschi wurde in die Nebencharaktere verschoben.
  • Die Figurenprofile sind für Deutsch, Englisch und Spanisch angebunden.

Internationalisierung

  • Die Sprachdateien src/i18n/de.ts, src/i18n/en.ts und src/i18n/es.ts wurden synchronisiert.
  • Alle drei Sprachen enthalten aktuell 439 Translation-Keys.

CDN und Medienindex

  • scripts/sync.js unterstützt jetzt MEDIA_DOWNLOADS_DIR, damit der Medienindex direkt aus der lokalen Object-Storage-Struktur erzeugt werden kann.
  • Die Gallery wird rekursiv gescannt und unterstützt die neue Ordnerstruktur.
  • CDN-Pfade werden URL-sicher segmentweise kodiert, damit Leerzeichen, Klammern und Sonderzeichen funktionieren.
  • Aktueller Medienindex: 863 Audio-Dateien, 888 Videos, 863 Lyrics-Dateien und 519 Gallery-Bilder.

Rebel Player

  • Das Fallback-Bild ohne laufenden Track wurde auf downloads/Bilder/Rebel-Player/Rebel-Girl-FM-Player.webp gesetzt.
  • Der erste Ladezustand des Players wird korrekt behandelt, damit beim ersten Seitenaufruf kein kurzer Fehlerzustand erscheint.
  • Cover-URLs werden nicht mehr doppelt mit .webp erweitert.

SEO, Security und Qualitätssicherung

  • public/robots.txt wurde bereinigt.
  • public/_headers setzt zusätzliche Security-Header inklusive Cross-Origin-Opener-Policy und upgrade-insecure-requests.
  • npm run check und npm run build wurden erfolgreich ausgeführt.
v3.4.1 2026-04-25
Node 24 als Standard (.nvmrc + engines.node).npmrc mit legacy-peer-deps=true für CI-KompatibilitätDatenschutz-Stand auf 25. April 2026 (DE/EN/ES)

🆕 Build-Tooling

  • Neue .nvmrc mit 24 — wird von Cloudflare Pages, GitHub Actions und nvm/volta automatisch erkannt.
  • engines.node von >=22.12.0 auf >=24.0.0 gehoben.
  • .npmrc mit legacy-peer-deps=true zentral hinterlegt — löst den TypeScript-6-vs-@astrojs/check-Peer-Dep-Konflikt für lokale Installs und CI-Builds, ohne dass jedes Mal --legacy-peer-deps mitgegeben werden muss.

🔗 Stack-Konsistenz

Damit haben jetzt alle 4 Partnerprojekte (rebel-girl-fm.de, dampferburg, dampfermessen, noob-town) dieselbe Build-Basis: Node 24 + npm mit legacy-peer-deps.

🔒 Datenschutz

  • „Stand”-Angabe auf 25. April 2026 aktualisiert (DE/EN/ES).

📅 Keine inhaltlichen Änderungen

Code-Basis und i18n-Keys bleiben unverändert.

v3.4.0 2026-04-24
Stack-Vereinheitlichung: Rebel Girl FM bleibt Referenz für DE/EN/ESAlle 4 Partnerprojekte jetzt mit 3-Sprachen-Supporti18n-Integration, Datenschutz & Changelogs synchronisiert (Stand 2026-04-24)

🔗 Synchronisations-Release

Dieser Eintrag markiert keinen Code-Change an Rebel Girl FM selbst — die Seite hatte bereits alle DE/EN/ES-Features. Stattdessen dokumentiert er, dass die drei Partnerprojekte (dampferburg, dampfermessen, noob-town) mit diesem Release auf denselben Sprach-Support gebracht wurden.

🇪🇸 Partnerprojekte erweitert

  • dampferburg: Neue /es/-Routen (index, setup, 404), BaseLayout mit 3 Inline-SVG-Flaggen, Sitemap-i18n mit es-ES.
  • dampfermessen: ~150 neue ES-Übersetzungs-Keys im LanguageToggle.astro-i18n-Objekt, dritter Flaggen-Button.
  • noob-town: Spanisch als dritte Sprache in public/js/i18n.js, 3-Flaggen-Switcher (DSGVO-konform inline, kein flagcdn.com wegen strikter CSP).

🎯 Rebel Girl FM als Referenz

Das hier bereits etablierte i18n-Pattern (src/i18n/{de,en,es}.ts + @i18n/utils) diente als Vorbild für den einheitlichen Sprachumschalter der anderen Projekte.

📅 Keine lokalen Änderungen

  • Code-Basis unverändert — das aktuelle 426-Keys-Setup pro Sprache bleibt gültig.
  • Datenschutz-Stand bereits auf 24. April 2026 (aus v3.3.0).
v3.3.0 2026-04-24
Cloudflare-Setup per Script (wrangler.toml + npm run setup:cloudflare)Adblocker-Fallback für Tally-Feedback (DE/EN/ES)Stalker-Charakter umbenannt: Dieter → Karl LauerbachTypeScript 5.x → 6.0.3, Astro 6.1.9, Wrangler 4.84.1Datenschutz: Stand auf 24. April 2026 aktualisiertEinheitlicher Stack mit den drei Partnerprojekten

⚙️ Cloudflare-Automatisierung

  • Neues wrangler.toml mit R2-Bucket-Binding (rebel-girl-fm).
  • npm run setup:cloudflare prüft / erstellt Cloudflare-Ressourcen per CLI — keine manuelle Dashboard-Arbeit mehr.
  • scripts/setup-cloudflare.js nutzt korrekt npx wrangler für cross-platform-Zuverlässigkeit.

🛡️ Adblocker-Fallback für Feedback-Formular

  • Wenn das Tally-Formular auf /feedback, /en/feedback oder /es/feedback von einem Adblocker oder Privacy-Browser (uBlock Origin, Brave Shields, Firefox Strict Mode) blockiert wird, erscheint nach 5 Sekunden eine Hinweis-Box mit Direkt-Link.
  • 3 neue i18n-Keys pro Sprache: feedback.fallback.title, feedback.fallback.text, feedback.fallback.link.

👤 Stalker-Charakter umbenannt

  • Dieter Lauerbach → Karl Lauerbach in allen drei Sprachen (i18n + about.text3-Persona-Übersicht + ki/05-personas.md).

📦 Dependency-Updates

  • Astro 6.1.9 (von 6.1.7)
  • TypeScript 6.0.3 (von 5.9.3) — getestet, keine Breaking Changes.
  • Wrangler 4.84.1
  • tailwindcss / @tailwindcss/vite 4.2.4
  • Preact 10.29.x (unverändert)
  • vite@^7 als explizite devDependency + overrides (behebt @preact/preset-vite Resolution-Problem auf Astro 6.1.9).

🎨 CSS / Build-Fix

  • @source-Direktive in src/styles/global.css entfernt — löste einen rolldown-Bug (Missing field 'tsconfigPaths') in @tailwindcss/vite 4.2.4 aus. Tailwind v4 erkennt Dateien automatisch via Vites Modul-Graph.

🔗 Einheitlicher Stack

  • Rebel Girl FM teilt jetzt dieselbe Basis wie dampferburg, dampfermessen und noob-town: Astro 6 + Tailwind v4 + TypeScript 6 + Wrangler 4 + Vite 7. Preact + Nanostores bleiben Rebel-Girl-Spezifikum für den Webradio-Player.

🔒 Datenschutz

  • „Stand”-Angabe auf 24. April 2026 aktualisiert (DE/EN/ES).
v3.2.0 2026-04-19
Feedback-Seite (DE/EN/ES) mit Tally Inline-EmbedKI-Dokumentation auf 16 Module erweitertDatenschutz: Tally.so-Abschnitt ergänztFavicon auf CDN umgestelltHydration- & Video-Pfad-Fixes

💬 Feedback-Seite

  • Neue Seite /feedback (und /en/feedback, /es/feedback) mit eingebettetem Tally-Formular.
  • Popup → Inline-Embed: Button ersetzt durch direktes Inline-Formular — DSGVO-schonender, kein externer Popup-Kontext, direktere UX.
  • Footer-Link „FEEDBACK” in allen drei Sprachen ergänzt.
  • 2 neue i18n-Keys pro Sprache (feedback.*, privacy.s6.tally*).

🖼️ Favicon

  • Favicon zentral auf cdn.rebel-girl-fm.de/downloads/Logos/FAVICON-neu.webp umgestellt.
  • Doppelter SVG-Eintrag aus BaseHead.astro entfernt, WebP mit expliziter Größenangabe.

📚 KI-Dokumentation (v2)

  • Alte 9 Docs durch 16 strukturierte Module ersetzt (ki/MASTER.md + 01–16).
  • Neue Module: 12-auth-sessions.md, 13-testing.md, 14-caching-kv.md, 15-error-monitoring.md, 16-forms-antispam.md, 05a-database-d1.md.
  • CLAUDE.md vollständig auf neue Modulstruktur aktualisiert.

🔒 Datenschutz-Update (DE/EN/ES)

  • Neuer Drittanbieter-Abschnitt Tally.so (Formulardienst, EU-DSGVO-konform) ergänzt.
  • „Stand”-Angabe auf 19. April 2026 aktualisiert.

🧹 Cleanup & Fixes

  • Decap CMS entfernt: public/admin/ (config.yml, index.html) nicht länger genutzt → gelöscht.
  • Hydration-Speed: client:visibleclient:load bei Hero-Komponenten für schnellere Interaktivität.
  • Video-Pfad-Filter: heroVideo.ts filtert nur Videos aus korrektem Ordner (Rebel Girl FM Studio).
  • Galerie-Routing: ES-Galerie-Pfade korrigiert (/es/galeria).

📦 Dependencies

  • Astro 6.1.7
  • Tailwind CSS 4.2.2
  • Preact 10.29.x
  • Keine Breaking Changes.
v3.1.0 2026-04-08
Vollständige Astro 6 MigrationSexualitäts-Feld für alle 11 PersonasMusik Videos Playlist im Rebel PlayerSEO & PWA OptimierungKI-Dokumentation (ki/)Bugfixes: Charakter-Bilder, Player-Playlisten

🚀 Vollständige Astro 6 Migration

  • Framework-Wechsel: Komplette Umstellung von statischem HTML/JS auf Astro 6 + Preact + Tailwind CSS v4.
  • 85 Seiten werden jetzt statisch generiert — schneller, sicherer, SEO-freundlicher.
  • Preact Islands: Interaktive Komponenten (Player, Galerie, Filter) als isolierte Islands.
  • Nanostores: Globaler State zwischen Islands (Playback-Status, aktueller Track).
  • Astro Content Collections: Charakter-Profile und Changelog als typsichere Markdown-Dateien.
  • SPA Transitions: Seitenübergänge via <ClientRouter /> ohne Vollseiten-Reload.

👤 Persona-Updates

  • Sexualitäts-Feld: Neues Profilfeld zwischen Alter und Wohnort auf allen 11 Persona-Seiten.
  • Alle Werte in Deutsch, Englisch und Spanisch übersetzt.
  • Hauptpersonas: Rebel Girl (Bisexuell), Shadowman (Hetero), Folk-Hexe (Hetero – noch nicht sicher), Freundin (Lesbisch), Rumpelstilzchen (Bisexuell), Punk-Muschi (Hetero).
  • Nebencharaktere: Stalkerin (Lesbisch), Stalker (Hetero), Teufel (Bisexuell), Radioschwestern (Hetero), Ex-Freund (Hetero – möglicherweise schwul).
  • Person JSON-LD: Alle Persona-Seiten haben jetzt strukturierte Daten für Suchmaschinen.

🎵 Rebel Player

  • Musik Videos Playlist: Neue Playlist-Gruppe im Video-Bereich mit 7 Unterplaylisten (Rebel Girl, Folk-Hexe, Freundin, Rumpelstilzchen, Shadowman, DampferBurg, Cover-Songs).
  • Fetch statt SSR-Prop: media-index.json (262 KB) wird jetzt client-seitig geladen statt als SSR-Prop serialisiert — behebt leere Playlist-Anzeige.
  • Ladeindikator während der Player-Initialisierung.

🔍 SEO & Performance

  • JSON-LD RadioStation auf der Startseite mit vollständigen Metadaten.
  • OG-Image Dimensionen (1200×630) und korrekte CDN-URLs in allen Meta-Tags.
  • Twitter/X Tags: twitter:site und twitter:creator (@DampferBurg) ergänzt.
  • PWA Manifest (manifest.webmanifest): Seite ist jetzt als App installierbar (Android/iOS).
  • App-Shortcuts: Player und Galerie direkt vom Home-Screen erreichbar.
  • Persona-Bilder: fetchpriority="high" + loading="eager" für sofortiges Laden.
  • Footer: Layout-Container mit max-w-7xl für konsistente Breite.
  • robots.txt: AI-Bots explizit erlaubt und /admin/ blockiert.

🔒 Sicherheit

  • CSP erweitert: cdn.rebel-girl-fm.de in media-src, img-src und connect-src eingetragen — Medien wurden zuvor vom Browser blockiert.
  • manifest.webmanifest mit korrektem Content-Type: application/manifest+json Cache-Header.

🐛 Bugfixes

  • Charakter-Bilder (Über-Uns): Alle 6 Charakter-MD-Dateien hatten lokale Bildpfade — auf CDN-URLs korrigiert.
  • Player leere Playlist: media-index.json als 262 KB SSR-Prop führte zu Hydration-Problemen — auf Client-Fetch umgestellt.
  • OG-Image URL: Falsche Domain rebel-girl-fm.de/downloads/...cdn.rebel-girl-fm.de/downloads/....
  • Deploy Workflow: Node.js 20 → 22 (Projekt-Anforderung).
  • GitHub Actions Workflow entfernt — Deploy läuft direkt über Cloudflare Pages Git-Integration.

📚 KI-Dokumentation

  • CLAUDE.md im Repo-Root — wird von Claude Code automatisch geladen.
  • ki/ mit 10 strukturierten Anleitungsdateien für KI-Assistenten:
    • Projektstruktur, Personas, R2-Speicher, Medienkonvertierung, Datei-Integrität, Optimierung, Sub-Agenten, Änderungs-Tracking, Sicherheit.

📦 Dependencies

  • Tailwind CSS v4.2.2
  • Astro 6.1.4 (unverändert)
v3.0.0 2026-04-07
Medien-Migration auf Cloudflare R2 CDNAlte Formate (MP4, WAV, PNG) entferntCode-Bereinigung und Dependency-Updates

🚀 Cloudflare R2 Migration

  • CDN-Umstellung: Alle Mediendateien (Audio, Video, Bilder, Logos) werden jetzt über cdn.rebel-girl-fm.de (Cloudflare R2) ausgeliefert statt lokal aus dem Repository.
  • Schnellere Ladezeiten: Medien werden weltweit über das Cloudflare-CDN gecacht und ausgeliefert.
  • Schlankes Repository: Der public/downloads/-Ordner wurde aus dem Git-Repo entfernt — das Repo ist jetzt deutlich kleiner.

🧹 Aufräumarbeiten

  • Alte Formate entfernt: 864 MP4, 863 WAV und 1 PNG Datei gelöscht — nur noch moderne Formate (WebM, Opus, WebP) im Einsatz.
  • Unbenutzte Skripte entfernt: 11 einmalige PowerShell-Konvertierungsskripte und temporäre Artefakte aus dem Projekt entfernt.
  • Code-Warnungen behoben: Alle TypeScript-Hints (unbenutzte Variablen, deprecations) aufgelöst — 0 Errors, 0 Warnings, 0 Hints.

📦 Updates

  • Astro 6.1.3 → 6.1.4
  • Preact 10.29.0 → 10.29.1
  • Security-Fixes für defu und vite
  • z-Import auf astro/zod migriert (Deprecation behoben)

🔧 Fixes

  • Lyrics-Index repariert: sync.js und check_assets.js suchten Lyrics im falschen Ordner (Audio/ statt Songtexte/) — jetzt korrekt (1.726 Lyrics indexiert).
  • StorytellerZ-Logo: Unicode-Fehler im Dateinamen korrigiert (falsches Zeichen in 3 Seiten).
  • Ex-Freund-Bild: Neues WebP-Bild auf allen Persona- und Über-uns-Seiten eingebunden.
  • Teufel-Alter: Anzeige von “13.800.000.000 Jahre” auf “~13,8 Mrd. Jahre” gekürzt.

📝 Datenschutz

  • Datenschutzerklärung um Cloudflare R2 als Medien-CDN ergänzt (alle 3 Sprachen).
v2.9.5 2026-04-05
Neue Bilder für Side-Characters hinzugefügtBildkonvertierung von PNG zu WebP

🖼️ Medien-Updates

  • Neue Assets: Bilder für die Stalkerin, den Stalker und die Hirnlosen Radioschwestern hinzugefügt und in das .webp Format konvertiert.
  • Profilseiten aktualisiert: Die generierten Persona-Bilder wurden in die entsprechenden Nebencharakter-Seiten (stalker.astro, stalkerin.astro) eingebunden.
  • Sauberer Speicher: Alte .png Dateien wurden aus dem Repository gelöscht und der Media-Index via sync.js neu aufgebaut.
v2.9.4 2026-04-03
Persona-Lore auf allen ProfilseitenÜber-Uns-Seite mit Lore-Beschreibungeni18n 372 Keys × 3 SprachenDependency- & Konfig-Updates

📖 Persona-Lore

  • Lore-Texte eingebaut: Alle 5 Persona-Seiten zeigen jetzt die vollständige Hintergrundgeschichte aus den AI-Prompts.
  • “Lore:” Überschrift in Charakter-Farbe vor jedem Lore-Text.
  • Beschreibung & Story entfernt: Nur noch Lore als einziger Fließtext auf Profilseiten.

👤 Persona-Daten aktualisiert

  • Geburtsdatum-Format: Alter wird jetzt als „DD.MM.YYYY (X Jahre)” angezeigt.
  • Genres: Auf Top-3 aus AI-Prompts aktualisiert (z. B. Punk-Rock, Riot Grrrl, Post-Punk).
  • Doppelte Rollen-Anzeige entfernt: Rolle nur noch in der Detail-Liste, nicht mehr als Überschrift.

🖼️ Layout-Verbesserungen

  • Bild-Box: Persona-Bild füllt jetzt die volle Höhe der Info-Box (items-stretch + object-cover).

🌍 Über-Uns & i18n

  • „Über Uns”-Seite: Lore-basierte Persona-Beschreibungen in DE / EN / ES ergänzt.
  • i18n Synchronisation: 372 Keys × 3 Sprachen vollständig abgeglichen.
  • i18n Check-Script: Regex korrigiert, erkennt jetzt auch doppelt gequotete Werte.

⬆️ Dependency- & Konfig-Updates

  • Astro 6.1.1 → 6.1.3
  • @astrojs/preact 5.1.0 → 5.1.1
  • tsconfig.json: Veraltetes baseUrl entfernt, Pfade auf ./-Prefix umgestellt.
  • README.md: Komplett neu geschrieben mit Projektdokumentation.
v2.9.3 2026-03-24
SPA-Routing Rewrite (Dual-Mode)F5-Fehler behobenTab-Klick funktionslos behoben

🔄 SPA-Routing Rewrite (Dual-Mode)

  • Dual-Mode Routing: Produktions-Domain nutzt Clean URLs via pushState. Alle anderen Umgebungen nutzen Hash-Routing — F5-sicher.
  • useCleanUrls() Funktion: Erkennt die Produktions-Domain und steuert den URL-Schreibmodus.
  • Universelle URL-Erkennung: Handler werten immer Hash → Pfad → ?p=-Parameter aus.
  • Zweiter popstate-Handler: Pfad-Fallback für Clean URLs hinzugefügt.

🛠️ Bugfixes

  • F5-Fehler behoben: “Datei nicht gefunden” beim Drücken von F5 auf allen Tabs.
  • Tab-Klick funktionslos: Tabs reagierten nicht auf Klick.
  • Syntax-Fehler behoben: Doppelte } im ersten popstate-Handler.
v2.9.2 2026-03-24
Picture-Fallback & MedienkonvertierungCharakter-Profile mit Datenblöckeni18n Synchronisation (308 Keys × 3 Sprachen)Astro-Migrationsplan erstellt

🖼️ Picture-Fallback & Medienkonvertierung

  • <picture> Fallback-System: Alle 52 Bilder mit WebP <source> + JPG <img> Fallback.
  • 397 JPG-Fallbacks generiert. 6 MP4→WebM konvertiert. 7 PNG-Duplikate entfernt.
  • Format-Paare vollständig: 397 Opus/MP3, 24 WebM/MP4, 397 WebP/JPG.

👤 Charakter-Profile

  • Profile: Rebel Girl (32), Shadowman (31), Folk-Hexe (16), Punk-Muschi (4), Freundin (30), Rumpelstilzchen (650).

🌍 i18n Synchronisation

  • Neue Label-Keys, Duplikat-Fixes, 29 fehlende ES-Keys nachgepflegt.
  • Vollständige Abdeckung: DE: 308, EN: 308, ES: 308 Translation-Keys.
v2.9.1 2026-03-21
Local File System Routing Fixi18n Completion (284 Keys)Asset Validator Korrektur

🛠️ Bugfixes & Routing (SPA)

  • Local File System Routing: Hash-Routing-Fallback für lokalen Direktaufruf.
  • OnLoad SPA Reset: Entfernung eines veralteten Event-Listeners.
  • i18n Completion: Fehlende Überschriften für die Fehlerseite in DE und ES.
  • Asset Validator: Korrektur fehlerhafter Regex in check_assets.js.
v2.9.0 2026-03-17
DSGVO/GDPR UpdateTwitch Live Streaming IntegrationCloudflare Migration

🚀 Compliance & Hosting

  • DSGVO/GDPR Update: Vollständige Überarbeitung der Datenschutzerklärung (DE, EN, ES).
  • Cloudflare Migration: Hosting via Cloudflare Pages & GitHub.

📺 Media & Twitch Integration

  • Twitch Live Streaming: Nahtlose Einbettung im Player.
  • Auto-UI Adaptation: Automatisches Ausblenden von Steuerelementen während Live-Streams.
v2.8.0 2026-03-16
Clean URLs (History API)Hierarchische PlaylistsSecurity Audit & HardeningWCAG Compliance

🚀 Major Feature Update

  • Clean URLs (History API): Volle Umstellung auf modernes Routing.
  • Hierarchische Playlists: Tiefere Ordnerstruktur für Audio-Quellen.
  • Modern Language Selector: Dropdown-Menü im Header für DE, EN, ES.

🛡️ Security Audit & Hardening

  • HTTP Security Headers (HSTS), CSP, Permissions-Policy, XSS Mitigation.

♿ UX & Accessibility

  • Contrast Update (red-500), Focus Indicators, 404 Page Revamp.
v2.7.0 2026-03-16
Security Hardening (HSTS/CSP)WCAG Compliance (Contrast Update)Clean URL Setup via 404-Redirect

🔒 Security & Accessibility

  • Security Hardening (HSTS/CSP): Initiales Hardening für Sicherheits-Header.
  • WCAG Compliance: Contrast Update für bessere Lesbarkeit.
  • Clean URL Setup: Initiales Setup via 404-Redirect.
v2.6.0 2026-03-16
Full Multilingual Support (DE, EN, ES)Shuffle & Repeat FunktionenARIA Implementation

🌐 Global & Barrierefrei

  • Full Multilingual Support (DE, EN, ES): Komplette Lokalisierung via i18n.
  • ARIA Implementation: Vollständig übersetzte ARIA-Labels.

🎵 Player & Engine Update

  • Playback Modes: Shuffle- und Repeat-Funktionen.
  • Deduplizierung: Automatisierte Bereinigung redundanter Medienformate.
v2.5.0 2026-03-14
Initial RoutingPersona Integration

Erste Implementierung

  • Initial Routing: SPA-Hashes und Video-Deduplizierung.
  • Persona Integration: Shadowman, Freundin und Rumpelstilzchen Playlists.
v2.0.0 2025-12-23
Lazy LoadingWebP & WebM Support

Performance Push

  • Lazy Loading, WebP und WebM für maximale Geschwindigkeit.
v1.0.0 2025-12-19
Initial ReleaseBasis-SPA mit Player, Galerie und Social-Features

Initial Release

  • Basis-SPA mit Player, Galerie und Social-Features.