2009-06-07 - v1.18.3:
- Fix python2.6 md5 and sha module deprecation warnings.
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