Skip to content

Releases: Strugglechen1337/ThorROMButler

Thor ROM Butler v1.2.0

Choose a tag to compare

@github-actions github-actions released this 10 Jul 13:08
618a1bc

🇩🇪 Deutsch

System-Packs und eigene Systeme

  • Eigene Systeme: Zusätzliche Systeme lassen sich direkt in den
    Einstellungen anlegen, bearbeiten und entfernen.
  • JSON-System-Packs: Eigene Definitionen können über
    ThorRomButler-system-pack.json im Download-Ordner importiert und exportiert
    werden. Das dokumentierte Schema v1 unterstützt Endungen, Confidence-Level,
    kontrollierte Magic-Regeln und optionale Spiel-Unterordner.
  • Sichere Vorschau: Vor der Installation zeigt die App Pack-Name,
    Systemanzahl und alle mehrdeutigen Endungen. Konflikte bleiben UNKNOWN und
    werden niemals automatisch zugeordnet.
  • Eingebaute Systeme und ihre Zielordner können von einem eigenen Pack nicht
    überschrieben werden. Packs werden ausschließlich lokal und niemals
    automatisch aus dem Internet geladen.

Sicherung und Qualität

  • Einstellungs-Backups werden zuerst vollständig geprüft und anschließend in
    einer atomaren DataStore-Transaktion übernommen. Ungültige oder unsichere
    Zielordner werden abgelehnt, ohne Einstellungen teilweise zu verändern.
  • Die Editor- und Importregeln verwenden dieselbe zentrale Validierung.
  • 101 Unit-Tests, Android Lint und der Build der Compose-Test-APK laufen vor dem
    Release. GitHub-Beschreibung, Issue-Vorlagen und Dokumentation sind Deutsch
    und Englisch gepflegt.

Installation

ThorROMButler-v1.2.0.apk über die bestehende Installation installieren —
Einstellungen, eigene Systeme und Log bleiben erhalten.

🇬🇧 English

System packs and custom systems

  • Custom systems: Additional systems can be created, edited, and removed
    directly in Settings.
  • JSON system packs: Custom definitions can be imported and exported as
    ThorRomButler-system-pack.json in the download folder. The documented v1
    schema supports extensions, confidence levels, controlled magic rules, and
    optional per-game folders.
  • Safe preview: Before installation, the app shows the pack name, system
    count, and every ambiguous extension. Conflicts remain UNKNOWN and are
    never assigned automatically.
  • Custom packs cannot overwrite built-in systems or their target folders.
    Packs are local only and are never downloaded automatically.

Backup and quality

  • Settings backups are validated completely before being applied in one atomic
    DataStore transaction. Invalid or unsafe target folders are rejected without
    partially changing settings.
  • The editor and importer use the same central validation rules.
  • 101 unit tests, Android Lint, and the Compose test APK build run before the
    release. The GitHub description, issue forms, and documentation are
    maintained in German and English.

Installation

Install ThorROMButler-v1.2.0.apk over the existing installation — settings,
custom systems, and the action log are preserved.

v1.1.1

Choose a tag to compare

@github-actions github-actions released this 10 Jul 09:51

🇩🇪 Deutsch

Sicheres Einsortieren

  • Atomisches Ersetzen: Neue ROM-Dateien werden zunächst vollständig in eine
    versteckte Teildatei geschrieben und geprüft. Eine vorhandene ROM bleibt bis
    zum erfolgreichen Abschluss gesichert und wird bei einem Fehler automatisch
    wiederhergestellt.
  • Abgebrochene Vorgänge hinterlassen keine sichtbaren halbfertigen ROMs. Nach
    einem unerwarteten Prozessende kann die App zurückgebliebene Sicherungen beim
    nächsten Einsortieren wiederherstellen.
  • Quellarchive bleiben bei neuen beziehungsweise bisher unveränderten
    Einstellungen jetzt standardmäßig erhalten. Löschen und der siebentägige
    Papierkorb bleiben optional verfügbar.
  • Rückgängig erkennt ein Quellarchiv nun auch im Papierkorb.

Sicherer Dateiempfang

  • Der LAN-Empfang verwendet pro Start eine zufällige, einmalige Sitzungsadresse
    und beendet sich automatisch nach 30 Minuten.
  • LAN-Uploads und über Android geteilte Dateien werden unter bereinigten
    Dateinamen zunächst vollständig geschrieben und erst danach für den Scanner
    sichtbar. Der LAN-Empfang prüft außerdem den freien Speicherplatz.
  • Android-15-Timeouts der Hintergrunddienste werden sauber behandelt.

Qualität

  • Die zuvor vorhandenen Android-Lint-Fehler wurden behoben. Unit-Tests und Lint
    laufen jetzt sowohl in der normalen CI als auch vor jedem Release.

Installation

ThorROMButler-v1.1.1.apk über die bestehende Installation installieren —
Einstellungen und Log bleiben erhalten.

🇬🇧 English

Safer sorting

  • Atomic replacement: New ROM files are first written completely to a
    hidden partial file and verified. An existing ROM stays backed up until the
    operation succeeds and is restored automatically after a failure.
  • Cancelled operations never expose half-written ROMs. If the process ends
    unexpectedly, a leftover backup can be recovered during the next sorting run.
  • Source archives are now kept by default for new or previously unchanged
    settings. Immediate deletion and the seven-day trash remain optional.
  • Undo now also recognizes a source archive inside the trash folder.

Safer file receiving

  • LAN receive uses a random one-time session address on every start and stops
    automatically after 30 minutes.
  • LAN uploads and files shared through Android use sanitized names, are written
    completely before becoming visible to the scanner, and never silently
    overwrite an existing file. LAN receive also checks available storage.
  • Android 15 foreground-service timeouts are handled gracefully.

Quality

  • The existing Android Lint errors have been fixed. Unit tests and Lint now run
    in both regular CI and every release build.

Installation

Install ThorROMButler-v1.1.1.apk over the existing installation — settings and
the action log are preserved.

v1.1.0 — Quick Settings tile / Schnelleinstellungs-Kachel

Choose a tag to compare

@Strugglechen1337 Strugglechen1337 released this 04 Jul 21:20

🇩🇪 Deutsch

Neu

  • ⚡ Schnelleinstellungs-Kachel für den LAN-Empfang: Statusleiste ausklappen → Stift-Symbol → „LAN-Empfang" hinzufügen. Ein Tipp startet/stoppt den Empfang, ohne die App zu öffnen — bei aktivem Empfang zeigt die Kachel direkt die Upload-Adresse für den PC-Browser.

Sonstiges

  • Abhängigkeiten aktualisiert (XZ 1.12), schnellere Builds durch Gradle-Configuration-Cache.
  • Neues Social-Preview-Bild fürs Repo.

Installation

ThorROMButler-v1.1.0.apk über die bestehende Installation installieren — Einstellungen bleiben erhalten.

🇬🇧 English

New

  • ⚡ Quick Settings tile for LAN receive: expand the notification shade → pencil icon → add "LAN receive". One tap starts/stops receiving without opening the app — while active, the tile shows the upload URL for your PC browser.

Other

  • Dependency maintenance (XZ 1.12), faster builds via Gradle configuration cache.
  • New social preview image for the repo.

Install

Install ThorROMButler-v1.1.0.apk over the existing app — settings are kept.

Full Changelog: v1.0.1...v1.1.0

Thor ROM Butler v1.0.1

Choose a tag to compare

@Strugglechen1337 Strugglechen1337 released this 04 Jul 16:20

🇩🇪 Deutsch

Verbessert

  • ⚡ Deutlich schnellere Analyse großer 7z-Archive: Header werden jetzt in einem einzigen Durchlauf gelesen — vorher wurde ein solides 7z für jede mehrdeutige Datei erneut von vorne dekomprimiert. Bei Multi-GB-Archiven macht das aus Minuten Sekunden.
  • ⏱️ Kein Hängen mehr durch defekte Archive: Jede Analyse hat jetzt ein 90-Sekunden-Zeitlimit — ein beschädigter Download wird ehrlich als „Zeitlimit überschritten" markiert, und die restlichen Archive laufen sofort weiter. Zusätzlich werden zwei Archive parallel analysiert.

Danke an das Feedback vom Gerätetest, das diese Engstelle aufgedeckt hat!

Installation

ThorROMButler-v1.0.1.apk über die bestehende Installation installieren — Einstellungen bleiben erhalten.

🇬🇧 English

Improved

  • ⚡ Much faster analysis of large 7z archives: headers are now read in a single pass — previously a solid 7z was re-decompressed from the start for every ambiguous file. For multi-GB archives this turns minutes into seconds.
  • ⏱️ No more hangs from broken archives: every analysis now has a 90-second timeout — a corrupted download is honestly marked as "timed out" and the remaining archives continue immediately. Two archives are also analyzed in parallel now.

Thanks to the device-testing feedback that uncovered this bottleneck!

Install

Install ThorROMButler-v1.0.1.apk over the existing app — settings are kept.

Thor ROM Butler v1.0.0

Choose a tag to compare

@Strugglechen1337 Strugglechen1337 released this 04 Jul 11:54

🇩🇪 Deutsch — Version 1.0 🎉

Der Butler ist erwachsen: Alle Funktionen der ursprünglichen Roadmap sind umgesetzt.

Neu

  • 🎮 Gamepad-Bedienung: D-Pad/Stick navigiert durch alle Screens, A bestätigt, B geht zurück — komplett zusätzlich zu Touch, der überall unverändert funktioniert. Im Emulator mit echten D-Pad-Events verifiziert.
  • 🎨 Farbwelten: Neben dem klassischen Thor-Blau/Gold gibt es jetzt Odin (violett/silber) und CRT (phosphorgrün/amber) — umschaltbar in den Einstellungen, die Glow-Effekte wandern mit.
  • ♿ Accessibility: Audit abgeschlossen — alle interaktiven Elemente sind für TalkBack beschriftet.

Installation

ThorROMButler-v1.0.0.apk über die bestehende Installation installieren — Einstellungen bleiben erhalten.

🇬🇧 English — Version 1.0 🎉

The butler is all grown up: everything from the original roadmap is done.

New

  • 🎮 Gamepad controls: D-pad/stick navigates all screens, A confirms, B goes back — fully additive to touch, which keeps working everywhere. Verified in the emulator with real D-pad events.
  • 🎨 Color themes: alongside the classic Thor blue/gold there are now Odin (violet/silver) and CRT (phosphor green/amber) — switchable in Settings, glow effects follow along.
  • ♿ Accessibility: audit completed — all interactive elements are labeled for TalkBack.

Install

Install ThorROMButler-v1.0.0.apk over the existing app — settings are kept.

Thor ROM Butler v0.10.0

Choose a tag to compare

@Strugglechen1337 Strugglechen1337 released this 04 Jul 11:17

🇩🇪 Deutsch — Kabellos befüllen

Neu

  • 📡 LAN-Empfang: Der Butler kann jetzt selbst empfangen! In den Einstellungen „Empfang starten", die angezeigte Adresse am PC im Browser öffnen (gleiches WLAN) und ROMs einfach in die Seite ziehen — sie landen im Download-Ordner und werden wie gewohnt einsortiert. Kein Kabel, kein MTP-Gefrickel. Läuft als Vordergrund-Dienst mit Stopp-Knopf in der Benachrichtigung; vorhandene Dateien werden nie überschrieben.

Installation

ThorROMButler-v0.10.0.apk über die bestehende Installation installieren — Einstellungen bleiben erhalten.

🇬🇧 English — Fill it up wirelessly

New

  • 📡 LAN receive: the butler can now receive! Tap "Start receiving" in Settings, open the shown address in a browser on your PC (same Wi-Fi) and simply drop ROMs onto the page — they land in the download folder and get sorted as usual. No cable, no MTP fiddling. Runs as a foreground service with a stop action in the notification; existing files are never overwritten.

Install

Install ThorROMButler-v0.10.0.apk over the existing app — settings are kept.

Thor ROM Butler v0.9.0

Choose a tag to compare

@Strugglechen1337 Strugglechen1337 released this 04 Jul 10:46

🇩🇪 Deutsch — Das Sammler-Release

Neu

  • 🏅 DAT-Verifizierung: Lege deine No-Intro/Redump-.dat-Dateien in einen Ordner und wähle ihn in den Einstellungen — der Butler prüft jedes einsortierte ROM per CRC32 dagegen und vermerkt im Log „✓ verifizierter Dump" oder „⚠ nicht im DAT". Komplett optional und offline.
  • 🔁 Duplikat-Übersicht (1G1R): Die Bibliotheks-Prüfung erkennt jetzt, wenn dasselbe Spiel mehrfach vorhanden ist (verschiedene Regionen/Revisionen nach No-Intro-Namensschema) — mit Details im Sammlungs-Export.

Installation

ThorROMButler-v0.9.0.apk über die bestehende Installation installieren — Einstellungen bleiben erhalten.

🇬🇧 English — The Collector Release

New

  • 🏅 DAT verification: put your No-Intro/Redump .dat files into a folder and select it in Settings — the butler checks every sorted ROM against them via CRC32 and records "✓ verified dump" or "⚠ not in DAT" in the log. Fully optional and offline.
  • 🔁 Duplicate overview (1G1R): the library check now detects when the same game exists multiple times (different regions/revisions per No-Intro naming) — details in the collection export.

Install

Install ThorROMButler-v0.9.0.apk over the existing app — settings are kept.

Thor ROM Butler v0.8.1

Choose a tag to compare

@Strugglechen1337 Strugglechen1337 released this 04 Jul 07:55

🇩🇪 Deutsch

Neu

  • „Teilen → Thor ROM Butler": Dateien aus Browser, Dateimanager oder anderen Apps direkt an den Butler schicken
  • Sammlungs-Export: Bibliothek als Markdown-Liste in den Download-Ordner exportieren
  • „Was ist neu"-Dialog: zeigt nach einem Update einmalig die Highlights

Verbessert

  • Speicherplatz-Warnung: Reicht der Platz nicht, wird die Vorschau rot und das Einsortieren blockiert — bevor etwas schiefgeht
  • Berechtigungs-Wächter: Wurde der Dateizugriff nachträglich entzogen, sagt der Scan das jetzt klar (statt fälschlich „Alles aufgeräumt.")

Installation

ThorROMButler-v0.8.1.apk über die bestehende Installation installieren — Einstellungen bleiben erhalten.

🇬🇧 English

New

  • "Share → Thor ROM Butler": send files from your browser, file manager or other apps straight to the butler
  • Collection export: export your library as a Markdown list into the download folder
  • What's-new dialog: shows the highlights once after an update

Improved

  • Storage warning: if space won't suffice, the preflight turns red and sorting is blocked — before anything goes wrong
  • Permission guard: if file access was revoked, the scan now says so clearly (instead of a misleading "All tidied up.")

Install

Install ThorROMButler-v0.8.1.apk over the existing app — settings are kept.

Thor ROM Butler v0.8.0

Choose a tag to compare

@Strugglechen1337 Strugglechen1337 released this 03 Jul 20:41

🇩🇪 Deutsch

Neu

  • 📐 Landscape-Layout: Scan und Zuordnung nutzen jetzt ein adaptives Raster — auf breiten Displays (AYN Thor!) zwei Karten nebeneinander statt einer schmalen Liste
  • 📂 Mehrere Quellordner: Neben dem Download-Ordner lassen sich beliebige weitere Ordner überwachen (Telegram, USB-Import, …)
  • 🗑️ Papierkorb-Option: Verarbeitete Archive wandern auf Wunsch in einen versteckten Papierkorb (automatische Leerung nach 7 Tagen) statt sofort gelöscht zu werden
  • 💾 Einstellungen sichern: Export/Import aller Einstellungen als JSON — ideal beim Gerätewechsel oder für Thor + Telefon
  • 🌍 Per-App-Sprache: Die App-Sprache lässt sich jetzt in den Android-Systemeinstellungen unabhängig von der Systemsprache wählen

Repo

  • MIT-LICENSE-Datei ergänzt (war bisher nur in der README erwähnt) und GitHub-Topics gesetzt

Installation

ThorROMButler-v0.8.0.apk herunterladen und über die bestehende Installation installieren — Einstellungen bleiben erhalten.

🇬🇧 English

New

  • 📐 Landscape layout: scan and review now use an adaptive grid — two cards side by side on wide screens (AYN Thor!) instead of one narrow list
  • 📂 Multiple source folders: watch any number of folders in addition to the download folder (Telegram, USB import, …)
  • 🗑️ Trash option: processed archives can move to a hidden trash folder (auto-purged after 7 days) instead of being deleted immediately
  • 💾 Settings backup: export/import all settings as JSON — handy when switching devices or running Thor + phone
  • 🌍 Per-app language: the app language can now be set in Android's system settings independently of the system language

Repo

  • Added the missing MIT LICENSE file (previously only mentioned in the README) and GitHub topics

Install

Download ThorROMButler-v0.8.0.apk and install over the existing app — settings are kept.

Thor ROM Butler v0.7.0

Choose a tag to compare

@Strugglechen1337 Strugglechen1337 released this 03 Jul 20:03

🇩🇪 Deutsch

Neu

  • 👁️ Wächter-Modus (optional, Einstellungen): Der Butler prüft jetzt selbst ca. alle 30 Minuten den Download-Ordner und benachrichtigt dich bei neuen Funden — antippen, prüfen, einsortieren. Es wird weiterhin nie ohne deine Bestätigung verschoben.
  • 🧹 Bibliotheks-Prüfung (Einstellungen): Statistik deiner Sammlung (ROMs + Größe pro System) und Erkennung falsch einsortierter ROMs — z. B. eine .gba, die in roms/psx liegt. Fehlstände lassen sich direkt über die normale Zuordnung korrigieren.

Verbessert

  • Leerer Scan sagt jetzt standesgemäß „Alles aufgeräumt."
  • README: neuer SD-Karten-Abschnitt (Downloads intern, ROMs auf SD — funktioniert)

Installation

ThorROMButler-v0.7.0.apk herunterladen und über die bestehende Installation installieren — Einstellungen bleiben erhalten.

🇬🇧 English

New

  • 👁️ Watcher mode (optional, Settings): the butler now checks the download folder himself roughly every 30 minutes and notifies you about new finds — tap, review, sort. Nothing is ever moved without your confirmation.
  • 🧹 Library check (Settings): statistics for your collection (ROMs + size per system) and detection of misplaced ROMs — e.g. a .gba sitting in roms/psx. Findings can be fixed right through the normal review flow.

Improved

  • An empty scan now properly says "All tidied up."
  • README: new SD card section (downloads on internal, ROMs on SD — works fine)

Install

Download ThorROMButler-v0.7.0.apk and install over the existing app — settings are kept.