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<n> option to allow the
	  number of recovery blocks to be directly specified rather than
	  indirectly via the -r<n> 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 <iomanip>.

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 <cassert> 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<Galois16>.

	* 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<Galois16>.

	* 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.

