----------------
- 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