1.3.0 - 2017-11-20 - Various improvements and cleanup ----------------------------------------------------- This release driven primarily by https://bitbucket.org/jdufresne/. - **Backwards incompatible**: Removed support for obsolete versions of Django (<=1.7, plus 1.9). - Fix `#58`_: Delay saving new users as long as possible. This will allow :setting:`AUTH_LDAP_USER_ATTR_MAP` to populate required fields before creating a new Django user. ``LDAPBackend.get_or_create_user()`` is now :meth:`~django_auth_ldap.backend.LDAPBackend.get_or_build_user` to avoid confusion. The old name may still be overridden for now. - Support querying by a field other than the username field with :setting:`AUTH_LDAP_USER_QUERY_FIELD`. - New method :meth:`~django_auth_ldap.backend.LDAPBackend.authenticate_ldap_user()` to provide pre- and post-authenication hooks. - Add support for Django 2.0. .. _#58: https://bitbucket.org/illocution/django-auth-ldap/issues/58/ 1.2.16 - 2017-09-30 - Minor fixes --------------------------------- - Fix `#86`_: Better cache key sanitizing. - Improved handling of LDAPError. A case existed where the error would not get caught while loading group permissions. .. _#86: https://bitbucket.org/illocution/django-auth-ldap/issues/86/ 1.2.15 - 2017-08-17 - Documentation improvements ------------------------------------------------ - Fix `#83`_: Improved documentation for finding the official repository and contributing. .. _#83: https://bitbucket.org/illocution/django-auth-ldap/issues/83/ 1.2.14 - 2017-07-24 - User DN caching ------------------------------------- - Fix `#82`_: Under search/bind mode, the user's DN will now be cached for performance. .. _#82: https://bitbucket.org/illocution/django-auth-ldap/issues/82/ 1.2.13 - 2017-06-19 - Selective group mirroring ----------------------------------------------- - Support selective group mirroring with :setting:`AUTH_LDAP_MIRROR_GROUPS` and :setting:`AUTH_LDAP_MIRROR_GROUPS_EXCEPT`. - Fix `#73`_: Work around Django 1.11 bug with multiple authentication backends. .. _#73: https://bitbucket.org/illocution/django-auth-ldap/issues/73/ 1.2.12 - 2017-05-20 - Complex group queries ------------------------------------------- - Support for complex group queries via :class:`~django_auth_ldap.config.LDAPGroupQuery`. 1.2.11 - 2017-04-22 - Testing and debugging cleanup --------------------------------------------------- - Some more descriptive object representations. - Improved tox.ini organization. 1.2.9 - 2017-02-14 - Fix python-ldap incompatibility ---------------------------------------------------- - Fix `#65`_: Ignore python-ldap documentation and accept :data:`ldap.RES_SEARCH_ENTRY` from :meth:`ldap.LDAPObject.result`. .. _#65: https://bitbucket.org/illocution/django-auth-ldap/issues/65/ 1.2.8 - 2016-04-18 - AUTH_LDAP_USER_ATTRLIST -------------------------------------------- - Add :setting:`AUTH_LDAP_USER_ATTRLIST` to override the set of attributes requested from the LDAP server. 1.2.7 - 2015-09-29 - Python 3 ----------------------------- - Support Python 3 with `pyldap `_. 1.2.6 - 2015-03-29 ------------------ - Performance improvements to group mirroring (from `Denver Janke `_). - Add :data:`django_auth_ldap.backend.ldap_error` signal for custom handling of :exc:`~ldap.LDAPError` exceptions. - Add :data:`django_auth_ldap.backend.LDAPBackend.default_settings` for per-subclass default settings. 1.2.5 - 2015-01-30 ------------------ - Fix interaction between :setting:`AUTH_LDAP_AUTHORIZE_ALL_USERS` and :setting:`AUTH_LDAP_USER_SEARCH`. 1.2.4 - 2014-12-28 - nisNetgroup support ---------------------------------------- - Add support for nisNetgroup groups (thanks to Christopher Bartz). 1.2.3 - 2014-11-18 ------------------ - Fix `#50`_: Improved escaping for filter strings. - Accept (and ignore) arbitrary keyword arguments to :meth:`~django_auth_ldap.backend.LDAPBackend.authenticate`. .. _#50: https://bitbucket.org/illocution/django-auth-ldap/issue/50/ 1.2.2 - 2014-09-22 ------------------ - Include test harness in source distribution. Some package maintainers find this helpful. 1.2.1 - 2014-08-24 ------------------ - More verbose log messages for authentication failures. 1.2 - 2014-04-10 ---------------- - django-auth-ldap now provides experimental Python 3 support. Python 2.5 was dropped. To sum up, django-auth-ldap works with Python 2.6, 2.7, 3.3 and 3.4. Since python-ldap isn't making progress toward Python 3, if you're using Python 3, you need to install a fork:: $ pip install git+https://github.com/rbarrois/python-ldap.git@py3 Thanks to `Aymeric Augustin `_ for making this happen. 1.1.8 - 2014-02-01 ------------------ * Fix `#43`_: Update :class:`~django_auth_ldap.config.LDAPSearchUnion` to work for group searches in addition to user searches. * Tox no longer supports Python 2.5, so our tests now run on 2.6 and 2.7 only. .. _#43: https://bitbucket.org/illocution/django-auth-ldap/issue/43/ 1.1.7 - 2013-11-19 ------------------ * Bug fix: :setting:`AUTH_LDAP_GLOBAL_OPTIONS` could be ignored in some cases (such as :func:`~django_auth_ldap.backend.LDAPBackend.populate_user`). 1.1.5 - 2013-10-25 ------------------ * Fix `#41`_: Support POSIX group permissions with no gidNumber attribute. * Support multiple group DNs for \*_FLAGS_BY_GROUP. .. _#41: https://bitbucket.org/illocution/django-auth-ldap/issue/41/ 1.1.4 - 2013-03-09 ------------------ * Add support for Django 1.5's custom user models. 1.1.3 - 2013-01-05 ------------------ * Fix `#33`_: Reject empty passwords by default. Unless :setting:`AUTH_LDAP_PERMIT_EMPTY_PASSWORD` is set to True, LDAPBackend.authenticate() will immediately return None if the password is empty. This is technically backwards-incompatible, but it's a more secure default for those LDAP servers that are configured such that binds without passwords always succeed. * Fix `#39`_: Add support for pickling LDAP-authenticated users. .. _#33: https://bitbucket.org/illocution/django-auth-ldap/issue/33/ .. _#39: https://bitbucket.org/illocution/django-auth-ldap/issue/39/ .. vim: ft=rst nospell tw=80