Skip to content

Releases: infidelus/Par2Guard

Par2Guard 1.2.0

Choose a tag to compare

@infidelus infidelus released this 10 Jul 09:28

Added

  • Verify now reports which files are missing or damaged, including how many
    data blocks of a damaged file survived.
  • Repair now reports which files it restored, and how many blocks it rebuilt.
  • End-of-run summaries list the affected files beneath each item, so a
    library-wide sweep names the exact track rather than only the folder.
  • Progress bar in the footer showing par2's real progress and current phase
    (loading, scanning, repairing, solving, writing). Verbose mode is no longer
    needed just to see that a long repair is advancing.
  • "Send repairable items to Repair" button on the Verify tab, which copies the
    items needing repair into the Repair tab. Optionally starts the repair
    immediately (see Preferences).
  • Preferences dialog for editing saved settings without hunting for
    config.ini.
  • Optional cleanup of the <name>.1 backup files par2 leaves behind after
    repairing a damaged file. Only backups created by the repair just performed
    are removed; .par2 recovery files are never touched.
  • File lists now support selecting and removing several entries at once.
  • The bundled par2guard.svg is used as the window icon.

Fixed

  • Create failed for files whose names begin with a dash. par2 misread such
    filenames as command-line options (e.g. Ed Sheeran's - (Deluxe Edition)).
    -- now terminates option parsing on create, as it already did for
    verify/repair.
  • The overwrite prompt never appeared for multi-disc folders. The check used
    the raw folder name while creation used the derived
    Album - Disc 1 name, so existing parity went undetected and par2 then failed
    with "File already exists". Detection, deletion and creation now share one
    base-name function.
  • Delete-and-recreate could remove an unrelated PAR2 set whose name shared a
    prefix (deleting "Abbey Road" also swept up "Abbey Road Sessions"). Set
    membership is now matched exactly.
  • Verify misreported unrepairable damage. Outcomes are now taken from
    par2's exit codes (0 = OK, 1 = repair possible, 2 = repair not possible)
    instead of matching text. Files damaged beyond repair get their own message
    and summary section rather than a generic failure.
  • Repair now distinguishes "repair attempted but failed" from "repair not
    possible".
  • Failures no longer say "see log for details" while the log shows no details:
    in non-verbose mode the tail of par2's output is printed when a run fails.
  • The status bar no longer flashes "Ready" between queued jobs, and the buttons
    no longer briefly re-enable mid-batch. A second batch can no longer be started
    on top of a running one.
  • Cancelling a run no longer prints a misleading summary of the work not done.
  • Custom block sizes were rounded to the nearest kilobyte when saved, and values
    below 1 KB silently became "Auto". Block size is now stored in bytes.
  • The verbose checkbox was read from the worker thread; a plain flag is now used
    instead of touching a GTK widget off the main thread.
  • Fixed a GtkTextMark leak in the log pane during long runs.
  • Folder scans no longer merge two identically-named PAR2 sets living in
    different folders into a single entry.

Changed

  • Configuration moved from the application folder to
    ~/.config/par2guard/config.ini, so Par2Guard can be run from a read-only
    location. An existing config.ini is migrated automatically on first run;
    the original file is left in place.
  • Settings are written defensively: a read-only config location logs a warning
    instead of crashing at start-up.

Notes

  • par2's own -p ("purge") flag is deliberately not used. It deletes the entire
    .par2 recovery set along with the backup files.

Par2Guard v1.1.2

Choose a tag to compare

@infidelus infidelus released this 25 Dec 21:16

Fixed

  • Verification and repair now work correctly for PAR2 sets whose filenames begin with special characters (e.g. Ed Sheeran’s “- (Deluxe Edition)”).
  • Prevented par2cmdline from misinterpreting PAR2 filenames as command-line options.

Notes

  • This fixes real-world album naming edge cases.
  • PAR2 creation behaviour is unchanged.

Par2Guard v1.1.1

Choose a tag to compare

@infidelus infidelus released this 25 Dec 16:04

Par2Guard v1.1.1

Improvements

  • Align create-operation log labels with actual PAR2 archive names
  • Better handling of multi-disc compilation albums (e.g. Album Title - disc 1)
  • Clearer log output during PAR2 creation for multi-folder sets

Documentation

  • Updated README

Notes

  • No functional changes to verification or repair
  • Fully compatible with existing PAR2 sets

Par2Guard v1.1.0

Choose a tag to compare

@infidelus infidelus released this 24 Dec 20:10

v1.1.0 – Structured logging, overwrite fixes, and UX improvements

  • Add consistent section headers and improve docstrings throughout
  • Show folder/set name before each parity operation in logs
  • Improve UI/UX logging clarity and separate job entries
  • Fix block size normalization to valid PAR2 constraints
  • Enhance overwrite logic for multi-folder create workflows
  • Apply PEP-8 formatting and code clean-up
  • Persist and restore advanced create options more reliably
  • Minor bug fixes and polish based on user feedback

Par2Guard v1.0.1

Choose a tag to compare

@infidelus infidelus released this 19 Dec 09:58

Bugfix release.

  • Fix handling of non-UTF-8 filenames during verify and repair
  • Prevent false failures caused by smart quotes and mixed encodings in filenames

This improves robustness when working with real-world media libraries and metadata sourced from tools such as MusicBrainz.

Par2Guard v1.0.0

Choose a tag to compare

@infidelus infidelus released this 15 Dec 19:14

Par2Guard v1.0.0 is the first stable release of a modern Python 3 GUI
for creating, verifying, and repairing PAR2 parity files.

Features:

  • Create PAR2 parity files with configurable redundancy
  • Verify and repair existing PAR2 sets
  • Clean logging with optional verbose output
  • Clear end-of-run summaries for large scans
  • Automatically processes multiple folders (one PAR2 set per folder)
  • Project-local configuration file

Par2Guard is designed as a simple and reliable front-end to the
standard par2cmdline tool.

Inspired by the original PyPAR2 project:
https://pypar2.fingelrest.net/