v0.12.1
馃殌 What's Changed in v0.12.1
Added
- Batch-Level Transaction Rollbacks:
- Assigns a unique
BatchJobId(e.g.batch_20260822_123456_a4f910) to multi-file operations across Core, GUI, and MCP. - New MCP tools
ListBatchJobsandRestoreBatchJobenabling atomic, single-command rollback of entire multi-file batches.
- Assigns a unique
- Rich Metadata Provenance & Forensic Audit Trail:
- Captures pre-write SHA-256 source hash, 64-bit cover visual
dHash, remote matched thumbnail URL, match confidence, visual similarity score, change reason, and property-level diffs in the backup manifest. - New MCP tool
GetBackupProvenanceto inspect complete forensic provenance for any snapshot. - Enhanced embedded
ComicInfo.xml<Notes>attribution tag with cover match similarity percentages (e.g.[Cover Match 97%]).
- Captures pre-write SHA-256 source hash, 64-bit cover visual
- MCP Strict Read-Only Mode (
INKTAG_MCP_READ_ONLY=true/--read-only):- Adds environment variable and command-line flag enforcement to prevent all file modifications, renames, and archive writes during audit and indexing agent sessions.
- Returns explicit
UnauthorizedAccessExceptionerror messages when write operations are attempted.
- Automated Pre-Write Metadata Backups & Disaster Recovery:
- Automatic timestamped snapshotting of
ComicInfo.xmlprior to any archive modification or metadata write across Core (EditMetadata,UpdateMetadataXml), GUI, CLI, and MCP. - Backups are stored cleanly in the user's isolated application data directory (
~/.local/share/InkTag/backups/) with automatic retention cleanup. - New MCP tools
ListMetadataBackupsandRestoreComicBackupto query history and instantly rollback comic archives to earlier metadata states.
- Automatic timestamped snapshotting of
Changed
- Safe-by-Default Dry-Runs for MCP Mutating Tools:
- Mutating tools (
UpdateComicMetadata,RenameComicFiles,ScrapeComicMetadata,BulkScrapeDirectory) now default todryRun = true, requiring AI agents to explicitly passdryRun = falseto commit disk changes.
- Mutating tools (
馃摝 Downloads & Installation Notes
馃崗 macOS Installation Note
Because InkTag is currently unnotarized:
- Drag
InkTag.appinto/Applications. - Run the following command in Terminal to clear the download quarantine:
xattr -cr /Applications/InkTag.app
(Alternatively, go to System Settings > Privacy & Security and click Open Anyway).
馃 Model Context Protocol (MCP) Server Usage
- macOS (bundled):
/Applications/InkTag.app/Contents/MacOS/InkTag.Mcp - Windows / Linux / macOS (standalone downloads): Use the dedicated
InkTag-Mcp-*packages.