May 18th, 2013
· The obsolete and unused 'direct' parameter was removed.
· The program no longer recurses into main() when an unknown algorithm is selected.
· A bug in the handling of hexstrings in Python3 was fixed.
· The input to the CRC routines can now be bytes or strings.
· The symbol table was reorganised. qm.py was updated.
January 5th, 2013
· Adds the experimental bitwise-expression generator target.
· Allows you to specify the --include option multiple times.
· Completely revisited and reworked documentation.
· Allows you to abbreviate the names of the algorithms.
· Minor documentation changes.
October 22nd, 2012
· This version improves Python3 compatibility. pycrc now requires Python 2.6 or later.
· A wrong "check" value of the crc-64-jones model has been fixed.
· sprintf() is now used for C89 code instead of snprintf().
· The regression test script has been rewritten in Python.
February 14th, 2012
· It adds the CRC models crc-12-3gpp, crc-16-genibus, crc-32-bzip2, and crc-64-xz.
· It fixes some bad-looking generated C code, and cleans up some mistakes in the man page and some inefficient code in the CRC code generator.
December 9th, 2011
· This release fixes a few smaller issues in the code generator.
· It no longer includes stdint.h for C89/ANSI code, removes an unused variable missed in the last version, and fixes a bug with C89 code for 64-bit CRCs.
February 14th, 2011
· Substituted the deprecated function atoi() with int(). Closes issue 3136566. Thanks to Tony Smith.
· Updated the documentation with a Windows-style call of the python interpreter.
· Fixed a few coding style issues found by pylint and pychecker.
October 22nd, 2010
· This version fixes a minor bug in the command line parsing of the generated main function.
· The python code uses integer division for Python3 compatibility.
· A complete rewrite of the internal macro language and code generator.
March 29th, 2010
· The table-driven algorithm can handle widths that are not byte-aligned as well as widths less than 8.
· Removed half-baken and confusing --direct option. Closes issue 2938846.
· Code clean-up; the generated C code should no more generate warnings about unused variables.
January 25th, 2010
· Set xmodem parameters equal to zmodem params.
· Changed the xor-in value of the crc-64-jones model.
· Added crc-16-modbus model. Closes issue 2896611.
· pycrc now writes a warning message if an even polynom is used.
· Fix for unused variable argv. Closes issue 2893224. Thanks to Marko von Oppen.
October 26th, 2009
· The crc-64-jones model was added.
· crc-32mpeg was renamed to crc-32-mpeg.
October 1st, 2009
· This release fixes a bug that caused the Python table-driven code to not be evaluated at all.
April 6th, 2009
· added crc-32mpeg model. Thanks to Thomas Edwards.
February 28th, 2009
· This release adds a --direct option. Now it is possible to select 'direct' and 'not direct' versions of the algorithm.
· It adds a --check-hexstring option. With this option, it is possible to check a hexadecimal number on-the-fly. This closes issue 2545183.
· A check has been added for extra arguments on the command line. Previously, additional arguments were silently ignored. This closes issue 2545185.
December 12th, 2008
· The code should run on both Python 2.x and 3.0.
· A bug that gave wrong results on x64 platforms was fixed.
· A bug that raised an exception when an unknown model was selected was fixed.