Version 0.5 (June ??, 2003)

Bugs fixed:

  • Files that contained identical blocks of data would sometimes be missrecognised during Verification and reported as damaged. This was most likely to happen with very small block sizes.
  • When Verifying and Repairing, filenames that included characters with bit 7 set (i.e. most accented characters) where treated as invalid and replaced with "_".
  • If a file was missnamed so that its name was that of another target file, then it would not be recognised as such. (NB Missnamed files that do not have the name of another target file have always been correctly recognised).

Changes:

  • Verification and Repair using PAR 1.0 files is now possible.
  • Whilst Verifying, the count of the number of Complete, Missnamed, Damaged, and Missing files is displayed.
  • Details of the results of file Verification are now stored in cache file (with either a .qp1 or .qp2 file extension depending on whether PAR 1.0 or PAR 2.0 files were being used). The cache file is read on startup.
  • The system menu now includes an option to allow you to change the priority whilst processing is taking place. You may also set the default priority from the Options dialogue.
  • When creating PAR2 files you are now offered the choice of three schemes for determining how many recovery blocks are placed in each PAR2 file: 1) Variable size (where each file contains approximately twice as many blocks as the previous one), 2) All same size (where the recovery blocks are distributed as evenly as possible amoungst the PAR2 files), 3) Variable with size limit (where a number of variable sized PAR2 files are created but where the largest PAR2 file contain exactly enough recovery data to repair the largest data file).
  • When Verifying files there is now an option of Monitor the hard disk for new files.
  • When Verifying files, every file in the folder where the PAR2/PAR1 file is located will be checked or scanned. Only files whose names are sufficiently close to the filenames listed in the PAR2/PAR1 files will be thoroughly scanned for good data. A file is scanned if its name is filename.ext.NNN, filename.ext.NNN-MMM, filename.NNN.ext, filename-NNN.ext, or filename_NNN.ext. It will also be fully scanned if its filename is identical to the name of a target file except for substitutions made to punctuation characters or characters with bit 7 set. Other files are simply checked to see if they are undamaged but missnamed versions of files. Files that are incomplete or damaged and also have the wrong filename will not be fully scanned until you use the Add button.
  • Options dialogue added to allow the configuration of PAR2 and PAR file associations, shell integration, default process priority, and preferred block sizes.
  • When creating PAR2 files, the checkbox to set the block size to that appropriate for UUEncoding for Usenet has been removed and replaced with an option to restrict the block size to multiples of the preferred block size specified in the Options dialogue.
  • The checkbox that specifies one set of critical data in PAR2 files has been removed.
  • On startup QuickPar attempts to determine how fast the CPU can process data. This speed is then used to calculate the time estimate displayed to create PAR2 files.
  • When selecting the level of redundancy for new PAR2 files, QuickPar tells you exactly how many of the original data files the PAR2 files could be used to repair. A minimum and maximum figure is displayed and these may be different if the source files are not all the same size.
  • Most settings (such as redundancy) are remembered for the next time you create PAR2 files.
  • The Verification and Repair dialogue now displays the sizes of files.
  • When suggesting the filename to use for PAR2 files, it now trims the suggestion back to the last "." in the filename. This avoids creating files with names such as demo.mpg.part0.vol07+08.par2.

Features requested or planned:

  • Permit the selection of Folders when using the shell context menu in Windows Explorer.
  • Store and use path information in the PAR2 files so that files in subfolders can be correctly found and repaired.
  • Add the ability to queue PAR creation requests so that they will be processed one after another in the background.
  • Add the ability to "pause" PAR creation, save the intermediate results to disk and resume later.
  • Allow drag selection and use of the delete key in the listbox when selecting the files to create recovery data file.
  • Support Unicode filenames.
  • Support reading from partly unreadable files (e.g. a file on a CD with a scratch).
  • Allow the selection of an alternate location to put repaired files (e.g if the originals are on CD).

Known problems:

  • When repairing files, all recovered files are placed in the same folder. If the original files were in multiple folders and include some with duplicate names, then they will be renamed so that they have a distinguishing number added to the end of their filenames.

Version 0.4 (May 8th, 2003)

Bugs fixed:

  • On Windows 95, after creating recovery files, it was not possible to immediatly verify them.

Changes:

  • When verifying files, the order in which files were processed has been changed so that all recovery files are loaded before any of the data files are verified.

Version 0.3.3 (March 22nd, 2003)

Bugs fixed:

  • When the "Close" button was clicked after finishing the creation of recovery volumes, you were incorrectly returned the the Create dialogue.
  • If a data file included areas with duplicate blocks, then they would not all be correctly recognised when attempting a repair. This resulted in the need for more recovery blocks than should be necessary.
  • Drag and Drop was not working in the create dialogue.

Changes:

  • None

Features requested or planned:

  • Same as for 0.3 plus...
  • Allow spin controls on the create dialogue to respond to cursor keys.
  • Allow direct entry of numeric values in the create dialogue.
  • Display the name of the recovery volume being created during the actual creation.

Known problems:

  • Same as for 0.3.

Version 0.3 (February 26th, 2003)

Bugs fixed:

  • If you try to create recovery volumes for Read-Only files, they would not be included.
  • The "AutoRepair" checkbox now correctly disables when repair is not needed.
  • When using the spinner to increase the block count, QuickPar would sometimes not let you select the largest possible block count.

Changes:

  • When searching for incomplete files from a UseNet download, if the target filename is "filename.ext" QuickPar will now automatically match "filename_1234.ext" in addition to the existing "filename.ext.1234" and "filename.ext.1234-5678" formats.
  • When creating recovery data and reconstructing damaged data, if there is not enough memory to hold all computed data in memory, then processing will be done in stages with all computed data being written to disk at the end of each stage. Additionally, when this happens, the computation of the file hash will take place as a separate step. File hash computation takes place at the same time as data processing if there is sufficient memory.
  • After creating recovery data, Quick Par would pause with no visible activity whilst writing data to disk. Quick Par now indicates that this is taking place and updates the Progress Bar to show how far it has got.
  • About button added to all the main windows.
  • The Create dialogue now has a checkbox labelled "Use block size appropriate for UUEncoding with 7000 lines per article on UseNet". Using this sets the block size to 315,000 bytes (if possible).
  • The Create dialogue now has a spinner that allows you to set exactly the block size you want (with the exception that it must be multiple of 4 - as required by the PAR 2.0 spec). NB When you use this spinner, the efficiency may drop below the optimum for the resulting block count. (i.e. you may require more recovery blocks to repair a particular file than you would otherwise have done).
  • The Create dialogue now has a checkbox labelled "Make all Recovery files the same size". When ticked, QuickPar will allocate recovery blocks to recovery files as evenly as possible.
  • The Create dialogue now has a checkbox labelled "Don't repeat critical data in recovery files". When ticked, QuickPar will only put one copy of the information that describes the files being protected in each recovery file. This will result in a smaller recovery file, but at a greater potential risk that the recovery file will be unuseable if that data cannot be read from another recovery file.
  • The Create dialogue now has a spinner that lets you adjust the number of recovery files that will be created.

Features requested (or planned):

  • Allow the specification of prefered block size (for UUEncoding, yEnc etc).
  • Permit the selection of Folders when using the shell context menu in Windows Explorer.
  • Remember the actual compute speed achieved and use that when displaying the estimate when choosing the options for a new PAR2 file.
  • Store and use path information in the PAR2 files so that files in subfolders can be correctly found and repaired.
  • Add the ability to queue PAR creation requests so that they will be processed one after another in the background.
  • Add the ability to "pause" PAR creation, save the intermediate results to disk and resume later.
  • Allow drag selection and use of the delete key in the listbox when selecting the files to create recovery data file.
  • Support Unicode filenames.
  • Support reading from partly unreadable files (e.g. a file on a CD with a scratch).
  • Allow the selection of an alternate location to put repaired files (e.g if the originals are on CD).

Known problems:

  • When repairing files, all recovered files are placed in the same folder. If the original files were in multiple folders and include some with duplicate names, then they will be renamed so that they have a distinguishing number added to the end of their filenames.

Version 0.2 (February 11th, 2003)

Bugs fixed:

  • A bug that prevented the creation of PAR2 files on Windows 98 has been corrected.
  • A PAR2 file which included files that have the same name would cause Quick Par to crash when attempting to verify them.
  • When using the Windows Explorer context menu to create a PAR2 file with a large number of files, the details of only a limited number would get passed to Quick Par.

Changes:

  • Quick Par will now "beep" when it finishes an operation.
  • If PAR2 creation is cancelled, then any partly created PAR2 files will be deleted.
  • If a repair is cancelled, then any files that have been created will be deleted.
  • When PAR2 creation is cancelled, you are now returned to the previous dialogue instead of exiting. This allows you to adjust the settings and then restart the creation.
  • During PAR2 creation, Quick Par now updates the progress bar whilst it is computing the Reed Solomon matrix. This will only be noticed when using high block counts.
  • Overlapped I/O is used if possible when creating and verifying. It is not yet used during repair.
  • It is now possible to drag and drop files from Windows Explorer into the PAR2 create window.
  • If the base name entered for the PAR2 files ends with a period, then that period will be removed.
  • Quick Par now operates with lowered priority so that other applications will not be slowed down.
  • When repairing, Quick Par now displays the estimated time to finish.
  • There is now an "AutoRepair" button.
  • After verifying files, if repair is needed and enough recovery blocks are available, Quick Par will tell you how many recovery blocks it will actually use for the repair.
  • Memory consumption for the Reed Solomon matrices used for PAR creation and repair has been halved. This is only of real significance for high block counts.

Features requested (or planned):

  • Permit the selection of Folders when using the shell context menu in Windows Explorer.
  • Remember the actual compute speed achieved and use that when displaying the estimate when choosing the options for a new PAR2 file.
  • Store and use path information in the PAR2 files so that files in subfolders can be correctly found and repaired.
  • Add the ability to queue PAR creation requests so that they will be processed one after another in the background.
  • Add the ability to "pause" PAR creation, save the intermediate results to disk and resume later.

Known problems:

  • When repairing files, all recovered files are placed in the same folder. If the original files were in multiple folders and include some with duplicate names, then they will be renamed so that they have a distinguishing number added to the end of their filenames.

Version 0.1 (February 5th, 2003)

This is the initial release of Quick Par.

  • Quick Par does not support the PAR 1.0 specification.
  • This version has been tested on Windows XP Professional, and Windows NT 4.0. It has NOT been tested on Windows 95, Windows 98, Windows ME, Windows 2000, or Windows XP Home.
  • When creating PAR files, all computed recovery blocks are buffered in memory until finished. If you create 10% recovery data for an 800MB file, Quick Par will use 80MB of memory. This might cause disk-thrashing on computers with limited amounts of memory.
  • You cannot directly control the number of PAR2 files created. Each PAR2 file will contain 2^n recovery blocks (except the last). The total number of PAR2 files created is log2(number of recovery blocks).
  • Quick Par will place multiple copies of critical information in each PAR2 file. This allows a PAR2 file to be useable when damaged.
  • When verifying files, Quick Par does not currently cache the results of a scan. When reverifying, all files will be rescanned.
  • Quick Par won't let you set an exact block size. Instead you have to specify the number of blocks and it will calculate the best block size. The calculated block size will be the smallest size the results in the specified number of blocks. This achieves the highest level of efficiency by minimizing any padding that may occur during block allocation.
  • Quick Par does not store path information for the files that are being protected and will ignore any path information in a PAR2 file when verifying.
  • When verifying, Quick Par will check any files whose filenames start the same as a target file. If a target file has been renamed, you have to manually tell Quick Par to scan it for data.
  • This is a beta release which requires more work. It does not contain full error checking code so bugs may lead to unexpected crashes.
Copyright © 2003 Peter B. Clements. All Rights Reserved.