09 February 2020 Ike Devolder * release: 0.8.1 * Serious rework of internals by Michael Nahas * Added unittests by Michael Nahas * Added support for static libpar2 11 December 2017 Ike Devolder * release: 0.8.0 * improved parallelisation on input files 08 September 2017 Ike Devolder * release: 0.7.4 * performance improvement when not using quiet mode 25 June 2017 Ike Devolder * release: 0.7.3 * fixed critical issue on windows where created parfiles were corrupt 03 June 2017 Ike Devolder * release: 0.7.2 * fixed tests on NetBSD, #102 * fixed failing tests when dir contains whitespace, #103 * added automake.sh to the files, #104 * changed some flags related to windows build, #94 * cleaned up compiler warnings for mingw build 19 May 2017 Ike Devolder * release: 0.7.1 * fixed basepath issues #93 * made distcheck behaviour consistent with different --srcdir #96 * properly package distribution package #98 * cross compile for windows to get redistributable exe #94 * change distribution format to tar.gz and tar.bz2 for unix and keep zip for windows #97 17 April 2017 Ike Devolder * release: 0.7.0 * Merged OpenMP version and so enabled multithreading * added -t flag to set the number of threads (all possible threads used by default) * Added -B flag to set the basepath for difficult to guess situations * bugfixes 27 February 2014 Ike Devolder * release: 0.6.5 * fix blocksize calculation 25 February 2014 JCF Ploemen * lintian warning spelling fix 7 February 2014 Ike Devolder * add manfile for par2 29 January 2014 Jan van Haarst * README in Markdown 21 January 2014 Ike Devolder * add spelling fixes to cmdline output 18 January 2014 Jan van Haarst * fixed some spelling 6 January 2014 Ike Devolder * simplify FindFiles 4 January 2014 Ike Devolder * release: 0.6.4 * when directory is removed, recreate * add test to verify directory behaviour * add test with valgrind 16 December 2013 Ike Devolder * allow verification of files even with ducplicates in parfiles 15 December 2013 Ike Devolder * avoid adding of duplicates 14 December 2013 Ike Devolder * release: 0.6.3 * rework original tests so parallelisation is no issue * add test8 which makes sure the paths stored are relative * add test9 rename wrongly named file, passed to par2 result is correctly named files after repair 13 Decebmer 2013 Ike Devolder * move tests in separate folder, tests will be extended and otherwise eventually clutter the source too much 9 December 2013 Ike Devolder * rework parfilename handling + it fixes passing par filename without extension for repair 7 December 2013 Ike Devolder * release: 0.6.2 * basepath was not set correctly in restoring of 'old' way 5 December 2013 Ike Devolder * release: 0.6.1 * show usage / version / copyright on request * restore 'old' way of creating make -a optional 30 November 2013 Ike Devolder * release: 0.6.0 * test8: windows generated recovery files with subdir * windows recurses in . and .. which leads to deadlock so dont recurse in folders starting with . on windows * when recursion happens make sure windows can recover with unix created par2 files * fixed fc -> fd typo in windows part of diskfile * FTBFS fix on GNU/kFreeBSD (by Cyril Brulebois) * fixed non quiet output when creating par2 * Applied fix preventing a stack overflow (by Robert Schneider) 14 October 2013 Ike Devolder * Implemented recursion * NOTE: only for unix like systems * Windows can be done i guess but i have no access to windows machines 16 June 2013 Ike Devolder * Implemented initial subdir handling * added subdir tests 13 June 2013 Ike Devolder * Fixed failing testsuite 9 December 2012 Ike Devolder * rework purging of par(2) files because of possible segfaults and other inconsistencies 4 December 2012 Ike Devolder * fix purge option so it removes the par files when there is no repair needed * add purge option to verify so when there is no repair needed the par2 files are removed when the purge option is given 30 November 2012 Ike Devolder * add purge option remove backup files (mostly .1) and par files on request **USE AT YOUR OWN RISK * purge option available in par1 and par2 repair * fix memory leak when using par1 repair 30 January 2012 Ike Devolder * add inlining performance improvement of Gerard Putter * release: 0.5.4 19 January 2012 Ike Devolder * fix wrongly created par2 files in quiet mode this was related to the -q -qq fix * release: 0.5.3 17 January 2012 Ike Devolder * fix deadlock condition when repairing and filepath is longer than _MAX_PATH * increase _MAX_PATH, 255 is no longer of these days * release: 0.5.2 16 January 2012 Ike Devolder * fixup 0.5 version display * "par2 create" dumps core with -q or -qq, but non-quiet mode works fine FIXED * removed automake files * updated copyrights * release: 0.5.1 12 December 2011 Marcel Partap * Reanimate par2cmdline development on new github repository * Merge available distro patches since 2004 0.4 release back upstream * Release: Version 0.5 ;) 3 January 2005 Peter B Clements * par2creatorsourcefile.cpp: "offset" must be updated when computing file and block hashes even if progress is not being displayed. 23 June 2004 Peter B Clements * diskfile.cpp: Changed DiskFile::GetFileSize for WIN32 so that it uses _stati64() to get the size of a file. * par2creatorsourcefile.cpp: In UpdateHashes() the test that adjusts the length of the last block of a file when before updating the file hash was incorrect. 17 June 2004 Peter B Clements * par1repairer.cpp, par2repairer.cpp: Report empty files when scanning for data. 22 April 2004 Peter B Clements * README: Updated to include new commandline options. * par2cmdline.vcproj: Update VS .NET project file with new version number. * Released: Version 0.4. 15 April 2004 Peter B Clements * par2cmdline.sln, par2cmdline.vcproj: Updated. * commandline.cpp, commandline.h, par1repairer.cpp, par1repairer.h, par2cmdline.cpp, par2cmdline.h, par2creator.cpp, par2creator.h, par2creatorsourcefile.cpp, par2creatorsourcefile.h, par2repairer.cpp, par2repairer.h, reedsolomon.h, par2cmdline.h: Handle -v and -q options from the command line to change the amount of messages displayed. 14 April 2004 Peter B Clements * commandline.h, commandline.cpp: Add -c option to allow the number of recovery blocks to be directly specified rather than indirectly via the -r option. Add -l option to allow the recovery file size to be limited so that the largest will have just enough recovery data to reconstruct the larget source file. * par2creator.h, par2creator.cpp: Use the recovery block count specified via the command line instead of the redundancy % if given. Allocate the sizes of recovery files so the are limited if requested. 12 April 2004 Peter B Clements * config.h.in, configure, configure.ac: Detect what defines are required to enable 64 bit file system support and whether or not fseeko() is available. * diskfile.cpp: Use fseeko and 64 bit file operations if they are available. * par2cmdline.h: Change order of include files. * par2repairer.cpp: When verifying files with long filenames, display a shorter version of the filename. * datablock.h: Change DataBlock::GetDiskFile so that in returns a non const DiskFile. * par2repairer.cpp, par2creator.cpp: Only keep source files open when they are actually needed. This should allow par2 creation and repair to work with large file sets on OS's with a limit on the number of files that can be open simultaneously. * Makefile.in, aclocal.m4, config.guess, config.sub, configure, depcomp, install-sh, missing, mkinstalldirs: Updated Automake to version 1.8.3 and Autoconf to version 2.59. * configure.ac, config.h.in, configure: Check for getopt() and getopt_long(). 19 August 2003 Peter B Clements * Updated par2creator.cpp: When creating par2 files the wrong number of bytes would be reported as written to disk. 13 August 2003 Peter B Clements * Updated par2cmdline.h: Recorrected spelling of STDC_HEADERS! * Updated par1repairersourcefile.cpp, par2repairersourcefile.cpp: Don't treat ':' as a path separator on non Windows platforms. 2 August 2003 Peter B Clements * Updated par1fileformat.h, par2fileformat.h: Use memcmp when comparing MAGIC strings and PACKETTYPE strings. * Updated par2repairer.cpp: When a good packet is found after bad data, use memcpy to copy the packet header. Don't attempt to get the block count directly from the verification packet (which might be missing). * Updated par2repairersourcefile.cpp: Add function to set the block count when the verification packet is missing. 1 August 2003 Peter B Clements * Updated par2cmdline.h: Included . 31 July 2003 Peter B Clements * Updated reedsolomon.h: Added debugging code. 29 July 2003 Peter B Clements * Updated galois.h: Use typename when refering to a typedef in another class. * Updated par1repairer.cpp: Cast size of fileentry in memcpy. * Updated par2repairersourcefile.h: Add function to set the block count for a file when the verification packet is missing. 25 July 2003 Peter B Clements * Updated par2cmdline.h: Correct spelling of STDC_HEADERS. 16 July 2003 Peter B Clements * Release: Version 0.3. 15 July 2003 Peter B Clements * Added config.guess, config.sub: Autoconf files. * Updated configure, Makefile.in: Updated by Autoconf. * Updated configure.ac: Changed par2cmdline version number. Added call to AC_CANONICAL_HOST. * Updated par2cmdline.vcproj: Updated version number. 3 July 2003 Peter B Clements * Updated aclocal.m4, depcomp, INSTALL, install-sh, mkinstalldirs: Upgrade Autoconf to version 1.75 from 1.6.3. * Updated Makefile.am: Changed CXXFLAGS to AM_CXXFLAGS. 24 June 2003 Peter B Clements * Updated commandline.cpp, commandline.h: Added "redundancyseet" member to record whether or not the value of "redundancy" has been specified so that 0% reduncancy is permissible. * Updated par2creator.cpp: Detect situation where no recovery blocks are being created and skip related code sections. 14 June 2003 Peter B Clements * Updated galois.h: Corrected bug in the initialisation of log[0] in GaloisTable. 11 June 2003 Peter B Clements * Updated par1repair.cpp, par1repairer.h: Detect buggy version of smartpar which creates PAR1 files with invalid 16k hash values, Change alignement of temporary buffer used for PAR1FILEENTRYs to 8 bytes. 7 June 2003 Peter B Clements * Update par2cmdline.h: Added header include. 3 June 2003 Peter B Clements * Updated verificationhashtable.h: Fixed bug where blocks of data that have the same crc and hash would not be correctly recognised. 26 May 2003 Peter B Clements * Release: Version 0.2. * Added config.h.in, configure, configure.ac, depcomp, missing, mkinstalldirs, stamp-h.in: Autoconf configuration files. * Added NEWS * Added par1fileformat.h, par1fileformat.cpp: Specifies the layout of PAR 1.0 files. * Added par1repairer.h, par1repairer.cpp: Encapsulates the details of repairing using PAR 1.0 files. * Added par1repairersourcefile.h, par1repairersourcefile.cpp: Stores details of a source file. * Added test1, test2, test3, test4, test5, test6, testdata.tar.gz: Test files for "make check". * Changed commandline.cpp, commandline.h: Add "version" member and set it according to whether the recovery file is a .PAR file or a .PAR2 file. Rename "par2filename" member to "parfilename". * Changed creatorpacket.cpp: Made "string creator" a local variable in CreatorPacket::Create instead of a global. Commented out code that does nothing. * Changed criticalpacket.h: Corrected bug in CriticalPacketEntry::operator= which failed to return *this. * Changed descriptionpacket.cpp: Commented out code which does nothing. * Changed diskfile.cpp: Updated wildcard matching code to permit multiple "?" in wildcard. Adjusted the list of characters that are accepted in filenames to include all with bit 7 set and also spaces. Removed restrictions on many other permitted characters. * Changed diskfile.h: Removed cygwin and linux ifdefs which are now handled by autoconf. * Changed galois.cpp: Move the constructors for GaloisTable and GaloisLongMultiplyTable to galois.h. * Changed galois.h: Changed GaloisTable, Galois, and GaloisLongMultipleTable into templates. Corrected bug in Galois::pow and Galois::operator^ which incorrectly returned 0 for x^0 when it should always return 1. Added Galois8 and Galois16 typedefs for PAR1 and PAR2. * Changed letype.h: Added leu16 type for use in PAR1 processing. * Changed mainpacket.cpp: Commented out code which does nothing. * Changed md5.cpp: Adjusted ROL macro to include masking to correct for bug on Alpha CPUs. Added operator<<() and print() to MD5Hash. * Changed md5.h: Added copy and assignment operators for MD5Hash. * Changed par2cmdline.cpp: Made "string version" a local variable instead of global. Use Par1Repairer or Par2Repaire as appropriate when verifying or repairing PAR1 and PAR2 files. * Changed par2cmdline.h: Adjusted to conditionally include headers and to define various types based on the autoconf configuration. * Changed par2cmdline.sln, par2cmdline.vcproj: Updated. * Changed par2creator.cpp: Called Commandline::GetParFilename instead of CommandLine::GetPar2Filename. * Changed par2creator.h: Redifine rs as ReedSolomon. * Changed par2creatorsourcefile.cpp: Comment out code which does nothing. Added typecasts between 32bit and 64bit values. * Changed par2fileformat.cpp: Adjusted initialisation code. * Changed par2fileformat.h: Use packed attribute for gnu compilers. * Changed par2repairer.cpp: Get filename using CommandLine::GetParFilename. * Changed par2repairer.h: Redefine rs as ReedSolomon. * Changed par2repairersourcefile: Add typecast from 32bit to 64bit. * Changed README: Update details of how to compile the source code using the configure script. * Changed recoverypacket.cpp: Commented out code which does nothing. * Changed ReedSolomon.cpp: Move ReedSolomon constructor to ReedSolomon.h. Created template specialisations for Galois8 and Galois16 for SetInput, SetOutput, and Process. * Changed ReedSolomon.h: Converted ReedSolomon to a template. * Changed verificationhashtable.cpp: Removed unused code. * Changed verificationpacket.cpp: Commented out code that does nothing. 7 May 2003 Peter B Clements * Version 0.1: Initial release.