2008-06-22 - v1.18.2:
* Print help output to stdout under non-error conditions. (Requested by Simon Howard)
* Work around mmap file descriptor leak in Python 2.4.2.
* Support different module layout of BitTorrent 5.x.
* Fix "struct integer overflow masking is deprecated" warning. (Reported by jjacobs2)
* Add --private_torrent flag. (Requested by Anders Henke)
* Work around bug in Python (only manifests with 64-bit Python version >= 2.5) which causes checksums of files > 4GB to be incorrectly calculated (when using mmap, eg, when the progress meter is disabled or not shown.)
2005-02-04 - v1.18.1:
* Fix TypeError when using progress meter and checksumming stdin.
* Fix progress meter spew when checksumming special files(devices, named pipes, etc.)
* Sort list of checksum types in --help output.
* Make -t help (or -t with unknown type) print list of types, with descriptions.
2005-01-11 - v1.18:
* Added special hack for multi-file .torrents to automatically strip the first path component off if it doesn't exist. (Allows testing .torrent files within their dirs without having to manually do --strip=1)
* Added .torrent creation support.
* Fix testing torrents which contain large number of files giving "too many open files" errors.
* Fix failure of -n in renaming bad files when testing a torrent file on windows due to windows not allowing renaming a file that is open.
* Fix TypeError when using --progress=yes and not running under a tty and COLUMNS env var is set. (Reported by Steven Mueller)
* Work around mmap error on large files. (Reported by Sapheriel)
* Added sha1sum file support (-t sha1).
2004-07-10 - v1.17:
* Handle .torrent files that have the creation date encoded as a string.
* Handle .torrent files that specify the filename encoding.
* Fix exceptions when trying to print unicode filenames containing non-ascii characters.
* Add -s option to search for misnamed files.
* Make .torrent support try BitTornado module if BitTorrent isn't found.
* Fix --strippaths=0 handling of multiple leading slashes and of dos-style drive letters with forward slashes.
* Improve handling of " and , in filenames in CSV files. (CSV parsing still won't be 100% correct, but doing any better would basically require adding a dependancy on some external csv module..)
* Replace automagic buggy-quoting workaround with --unquote option, fixes --strippath handling of quoted filenames and avoids potential insanity with -n, -s, and quoted filenames.
2003-11-20 - v1.16:
* Optimize progress meter display when checking lots of small files.
* Add .torrent file support (requires BitTorrent.)
2003-08-23 - v1.15:
* Add -l/-L options to toggle symlink following.
* When following symlinks, don't die on cycles.
* Ignore redundant FileDesc packets in PAR2 files.
* Check that PAR2 files have FileDesc packets for every file listed in the Main packet.
* Cache file checksums in memory in case they are verified by multiple checksum files.
* -u now works correctly with deep checksum files.
* -u option will now show dir/* if no files in a dir were verified. (--list=unverified still lists each unverified file.)
* -uu can be used to force showing all unverified files.
* Fix handling of the [files...] arguments in recursive test mode.
* Add .p[0-9][0-9] (par1 recovery files) to the list of checksum file extensions to test automatically.
* Fix FutureWarning "%X of negative int ..." on Python 2.3.
* Add progress meter for file checksumming. (Can be toggled with the progress option.)
* Only the new version 1.7 of fchksum module is supported.
* Fix fixpaths option on windows.
2003-05-23 - v1.14:
* Support md5sum files with comments in them.
* Support PAR2 files.
* Specifying -t in testmode without -f will cause cfv to only test files it finds if they are of the given type.
* Doesn't try to test csv files with more than 4 fields as csv4 files.
* Updated my email address. The old one should still forward for about a year, but you should switch to using the new one when contacting me.
* Support _cfvrc as an alternate name for .cfvrc.
* Add win32src zip and win32 installer exe (using NSIS and py2exe).
2002-12-18 - v1.13:
* Fix exception in test mode when specifying -t and -f with a non-existant file.
* Add support for sfvmd5 files generated by some windows software. (Just a SFV formatted file using md5 checksums rather than crc32.)
* Handle quoted paths and filenames in csv4 files.
* Add filename_type .cfvrc option to allow user overriding of what type of checksum file to create when -t isn't specified and -f is.
* Only print the md5sum "tested in textmode" warning once, and print a count at the end.
2002-09-23 - v1.12:
* Fix make install when target directories don't already exist. (Reported by Svend S. Sorensen)
* Fix cfv -u -t blah -f foo.blah from reporting foo.blah as unverified.
* Make create mode also display seperate stats per checksum file.
* Make create mode be verbose in verbose mode.
* Fix exception on error creating/writing a checksum file. (Eg, in a readonly dir, or a full drive.)
* Accept files with weird line endings (eg \r\r\n).
* Add support for (JPEG Sheriff format) .crc files. (The dimensions column is only added if The Python Imaging Library is avialable.)
* Fix printing incorrect paths for subsequent files in recursive mode after encountering a directory that could not be accessed.
2002-04-08 - v1.11:
* Due to architectural changes, unicode requirements(for .par support), etc, cfv now requires python 1.6 or higher.
* Add test-only support for PAR files. (python 1.6 or 2.2 recommended for better performance.)
* Print first SFV comment line in testing from blah.sfv line. (usually shows creating sfv program/creation time.)
* Add --strippaths option. (Like patch's -p/--strip option.)
* Revamp --showpaths option parsing, and add relative mode. (Note, auto-relative is now the default, to get the old behaviour specify "showpaths auto-absolute" in your .cfvrc)
* Added cmdlineglob config option.
* Added -Q command line arg to show only status lines.
* Alternate method of setting verbose .cfvrc option (using command line verbosity option letter.)
2001-12-06 - v1.10:
* Fix file.close() exception on -C in empty dir.
* Add mmap support for faster checksumming when not using fchksum module.
* Add CFV_NOFCHKSUM and CFV_NOMMAP env vars. (Mostly for testing/debugging.)
* Handle files made by buggy programs that add quotes to filenames.
* Print stats about number of case differences and quoted filenames.
* In recursive mode, an unaccessible dir no longer causes an exception. (Reported by Harley Gorrell)
* Fix excessive memory usage on deep recursive create mode in tree with lots of files. (Reported by Harley Gorrell)
* Display seperate stats per checksum file, and (if needed) a total at the end.
* In create mode, an already existing checksum file now causes a cferror, rather than an immediate exit.
2001-09-03 - v1.9:
* Support bsd style md5 files (-t bsdmd5).
* Make test.py not attempt to verify against md5sum if it is not available (ie, on bsd). (reported by Hannu Liljemark)
* No longer attempt to set user/group in make install.
* Add raw listing output options. (--list/--list0)
2001-05-17 - v1.8:
* Fixed ignore case for deep (-rr) checksum files.
* Added gzipped checksum file support.
* Added change to directory first option (-p).
* Makefile uses PYTHON var instead of hardcoded "python".
* Added configurable renaming of bad files.
* Extended --version output.
2001-02-27 - v1.7.2:
* Fixed makefile not finding pkgdir if installing to /usr/local and no site-packages in /usr/local is in python's sys.path.
* Added -q option.
* Make exit status a bitwise or of the various possible error types.
* Added cferror counter/exit status for unrecognized checksum files.
* Catch errors opening checksum files and set cferror counter instead of exiting with unhandled exception.
* Add error message for reading unrecognized lines in a checksum file, and set cferror counter.
* Use Longs for per file sizes too, should be no large file issues anymore. (if you are using fchksum you should upgrade to 1.3 too.)
* Time format uses .3 instead of .2 precision.
2001-02-22 - v1.7.1:
* Fixed reading md5sum files that had dos eol on non-dos systems.
* Loosened .sfv file recognition all the way.
* Added --help alias for -h.
* Added --version.
2000-11-19 - v1.7:
* Made ignore case option always search for correct filename if using show unverified files mode. Fixes problem with incorrectly showing some files as unverified on FAT drives.
* Caches dir entries for much faster ignore case operation.
* Accepts - to represent stdin for data source and/or stdout for destination of checksums.
* Added -VV option.
* Errors printed to stderr instead of stdout.
* Uses class instances instead of imp module for checksum types.
* If using fchksum module, you now need at least version 1.2 (due to stdin ability).
2000-11-08 - v1.6:
* Added ignore case option.
* Added fix paths option.
* Added handler for csv files with the dir seperate from the file name (-t csv4).
* Makes any absolute paths found in checksum files into relative paths.
* Added show paths option.
2000-10-17 - v1.5.2:
* Added test suite.
* Fixed 'x not in list' error when using -u and checksum file was not among the files to be tested. (First bug found with test suite ;)
* Exits with non-zero status if any errors occured.
2000-10-12 - v1.5.1:
* Fixed install wrapper stuff to compile _after_ it has been installed into the target dir.
2000-10-12 - v1.5:
* Fixed "illegal argument type" error when creating csv format files.
* Added note to manpage about -rr and path seperators.
* Added show unverified files option.
* Fixed md5 file testing when specifying files to test as command line args.
2000-10-05 - v1.4:
* Added make install-wrapper option for faster startup times.
* Uses long int value for total bytes read, to avoid overflow if you are checking a lot of files. (>=2GB, on 32bit archs)
* Fixed divide by zero error on systems with lower resolution timers (ie, python-win32)
* Ignore blank lines in .cfvrc
* Loosened .sfv file recognition some more.
* Handle error on creating/writing checksum file better.
* Add handler for .csv files with no crc field (-t csv2).
2000-08-16 - v1.3:
* .sfv file recognition loosened a bit (nvCRC32 says generated using instead of by)
* uses fchksum module if available. (1.1x-2.0x faster)
2000-08-11 - v1.2:
* recursive mode (-r and -rr)
* only creates checksum file when there is actually something to put in it
* if user doesn't specify files on command line, don't print errors about trying to add any directories and such
2000-07-10 - v1.1:
* md5sum support (-t md5)
* config file support
* missing file only check (-m)
2000-06-22 - v1.0: first release