Changelog
=========

pysha3 1.1.0
------------

*Release date: 24-Dec-2016*

- Synchronize with Python 3.6.0 release

- Move all backport related additions to backport.inc

- Fix flake8 violations


pysha3 1.0b1
------------

*Release date: 01-May-2016*

- Update backend to use the latest Keccak Code Package. pysha3 now implements
  the official NIST standard. The old Keccak hashes are available with
  keccak prefix.

- Add SHAKE support.

- All sha3, shake and keccak variants are separate types instead of factory
  functions that return the same type.

- Drop Python 2.6 and Python 3.0 to 3.3 support.

- Fix typo that disabled threading optimization.

- Add vector files for additional tests.

- Add experimental HMAC support based on examples from
  http://wolfgang-ehrhardt.de/hmac-sha3-testvectors.html .

- Test hashing of unaligned data.

- Add ISO C11 memset_s() function as _Py_memset_s() in order to securely
  wipe memory that holds sensitive data. The page
  https://www.securecoding.cert.org/confluence/display/seccode/MSC06-C.+Be+aware+of+compiler+optimization+when+dealing+with+sensitive+data
  explains the motivation for memset_s().

- Add tox support.

- Add Travis and appveyor integration.

- Add _capacity_bits, _rate_bits and _suffix attributes for diagnostic
  purposes.


pysha3 0.3
----------

*Release date: 14-Oct-2012*

- Fix 64bit big endian support

- Add workaround for alignment error on 64bit SPARC machine by using the opt32
  implementation.

- block_size now returns NotImplemented to prevent users from using pysha3
  with the hmac module.


pysha3 0.2.2
------------

*Release date: 07-Oct-2012*

- Re-add brg_endian.h to fix issue on Solaris (big endian platform)


pysha3 0.2.1
------------

*Release date: 06-Oct-2012*

- Fix MANIFEST.in to include Makefile and tests.py

- Add setup.py test command with hack for inplace builds

- Enhance README.txt and fixed its markup


pysha3 0.2
----------

*Release date: 06-Oct-2012*

- Change directory struct to use the same directory layout as Python 3.4.

- Remove C++ comments from Keccak sources for ANSI C compatibility.

- Declare all Keccak functions and globals as static to avoid name clashes.

- Remove alias sha3() for sha3_512().

- Add block_size attribute. Keccak has a internal sponge size of 1600 bits.

- Release GIL around SHA3_update() calls.

- Monkey patch the hashlib module to support, e.g. hashlib.sha3_512() and
  hashlib.new("sha3_512")

- Release GIL around SHA3_update() when the data exceeds a certain size.

- Fix build on platforms with an unsigned 64bit integer type (uint64_t). The
  module falls back to 32bit implementation of Keccak with interleave tables.


pysha3 0.1
----------

*Release date: 04-Oct-2012*

- first release

- based on KeccakReferenceAndOptimized-3.2.zip

