- Drop support for ``crypt`` password manager. Its base library is long deprecated and was removed in Python 3.13.
5.0
================
- Add support for Python 3.11. 3.12, 3.13.
- Drop support for Python 2.7, 3.5, 3.6, 3.7, 3.8.
4.4
================
- Add support for Python 3.7, 3.8, 3.9, 3.10.
- Drop support for Python 3.4.
4.3.1
==================
- Fix running ``configure.zcml`` when ``zope.security`` is installed. See `issue 15 <https://github.com/zopefoundation/zope.password/issues/15>`_.
4.3.0
==================
- Added a ``bcrypt``-based password manager (available only if the `bcrypt <https://pypi.python.org/pypi/bcrypt>`_ library is importable). This manager can also check passwords that were encoded with `z3c.bcrypt <https://pypi.python.org/pypi/z3c.bcrypt>`_. If that package is *not* installed, then ``configure.zcml`` will install this manager as a utility with both the ``BCRYPT`` (preferred) and ``bcrypt`` names for compatibility with it. (See https://github.com/zopefoundation/zope.password/issues/10)
- Add a ``bcrypt_kdf`` password manager. This allows tunable numbers of rounds. See https://github.com/zopefoundation/zope.password/issues/9
- Fix the ``zpasswd`` console script on Python 3.
- Update the ``zpasswd`` script to use ``argparse`` instead of ``optparse.``
- Use ``hmac.compare_digest`` when checking passwords to prevent timing analysis. This requires Python 2.7.7 or above.
- Add support for Python 3.6.
- Drop support for Python 3.3 and Python 2.7.6 and below.