Skip to content

Par2Guard 1.2.0

Latest

Choose a tag to compare

@infidelus infidelus released this 10 Jul 09:28
· 1 commit to main since this release

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.