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