Releases: DanielMuellerIR/tag_explosion
Release list
Tag Explosion 0.47.2
Tag Explosion 0.47.2 preserves ebook metadata when Calibre reports localized cover status and fixes installer lock cleanup after interrupted installation.
The Quick Look extension now also builds with SwiftPM’s native build system.
This release also includes Finder opening services, an EPUB metadata Quick Look extension, faster EPUB and Calibre operations, and corrections to lyrics, document metadata and multi-disc lookup handling from the intervening releases. macOS may retain its system preview for formats such as MP3.
The DMG contains a signed and notarized macOS application.
Tag Explosion 0.46.95
Tag Explosion 0.46.95 fixes metadata loss and concurrent editing issues.
- Edits made while shifting subtitles, removing tag layers, or restoring a previous version remain available as unsaved changes.
- Separate new-window requests retain their own file lists.
- XML metadata editing preserves unrelated fields from other namespaces. EPUB and Office packages with alternate namespace prefixes remain valid when adding metadata.
- Lyrics edits preserve LRC metadata, including timing offsets, and the languages of individual ID3 lyrics frames.
- Invoice fields from unknown XML namespaces no longer receive incorrect business-term mappings. XML namespace resolution also works safely on Linux.
- Invalid document timestamps are rejected before writing. Complete single-disc lookup results correct stale disc numbers when overwriting tags.
- Automatic backups handle the Linux error reported by filesystems without hardlink support. Installer lock recovery no longer removes another process's newly acquired helper lock.
For data safety, property edits are rejected when ID3 lyrics frames share a description but use different languages. An abandoned installer takeover helper lock requires manual cleanup after checking for active installations.
Requires macOS 14 or later on Apple silicon. The app and DMG are signed and notarized.
Tag Explosion 0.46.91
Tag Explosion 0.46.91 improves automatic tag backups and export shutdown.
- Automatic backups work on filesystems without hardlinks. The archive is exclusively created, completely written and synchronized before media changes start.
- Occupied backup names are skipped without overwriting existing files or media aliases.
- Backups no longer create empty placeholder files or unnecessary trash journal entries.
- Closing the app while exports are running prevents additional exports from starting after the final shutdown check.
- English and German screenshots use neutral sample metadata.
On filesystems without hardlinks, interruption during backup writing can leave a partial archive; media changes have not started at that point. The macOS app and DMG are signed and notarized.
Tag Explosion 0.46.88
Diese Version fasst 15 Zwischenstände zusammen. Der Schwerpunkt liegt auf
Dateisicherheit: mehrere Wege konnten eine vorhandene Datei ersetzen, ohne den
alten Stand vorher in den Papierkorb zu legen, und einige Schreibvorgänge
liefen weiter, während die App bereits beendet wurde.
Nichts geht mehr ohne Sicherung verloren
tagx playlist export --forcelegt eine vorhandene Playlist jetzt wirklich in
den Papierkorb, bevor sie ersetzt wird. Der Befehl war der einzige ändernde,
dem der abgesicherte Modus fehlte — die Sicherung in seinem Schreibweg blieb
dadurch wirkungslos, und--no-backupfehlte in seiner Hilfe.- Der JSON-Export von Tags und der Export der Regeldatei ersetzen ein
vorhandenes Ziel nicht mehr mit einem direkten Schreibzugriff, sondern über
denselben geprüften Weg wie die übrigen Exporte. tagx applybricht auch bei E-Books, Dokumenten und NFO-Sidecars ab, wenn
sich die Datei zwischen Regelplanung und Schreiben geändert hat. Bisher las
der Schreibweg dieser drei Medienarten die fremde Datei neu ein und schrieb
die aus dem alten Stand geplanten Werte hinein.- Eine Serie für ein PDF wird überall abgelehnt statt still verworfen. In der
App kamen „Tags aus Dateiname" und Batch-Regeln an dem ausgeblendeten Feld
vorbei; die Datei wurde ersetzt und das Speichern meldete Erfolg, obwohl der
Wert nirgends landete.
Beenden und Fenster schließen warten auf laufende Schreibvorgänge
- Cover-, Kapitel-, LRC-, Playlist- und JSON-Archivexport melden sich jetzt
einheitlich als laufende Arbeit an. ⌘Q antwortete vorher sofort und beendete
die App zwischen Papierkorb-Sicherung und atomarem Austausch. - Der Zeitversatz für Untertitel respektiert die Sperre für destruktive
Aktionen. Vorher konnte ⌘W mitten im Umschreiben der Datei durchgehen. - ⌘Q antwortet auch dann, wenn ein Fenster verschwunden ist, ohne sich
abzumelden. Vorher ließ sich die App in diesem Fall nur noch über „Sofort
beenden" schließen.
Backups lassen sich vollständig zurückspielen
- Werte, die ältere Werkzeuge hinterlassen haben — etwa ein ReplayGain-Wert
außerhalb von −60…+60 dB —, sichert der Export längst; der Import lehnte
genau sie ab, sobald sich die Zieldatei seit dem Export geändert hatte. Für
Bilder galt die Ausnahme schon, für Audio jetzt auch. - Vorschau und echter Lauf stimmen dabei überein:
--dry-runmeldete vorher
„WOULD CHANGE" und der echte Lauf danach einen Fehler. tagx cue applynennt beim Abbruch die Dateien, die schon geschrieben sind.- Die Versionshistorie beschriftet Sicherungen aus einem Archiv-Import mit
„Import" und austagx chapters setmit „Kapitel" statt beide mit
„Speichern".
Tempo und Oberfläche
- Das Öffnen mehrerer Dateien liest wieder wirklich acht Dateien gleichzeitig.
Die Leser warten auf TagLib, exiftool und mediainfo und belegten dabei
Threads, deren Zahl an der Kernzahl hängt; auf Maschinen mit weniger als acht
Kernen lief der Fächer entsprechend schmaler. - Wechselt die Auswahl von einem PDF mit E-Rechnung auf eine andere Datei,
erscheint dort kein E-Rechnungs-Tab mehr mit den Daten des vorigen Dokuments. - Bei zwei fremd geänderten Dateien im selben Speicherlauf erscheint die zweite
Rückfrage erst, wenn die erste Entscheidung ausgeführt ist. Vorher stand sie
sofort da, nahm aber keinen Klick an. - Die Versionshistorie bleibt nicht mehr bei „Analysiere …" stehen, wenn die
Auswahl während des Feldvergleichs aufgehoben wird.
Alle Einzelheiten je Version stehen im
CHANGELOG.
Installation: DMG öffnen, Tag Explosion in den Programme-Ordner ziehen. App
und DMG sind signiert und von Apple notarisiert. Eine bereits installierte
Fassung findet diese Version über „Nach Updates suchen …“ selbst.
Tag Explosion 0.46.73
Tag Explosion 0.46.73 verbessert Dateisicherheit, Konflikterkennung und Verarbeitung großer Bestände. Enthalten sind alle Änderungen seit 0.46.2.
- Schreibwege prüfen den gemeinsamen Lesestand von Medien und Sidecars. Bestätigtes Überschreiben löst auch XMP-Konflikte; CLI-Regeln erkennen fremde XMP-Änderungen zwischen Planung und Schreiben.
- Cover-, Kapitel- und Liedtextexporte verwenden einen gemeinsamen gesicherten, atomaren Schreibweg. Archivimporte prüfen ZIP-Prüfsummen und bewahren Originaldateien bei Fehlern.
- Die Online-Suche verwirft veraltete Antworten. Nachträglich gewünschte Cover werden geladen; während einer offenen Detailanfrage bleibt die Übernahme gesperrt.
- Parser behandeln ungültige Datumswerte, extreme Zahlen und beschädigte Metadaten ohne die zuvor möglichen Abstürze oder stillen Umdeutungen.
- Bibliotheksberichte, Playlist-/CUE-Verarbeitung, Regeln und Titelzuordnung arbeiten schneller. Große Dokumentarchive benötigen beim Neuaufbau deutlich weniger Arbeitsspeicher.
- Gemeinsame Testhilfen ersetzen doppelte Prozess- und Fixture-Logik. Zusätzliche Regressionen prüfen Speicherkonflikte und asynchrone Editorzustände.
Blockierende MediaInfo-Leser laufen außerhalb des Swift-Executors, damit Abbruch und weitere Abonnenten auch bei knappen Thread-Ressourcen weiterarbeiten können.
Geprüft mit 509 Core-/CLI-Tests und 130 App-Tests unter macOS. Die vollständigen Core-/CLI- und App-Testläufe bestehen auch auf dem macOS-CI-Runner; der Linux-CI-Lauf ist ebenfalls grün. Messwerte und Prüfgrenzen stehen im QA-Bericht.
Das signierte und notarisierte DMG enthält die App für Apple Silicon ab macOS 14. Die gebündelte TagLib 2.1.1 unterstützt keine MP4-/Matroska-Kapitel; ID3-Kapitel bleiben verfügbar.
Zusätzlich auf einem zweiten Mac geprüft: App gestartet, Titel einer Testdatei bearbeitet und gespeichert, Ergebnis mit exiftool bestätigt; App anschließend beendet, kein neuer Crashbericht.
Tag Explosion 0.46.2
Tag Explosion 0.46.2 verbessert das Öffnen großer Dateimengen, Stapelspeichern und mehrwertige Audio-Tags. Enthalten sind alle Änderungen seit 0.39.0.
- Dateien erscheinen bereits während des Ladens; Fortschritt und Abbruch stehen unter der Dateiliste.
- Speicheraufträge zeigen Ergebnis und Fehlerursache je Datei. Fehlgeschlagene Dateien lassen sich gezielt wiederholen. Laufende Aufträge schützen ihre Ziele vor konkurrierenden Aktionen.
- Suche, Filter nach Medienart, Änderungen und Fehlern sowie stabile Sortierung erleichtern die Auswahl. Die Konsistenzprüfung läuft im Hintergrund.
- Audio-Regeln erhalten vollständige Wertelisten beim Bereinigen, Ersetzen und Kopieren. App und CLI zeigen die Listen in der Vorschau.
- MediaInfo liest nur benötigte Ausgaben, teilt identische Anfragen und speichert bis zu acht Berichte zwischen. Abbruch beendet auch untergeordnete Werkzeugprozesse.
- Lyrics- und NFO-Sidecars erhalten Konfliktschutz, zählen zu ungespeicherten Änderungen und ziehen beim Umbenennen mit. Weitere Korrekturen betreffen Kapitel, Playlists, Untertitel und Datumsprüfungen.
Der MediaInfo-Abbruchtest toleriert in 0.46.2 längere Scheduling-Pausen unter CI-Last.
Geprüft mit 463 Core-/CLI-Tests und dem App-Testlauf (111 Tests, optionaler Lasttest separat). Details und Messgrenzen stehen in docs/analysis-validation.md.
Das signierte und notarisierte DMG enthält die App für Apple Silicon ab macOS 14. Die gebündelte TagLib 2.1.1 unterstützt keine MP4-/Matroska-Kapitel; ID3-Kapitel bleiben verfügbar. Ein neuer GUI-Test auf einem zweiten Mac wurde für dieses Release nicht durchgeführt.
Tag Explosion 0.39.0
Tag Explosion 0.39.0 fasst die Arbeitspakete AP1 bis AP16 der Roadmap zusammen (0.24.0 bis 0.39.0). Vollständige Liste je Version: CHANGELOG.md.
Neue Formate
- Weitere Audio-/Container-Endungen über TagLib: Tracker-Module (mod, s3m, xm, it), au, aifc, mp2, 3gp/3g2, mka, ogv.
- Kamera-RAW (cr2, cr3, nef, arw, raf, orf, rw2, pef) lesen; Schreiben ausschließlich in die XMP-Sidecar-Datei. Dazu avif, jxl, bmp, psd, svg.
- Office (docx, xlsx, pptx), OpenDocument (odt, ods, odp), Comics (cbz mit ComicInfo.xml) und Markdown-Frontmatter als eigene Medienart „Dokument“.
- Playlists (m3u, m3u8, pls, xspf) und Cue-Sheets anzeigen, bearbeiten und aus einer Auswahl exportieren.
- Video-Sidecars: Kodi/Jellyfin
.nfobearbeiten,.srt/.vttanzeigen, Zeitverschiebung. - E-Rechnungen: Order-X und Peppol-Bestellung/Gutschrift, Grundvalidierung nach EN 16931 mit Warnhinweisen.
Audio-Tiefe
- Kapitel für Hörbücher und Podcasts (ID3 CHAP/CTOC; MP4- und Matroska-Kapitel mit TagLib 2.3, siehe Hinweis unten),
tagx chapters. - ID3v1, ID3v2 und APE getrennt anzeigen und einzeln entfernen; Schreiboption ID3v2.3 für alte Player.
- Lyrics (auch synchronisiert, LRC-Sidecar), ReplayGain und R128-Lautheit mit Wertebereichsprüfung, Podcast-Felder.
Werkzeuge
- Umbenennen aus Tags und Tags aus Dateinamen mit Mustern, Vorschau und Kollisionserkennung (
tagx rename,tagx parse). - Konsistenzprüfung über Ordner: fehlende Cover, abweichende Album-Interpreten, Lücken und Dubletten in der Nummerierung (
tagx check). - Cover-Werkzeuge: Größe und Format prüfen, verkleinern, nach JPEG wandeln,
folder.jpgübernehmen oder exportieren. - Batch-Regeln als JSON-Skript mit Regel-Editor (
tagx apply). - Undo-Historie: Papierkorb-Sicherungen als Versionsliste je Datei, einzeln zurückholbar (
tagx history). - Online-Lookup über MusicBrainz, Discogs und AcoustID nur auf ausdrückliche Aktion, mit Datenschutzhinweis; ohne Freigabe kein Netzzugriff.
Plattform
- Core und CLI bauen und testen jetzt auch unter Linux (CI-Job auf Ubuntu 24.04). Der abgesicherte Modus nutzt dort den freedesktop-Papierkorb.
- Behoben: Release-Build gegen die mitgelieferte TagLib 2.1.1 scheiterte im Shim.
Hinweis
Das DMG bringt TagLib 2.1.1 mit (Mindestversion macOS 14). MP4- und Matroska-Kapitel brauchen TagLib 2.3 und stehen in dieser Fassung nicht zur Verfügung; ID3-Kapitel in MP3 funktionieren.
Tag Explosion 0.23.15
[0.23.15] — 2026-08-30
Geprüft
- Die CodeQA-Folgekampagne hat die acht durch den Review-Fix veränderten
Bereiche erneut geprüft: atomare Dateisicherheit, Archivimport,
TagLib-Roundtripgrenze, Installer-Distribution, E-Book-Schreiben,
Bildmetadaten sowie CLI- und Prozessausgabe. Alle 14 Bereiche und vier
Querschnittsthemen stehen damit wieder auf aktuellem Stand. - Das Schichtenmodell mit gemeinsamem portablem Core, CLI-Adaptern,
SwiftUI-Beobachtungsmodell und Fensterkoordinator bleibt passend, aber
gespannt. Die große AppModel-Zustandsschicht bleibt die begründete spätere
Teilungsgrenze; ein Paradigmenwechsel lohnt den Migrations- und Testaufwand
nicht. - Der Abschlusslauf bestand mit 176 Root-Tests in 14 Suites, 65 App-Tests in
8 Suites und der vollständigen Installer-Rollback-Suite. Ein sichtbarer
GUI-Lauf war für die nichtvisuellen Änderungen nicht erforderlich.
[0.23.14] — 2026-08-30
Behoben
- Der Archiv-Dry-run schreibt Bildwerte nun auf eine Geschwisterkopie und liest
sie exakt zurück. Normalisiert exiftool einen Wert, lehnen Dry-run und Import
ihn vor der Papierkorb-Sicherung ab; der Import setzt andernfalls genau die
geprüfte Kopie atomar ein. - Klartext und Fehlermeldungen behalten wörtliche Surrogate-Schreibweisen auch
dann, wenn sie mit[oder{beginnen. JSON- und Klartext-Aufrufer wählen
ihren Dekodierweg jetzt ausdrücklich. - Der Installer-Regressionstest trägt Hintergrundprozesse nach jedem
wait
unabhängig vom Exit-Code aus und vergleicht vor dem Aufräumen zusätzlich
Eltern-PID und Startzeit. Eine wiederverwendete Prozessnummer kann dadurch
keinen fremden Prozess treffen. - Der echte Bild-CLI-Test hängt nur noch von der getrackten Bild-Fixture und
exiftool ab; fehlendes ffmpeg überspringt ihn nicht mehr.
Geprüft
- 66 gezielte Archiv-, Bild-, Dekodier- und CLI-Tests sowie die vollständige
Installer-Rollback-Suite bestanden.
[0.23.13] — 2026-08-29
Geprüft
- Die CodeQA-Kampagne ist mit allen 14 Bereichen auf aktuellem Stand und
allen vier Querschnittsthemen abgeschlossen. In diesem Lauf wurden sechs
Bereiche verbessert und fünf erneut ohne weiteren Befund geprüft; die drei
unveränderten Bereiche blieben durch ihren aktuellen Abdeckungsstand belegt. - Der Abschlusslauf bestand mit 175 Root-Tests in 14 Suites, 65 App-Tests in
8 Suites, einem vollständigen Release-Build und allen sechs CI-Shelltests
für Tempordner, Bundle, Installer, Mindestversion, TagLib und Icons. Die
sichtbaren GUI-Selbsttests wurden nicht gestartet. - Die Schichten aus portablem Core, CLI-Adaptern, SwiftUI-App und
Fensterkoordinator bleiben passend.AppModel.swiftist mit 1.357 Zeilen
weiterhin die belegte spätere Teilungsgrenze für Laden, Speichern,
Konflikte, Archivimport und Fensterlebenszyklus.
[0.23.12] — 2026-08-29
Behoben
- Der ältere CLI-Mutationsschutztest behandelt Bewertung −1 nicht mehr als
ungültig. −1 ist der unterstützte XMP-Wert „abgelehnt“; der Test prüft jetzt
nur noch wirklich ungültige Eingaben gegen den aktuellen Wertebereich und
passt damit wieder zum separaten −1-Read-back-Test.
Geprüft
- Die gezielten Export-/Exif-Tests bestanden mit 4 Tests in 2 Suites. Die
vollständige Root-Suite bestand mit 175 Tests in 14 Suites.
[0.23.11] — 2026-08-29
Behoben
- Die GUI-Selbsttests finden Speichern und Neues Fenster jetzt in der
deutschen wie in der englischen Menüleiste. Der Fenstertest belegt außerdem
den vorgesehenen Shortcut ⌘N; bisher prüfte er nur den deutschen Titel
und konnte einen fehlenden oder falschen Shortcut nicht erkennen.
Geprüft
- CodeQA: Prozessbesitz, Start-/Abbruchfristen, Screenshot-Nachweis,
Accessibility-Grenzen, Icon-Generatoren und die unveränderten Asset- und
Fixture-Werkzeuge wurden erneut geprüft. Alle zusammengesetzten
Swift-GUI-Programme, Shellskripte und Generatoren bestanden die Syntax-
beziehungsweise Typprüfung; der parallele Icon-Regressionstest bestand.
Ein sichtbarer GUI-Lauf wurde nicht gestartet.
[0.23.10] — 2026-08-29
Behoben
- Der Bewertungs-Picker übersetzt seine dynamisch erzeugten Einträge nun
auch in der englischen Oberfläche. „keine“ und „— verschieden —“ blieben
bisher deutsch; für „abgelehnt“ und sichtbare Fremdwerte fehlten zudem die
englischen Katalogeinträge.
Geprüft
- CodeQA: Einzel- und Batch-Bewertung samt fehlendem Tag, −1, 0…5,
tolerierten Bestandswerten und Bild-Speichergrenzen wurden erneut geprüft.
34 Editor-, Cover-, Speicher- und Lesepfadtests sowie die Kompilierung des
deutschen und englischen String-Katalogs bestanden.
[0.23.9] — 2026-08-29
Geprüft
- CodeQA: Fenster-Registry, Dateiöffnung ohne sichtbares Fenster,
begrenztes Nachfassen, fensterweise Beenden-Rückfragen, Delegate-Brücke,
Dokument-URL, Fensterkopf, Seitenleistenregel und Homebrew-Angebot wurden
erneut geprüft. 28 gezielte App-Tests und der App-Release-Build bestanden.
[0.23.8] — 2026-08-29
Geprüft
- CodeQA: E-Rechnungs-Erkennung, BT-24-Profilzuordnung, CII-/UBL-Feldmapping,
PDF-Anhangs- und Dekompressionsgrenzen, XMP-Auswahl, reine CLI-/App-Anzeige
sowie die neue adaptive BT-/BG-Spalte wurden erneut geprüft. 31 Core-/CLI-
und 3 App-Layouttests bestanden; der bestehende Parservertrag lädt keine
externen Entitäten.
[0.23.7] — 2026-08-29
Behoben
- Wörtlicher Text wie
\udcfcbleibt in Klartextausgaben von MediaInfo,
Calibre und externen Fehlermeldungen unverändert. Die Reparatur solcher
Byte-Escapes gehört nur zu MediaInfo-JSON; bisher deutete der gemeinsame
Decoder dieselbe Zeichenfolge in jedem Text fälschlich als „ü“.
Geprüft
- CodeQA: Der Prozessrahmen wurde samt vollständigem parallelem Leeren von
stdout/stderr, Timeout-Grenze, JSON-Struktur, UTF-8-Erhalt sowie
feldbezogener MacRoman-/Windows-1252-Reparatur erneut geprüft. 20 gezielte
Decoder-, Prozess- und reale MediaInfo-Tests bestanden.
[0.23.6] — 2026-08-29
Behoben
tagx exif set --rating=-1setzt jetzt den gültigen XMP-Wert „abgelehnt“.
Bisher wies die CLI ihn zurück, obwohl Core, Archiv und App −1 bereits als
echten Wert behandeln; nur ein explizit leerer Optionswert löscht das Tag.- Der Bild-Restore prüft die exakte exiftool-Rückgabe jetzt auf der Temp-Datei
vor dem atomaren Austausch. Normalisiert oder verwirft exiftool einen
Archivwert, bleibt das Original bytegleich, statt trotz Fehlermeldung bereits
durch die abweichende Fassung ersetzt zu sein.
Geprüft
- CodeQA: Bildfelder, Wertebereichs- und Archivgrenzen, exiftool-Argumente,
Pfadbehandlung und atomarer Austausch wurden erneut geprüft. 12 gezielte
Core-/CLI-Tests und 35 Archivtests bestanden.
[0.23.5] — 2026-08-29
Behoben
tagx ebook setnennt bei einem abgelehnten Cover jetzt die Formate, die
das konkrete Ziel tatsächlich schreiben kann. Für EPUB 2 versprach die
Meldung bisher fälschlich WebP, obwohl dieses Format erst in der aktuellen
EPUB-3-Spezifikation ohne Fallback zulässig ist.
Geprüft
- CodeQA: Der transaktionale E-Book-Schreibweg wurde samt EPUB-OPF-Struktur,
formatabhängigen Serien- und Covergrenzen, Calibre-/exiftool-Adaptern und
exaktem Read-back erneut geprüft. 33EbookTool-Tests bestanden.
[0.23.4] — 2026-08-29
Geprüft
- CodeQA: Build, Signatur-/Notarisierungsgrenzen und der atomare Installer
wurden seit dem letzten Abdeckungsstand erneut auf Bundle-Prüfung,
Sperrübernahme, Rollback und sichere Temp-Ziele geprüft. Installer-,
Property-List-, Mindestversions-, Tempordner- und Ladepfadtests bestanden.
[0.23.3] — 2026-08-29
Geprüft
- CodeQA: Der TagLib-Shim, seine Swift-Fassade und der ausschließlich atomare
Schreibzugang wurden nach dem geänderten MediaInfo-Testdelta erneut an ihren
Speicher-, Cover- und Ladepfadgrenzen geprüft. 13 Roundtrip-/MediaInfo-Tests
und der TagLib-Ladepfadtest bestanden.
[0.23.2] — 2026-08-29
Geprüft
- CodeQA: Archivexport und -import wurden seit dem letzten Abdeckungsstand
erneut gegen Schema-1/2-Kompatibilität, Zielidentität, externe Freigaben,
zielbezogene Schreibbarkeit und Read-back geprüft. 38 Archiv- und
Exportkollisionstests bestätigen den unveränderten Vertrag.
[0.23.1] — 2026-08-29
Geprüft
- CodeQA: Die Save- und Konfliktkoordination in
AppModelwurde seit dem
letzten Abdeckungsstand samt Cover-No-op, konsistentem Datei-Schnappschuss,
Dialogentscheidungen und aktuellen Fenstergrenzen erneut geprüft. Die 23
gezielten AppModel-/Lesepfad-Tests bestätigen den unveränderten Vertrag.
[0.23.0] — 2026-08-22
Inkompatibel (Library-Produkte TagExplosionCore, EInvoiceCore)
Zwei Änderungen aus 0.22.2 waren quellinkompatibel und hätten dort keinen
Patch-Sprung verdient; sie werden hier als Minor-Sprung nachgetragen:
ImageCoreFields.ratingist seit 0.22.2Int?stattInt:nilheißt
„die Datei trägt kein Rating-Tag“, −1 ist der echte Wert „abgelehnt“.
Aufrufer, dieratingalsIntlesen oder-1als Leerwert benutzen,
müssen auf das Optional umstellen. Die Abwesenheitssemantik bleibt, sie
ist fachlich richtig (siehe 0.22.2).EInvoiceReader.containsInvoice(url:)war in 0.22.2 entfernt worden und
ist wieder da — als veralteter Wrapper (@available(*, deprecated)) mit
dem bisherigen Verhalten. Neuer Code nutztsniffXML(url:)für XML und
read(url:)für PDF.
Behoben
- Der Bewertungs-Picker kennt jetzt „abgelehnt“ (−1). Vorher passte ein
abgelehntes Bild zu keinem Eintrag im Einzel- und im Batch-Editor, und die
Auswahl blieb leer, obwohl die Datei einen Wert trug. Andere tolerierte
Bestandswerte (etwa 7 aus einer fremden Datei) erscheinen als eigener,
sichtbarer Eintrag statt still zu verschwinden. - Der Installer-Regressionstest vergisst jede Hintergrund-PID, sobald er sie
eingesammelt hat, und beendet beim Abbruch nur noch Kinder, die wirklich
noch laufen. Vorher konnte das Aufräumen eine inzwischen neu verge...
Tag Explosion 0.22.2
Tag Explosion 0.22.2 — 2026-08-21
Eine Sammelversion mit Korrekturen aus 0.22.1 und 0.22.2. Sie behebt vor allem
drei Fälle, in denen Tag Explosion Daten falsch gelesen oder beim
Wiederherstellen verloren hat.
Behoben
- Bewertungen von Bildern gehen beim Wiederherstellen nicht mehr verloren.
Ein aus dem Backup zurückgeschriebenes Rating landete unter Umständen als
gelöschtes Tag in der Datei — betroffen waren negative Werte, darunter die
−1, die Adobe Bridge und Lightroom für „abgelehnt“ vergeben. „Kein Rating“
heißt jetzt „das Feld fehlt“ und ist damit vom Wert −1 unterscheidbar.
Ältere Backups werden weiterhin gelesen und dabei richtig gedeutet. - Umlaute neben anderen Sonderzeichen bleiben erhalten. Tags, die nicht in
UTF-8 geschrieben sind, wurden im selben Feld uneinheitlich gedeutet: aus
„Bäckereistraße“ wurde „Bäckereistra§e“, aus „Café – Bar“ wegen des
Gedankenstrichs „CafÈ ñ Bar“. Tag Explosion entscheidet die Kodierung jetzt
je Textfeld nach dem plausibleren Gesamtbild und kennt Windows-1252, die in
Musikdateien übliche Kodierung. Auch ein Anführungszeichen mitten im Wert
trennt das Feld nicht mehr und verfälscht damit nicht mehr den Rest. - E-Rechnungen werden auch in ungewöhnlich aufgebauten PDFs gefunden. Lag
vor der Rechnung ein sehr großer anderer Anhang, brach die Suche ab und die
Datei galt als „keine E-Rechnung“, obwohl andere Programme sie anzeigten.
Ebenfalls behoben: Eine unkomprimiert eingebettete Rechnung über 256 KiB
wird jetzt gelesen. - Beim Beenden gehen keine Änderungen mehr verloren, die erst während der
Rückfragen entstehen. Solange ein Fenster fragt, bleiben die übrigen
bedienbar; Tag Explosion fragt in Runden gegen den aktuellen Stand und
beendet sich erst, wenn kein Fenster mehr etwas zu verlieren hat. Ein
Fenster kommt dabei nur noch nach vorn, wenn dort auch wirklich eine Frage
erscheint. - Bleibt ein angefordertes Fenster aus, ist die App keine Sackgasse mehr.
Die Anforderung wird nach kurzer Frist wiederholt und danach wieder
freigegeben — auch beim zweiten und jedem weiteren Mal. - Der Menüpunkt „Neues Fenster“ heißt bei englischer Systemsprache jetzt
„New Window“. tagx exif showzeigt jedes vorhandene Rating an, auch ein negatives. Die
Textausgabe verschwieg es, während--jsones ausgab.
Geändert
- Bei präparierten PDFs sind Anzeige und Entpackarbeit getrennt begrenzt: Die
Summe der angezeigten Anhänge bleibt bei 64 MiB, die insgesamt geleistete
Entpackarbeit bei 256 MiB. So lässt sich dieselbe Dekompressionsbombe nicht
beliebig oft entpacken, ohne dass ein einzelner übergroßer Anhang die
Rechnung dahinter unsichtbar macht.
Installation
DMG laden, öffnen, Tag Explosion nach /Applications ziehen. App und DMG sind mit
Developer ID signiert und von Apple notarisiert. Bereits installierte Versionen
ab 0.21.0 finden das Update über „Nach Updates suchen …“.
Tag Explosion 0.22.0
Tag Explosion 0.22.0 — 2026-08-17
Diese Version bringt die Fensterverwaltung auf das, was unter macOS zu erwarten
ist, und gibt der E-Rechnungs-Ansicht die Breite zurück.
Neu
- Mehrere Fenster. „Neues Fenster“ (⌘N) im Ablage-Menü; jedes Fenster hat
seine eigene Dateiliste und Auswahl. Speichern, Alle speichern und Änderungen
verwerfen wirken immer auf das Fenster, in dem gerade gearbeitet wird, und das
Beenden fragt jedes Fenster einzeln nach ungespeicherten Änderungen. - Dokumentfenster. Der Fenstertitel vertritt die geöffnete Datei: mit
Datei-Icon und dem gewohnten hierarchischen Pfadmenü bei Command-Klick auf den
Titel. Weicht der Titel aus den Metadaten vom Dateinamen ab, steht der
Dateiname daneben im Untertitel.
Behoben
- Nach dem Schließen des letzten Fensters war die App eine Sackgasse: Es ließ
sich kein neues Fenster mehr öffnen, und eine im Finder geöffnete Datei
verschwand kommentarlos. Dateien landen jetzt im vordersten Fenster — und
wenn keines offen ist, legt das Öffnen eines an. - Die E-Rechnungs-Ansicht nutzt die Fensterbreite. Die Spalte mit den
EN-16931-Bezeichnungen belegte fest 380 Punkte; dem Inhalt blieb bei
Standard-Fenstergröße so wenig Platz, dass Elementnamen und Werte mitten im
Wort umbrachen, während rechts Platz frei blieb. Die Spalte wächst jetzt mit
der verfügbaren Breite, und die Feldliste steht linksbündig unter dem
Profilkopf.
Geändert
- Die Seitenleiste mit der Dateiliste ist bei einer einzelnen Datei
eingeklappt und öffnet sich ab der zweiten Datei. So steht dem Editor die
volle Fensterbreite zur Verfügung; ein- und ausblenden lässt sie sich
weiterhin jederzeit selbst.
Installation
DMG laden, öffnen, Tag Explosion nach /Applications ziehen. App und DMG sind mit
Developer ID signiert und von Apple notarisiert. Bereits installierte Versionen
ab 0.21.0 finden das Update über „Nach Updates suchen …“.