Releases: Strugglechen1337/ThorROMButler
Release list
Thor ROM Butler v1.2.0
🇩🇪 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.jsonim 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 bleibenUNKNOWNund
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.jsonin 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 remainUNKNOWNand 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
🇩🇪 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
🇩🇪 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
🇩🇪 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
🇩🇪 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
🇩🇪 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
🇩🇪 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
.datfiles 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
🇩🇪 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
🇩🇪 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
🇩🇪 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 inroms/psxliegt. 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
.gbasitting inroms/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.