0.3
---

- Python 3 is now supported! This is possible thanks to python-ldap supporting
  python 3

- BREAKING CHANGE: pyramid_ldap now depends on python-ldap >= 3.0, which
  supports python 2 and 3. If you upgrade pyramid_ldap without upgrading
  python-ldap, you will see failures where python-ldap receives text arguments
  instead of bytes. See below for more information.

- python-ldap >= 3.0 stopped accepting ``bytes`` type arguments for many
  ``LDAPObject`` methods. We now use the ``pyramid.compat.text_`` function to
  support text arguments for python 2 and 3.

- In versions 0.2 and lower, invalid LDAP strings passed to
  ``pyramid_ldap.Connector.authenticate`` would raise ``ldap.FILTER_ERROR``. In
  0.3 and up we use ``ldap.filter.escape_filter_chars`` to properly escape these
  prior to running the LDAP search. Applications using pyramid_ldap have always
  been responsible for making sure the ``login`` value fits the
  ``ldap.login_filter_tpl`` setting in their application. However, if you relied
  on ``ldap.FILTER_ERROR`` to catch bad username formats (such as
  ``CORP\username``, where the unescaped ``\`` is disallowed in LDAP searches),
  note that now ``authenticate`` will return ``None`` instead.

- Use tox for testing against Python 2.7, 3.6, PEP8, coverage and building
  docs. Setup Travis CI to run tox. Use pylons-sphinx-themes to fix broken
  Read The Docs builds.
  See: https://github.com/Pylons/pyramid_ldap/pull/22

0.2
---

- Prevent the use of zero-length password authentication.
  See: https://github.com/Pylons/pyramid_ldap/pull/13

0.1
---

-  Initial version
