PyCrypto v1.9.alpha2 Release Notes
-
* (Backwards incompatible) The old Crypto.Hash.HMAC module is gone, replaced by a copy of hmac.py from Python 2.2's standard library. It will display a warning on interpreter versions older than 2.2. * (Backwards incompatible) Restored the Crypto.Protocol package, and modernized and tidied up the two modules in it, AllOrNothing.py and Chaffing.py, renaming various methods and changing the interface. * (Backwards incompatible) Changed the function names in Crypto.Util.RFC1751. * Restored the Crypto.PublicKey package at user request. I think I'll leave it in the package and warn about it in the documentation. I hope that eventually I can point to someone else's better public-key code, and at that point I may insert warnings and begin the process of deprecating this code. * Fix use of a Python 2.2 C function, replacing it with a 2.1-compatible equivalent. (Bug report and patch by Andrew Eland.) * Fix endianness bugs that caused test case failures on Sparc, PPC, and doubtless other platforms. * Fixed compilation problem on FreeBSD and MacOS X. * Expanded the test suite (requires Sancho, from http://www.mems-exchange.org/software/sancho/) * Added lots of docstrings, so 'pydoc Crypto' now produces helpful output. (Open question: maybe *all* of the documentation should be moved into docstrings?) * Make test.py automatically add the build/* directory to sys.path. * Removed 'inline' declaration from C functions. Some compilers don't support it, and Python's pyconfig.h no longer tells you whether it's supported or not. After this change, some ciphers got slower, but others got faster. * The C-level API has been changed to reduce the amount of memory-to-memory copying. This makes the code neater, but had ambiguous performance effects; again, some ciphers got slower and others became faster. Probably this is due to my compiler optimizing slightly worse or better as a result. * Moved C source implementations into src/ from block/, hash/, and stream/. Having Hash/ and hash/ directories causes problems on case-insensitive filesystems such as Mac OS. * Cleaned up the C code for the extensions.