Skip to content

Releases: Daddelgreis74/switch-game-catalog

v1.3.1

Choose a tag to compare

@Daddelgreis74 Daddelgreis74 released this 26 Aug 15:19

Released v1.3.1

  • 🛠️ Portable Python Path: Replaced the hardcoded user home directory path for Windows Python execution with dynamic os.homedir() lookup.
  • 🧹 Privacy Cleanup: Removed local username string references from the source code.

v1.3.0

Choose a tag to compare

@Daddelgreis74 Daddelgreis74 released this 26 Aug 15:15

Released v1.3.0

  • 🌐 Public TitleDB API Integration: Replaced unofficial web scraping of
    ot.ultranx.ru with clean JSON queries to the public �pi.nlib.cc (Nlib-API) backend.
  • 🛡️ Improved Privacy & Compliance: Removed all scraping codes and external connections to inofficial domains.

v1.2.2

Choose a tag to compare

@Daddelgreis74 Daddelgreis74 released this 26 Aug 14:57

Fixes in v1.2.2

  • 🌐 German Metadata Fallback: Automatically fall back to fetching English metadata when the German page redirects or has no game description.
  • 🧹 Clean Cache: Resolves blank descriptions when loading games with no German localization on the source page.

v1.2.1

Choose a tag to compare

@Daddelgreis74 Daddelgreis74 released this 26 Aug 09:09

Fix in v1.2.1

  • 🛠️ System Tools: Added \curl\ and \wget\ to runtime container image for TrueNAS SCALE healthcheck compliance.

v1.2.0

Choose a tag to compare

@Daddelgreis74 Daddelgreis74 released this 26 Aug 08:29

✨ Major Feature Release: Rich Game Descriptions & Screenshot Gallery

  • 📖 Automatische Spielbeschreibungen:
    • Ruft automatisch die ausführliche Story- und Feature-Beschreibung anhand der \Title ID\ ab und stellt sie strukturiert im Detail-Modal dar.
  • 🏷️ Genre- & Kategorie-Badges:
    • Zeigt Genres wie \RPG, \Simulation, \Adventure\ als stilvolle Badges im Nordic/Aurora-Design an.
  • 📅 Release-Datum:
    • Zeigt das offizielle Veröffentlichungsdatum des Titels an.
  • 🖼️ In-Game Screenshot-Galerie:
    • Horizontales Karussell mit hochauflösenden Spiel-Screenshots.
    • Integrierte Lightbox-Vollbildansicht beim Klick auf ein Vorschaubild.
  • Offline-Caching:
    • Alle abgerufenen Metadaten werden dauerhaft in der lokalen \games_db.json\ gespeichert und stehen auch offline sofort zur Verfügung.

v1.1.9

Choose a tag to compare

@Daddelgreis74 Daddelgreis74 released this 26 Aug 08:09

Refactor in v1.1.9

  • 🛡️ Rechtliche Bereinigung & Markenschutz:
    • Startbanner auf dem Server geändert in \NSW Game Catalog Server is running!.
    • Standard-Pfade und Platzhalter von markenrechtlichen Begriffen bereinigt.
    • Generischer Fallback bei fehlendem Publisher auf -\ statt fester Markennamen.

v1.1.8

Choose a tag to compare

@Daddelgreis74 Daddelgreis74 released this 26 Aug 08:05

Fixes in v1.1.8

  • 🐛 Parameter- & Import-Korrektur (\scanner_helper.py):
    • Fehlendes \ ile_path=None\ in der Funktionssignatur von \extract_and_parse_control\ behoben.
    • \import re\ hinzugefügt.
  • 🎨 Metadaten-Vererbung (\public/js/app.js):
    • Wenn ein Basisspiel kein extrahiertes Icon oder Publisher besitzt (z. B. wegen defektem RomFS-Header), übernimmt die Spielkarte automatisch das extrahierte Icon und den Publisher aus dem zugehörigen Update/DLC.

v1.1.7

Choose a tag to compare

@Daddelgreis74 Daddelgreis74 released this 26 Aug 07:51

Neuerungen & Verbesserungen in v1.1.7

  • 🎮 Intelligenter Titel-Fallback aus Dateinamen (\scanner_helper.py):
    • Wenn ein Spiel mit Schlüsseln einer neueren Firmware (z. B. Master Key 17+) verschlüsselt ist und \hactool\ die interne \control.nacp\ nicht entschlüsseln kann, wird der Spielname automatisch sauber aus dem Dateinamen extrahiert (z. B. \Kynseed\ statt \Unknown Game).
  • 🖼️ Stilvolles Joy-Con Cover-Fallback (\public/js/app.js):
    • Fehlende oder nicht entschlüsselbare Cover-Bilder werden nun mit einem ansprechenden Neon Joy-Con Icon gerendert, anstatt ein leeres Bild anzuzeigen.

v1.1.6

Choose a tag to compare

@Daddelgreis74 Daddelgreis74 released this 26 Aug 07:27

Vollständiges Code-Audit & Qualitätsupdate in v1.1.6

  • 🎯 Hauptspiel-Erkennung & Filter gefixt (\public/js/app.js): Typ-Matching zwischen \Base Game\ und \Base\ behoben. Badges werden nun korrekt angezeigt und der Filter nach Hauptspielen funktioniert zuverlässig.
  • 🔑 DB-Key-Kollisionen behoben (\scanner_helper.py): Spiele mit nicht ermittelbarer Title ID überschreiben sich nicht mehr gegenseitig.
  • 🛡️ Sicherheit & Path Traversal (\server.js): Robuste \isInsideDir-Validierung für Downloads, Uploads und Löschvorgänge implementiert.
  • 📂 Datenbank-Konsistenz (\server.js): Einheitlicher Fallback-Mechanismus für Datenbank-Lese- und Schreibvorgänge über alle Endpunkte hinweg.
  • ⏱️ Hactool-Timeout (\scanner_helper.py): 60-Sekunden-Timeout für \hactool\ hinzugefügt, um Blockaden bei defekten Dateien zu verhindern.
  • 📦 XCI-Unterstützung: .xci-Dateien werden nun auch im Dateisystem-Scanner erfasst.
  • 🧹 Bereinigung: \entrypoint.sh\ entfernt und stattdessen direkte Node.js-Initialisierung verwendet; ungenutzte npm-Dependencies bereinigt.

v1.1.5

Choose a tag to compare

@Daddelgreis74 Daddelgreis74 released this 26 Aug 07:19

Fixes in v1.1.5

  • 🔍 Resilienter Scanner (\scanner_helper.py):
    • Temporäre RomFS- und NCA-Dateien werden nun im System-Tempverzeichnis (/tmp) verarbeitet.
    • Verhindert \Scan process failed-Abstürze bei fehlenden oder schreibgeschützten Cache-Ordnern.
    • Automatisches Fallback beim Speichern der Datenbank (\games_db.json).
  • ⚙️ Hactool-Erkennung: Kopiert \hactool\ zusätzlich nach /usr/local/bin/hactool\ und stellt die Ausführungsberechtigungen (\chmod 755) sicher.
  • 🚀 Puffer-Erweiterung: Node.js \exec-Puffer auf 50 MB erweitert, um Überläufe bei vielen Spielen zu verhindern.