CHANGES.txt for the LDAPUserFolder

  This file contains change information for the LDAPUserFolder product.
  To see changes made to revisions prior to the latest version see
  HISTORY.txt.

  2.8 (2007/06/13)

    **NOTE**: In order to use the LDAP-based CMF membership components
              you need CMF version 1.6 or higher.

    Bugs fixed

      - ensure CMF tool unit tests run against CMF 1.6 and up

      - cmfldap skins: Replace the non-working skin scripts with a set
        based on CMF 1.6.

      - LDAPUserFolder/LDAPDelegate: Change the hash key generation which
        produces the keys used for caching to use random numbers instead
        of time-based hashes. LDAPUserFolder will also generate a new hash
        key whenever Zope is restarted.
        (http://www.dataflake.org/tracker/issue_00535)

      - LDAPDelegate._connect: We now check to see if a new requested
        connection is known to our configuration by checking the 
        connection string against the saved server information in order to
        prevent reusing connections instantiated while handling
        ldap.REFERRAL exceptions, spotted by Riccardo Lemmi.
        (http://www.dataflake.org/tracker/issue_00548)

      - utils: _verifyUnicode was faulty and would return non-unicode
        if the input was not simple ascii or a unicode object. Kudos for
        the discovery to Godefroid Chapelle.

      - LDAPUserFolder.searchUsers: Faulty code would cause an exception
        if the LDAP delegate returned a failed search with exception
        information, discovered by Andreas Gabriel.

      - LDAPUserFolder.getGroupDetails: Removed a hardcoded list of possible
        group member attributes and replaced it with utils.GROUP_MEMBER_MAP,
        which is used anywhere else. Good spot from Helge Tesdal.
        (http://www.dataflake.org/tracker/issue_00560)

      - LDAPUserSatellite.getGroups and LDAPUserSatellite.getAdditionalRoles:
        Replace occurrences of hardcoded group member attributes with usage
        of utils.GROUP_MEMBER_MAP, also suggested by Helge Tesdal.

    Other

      - Removed Zope 2.7 compatibility code and cleaned up imports

      - Removed compatibility code for CMF < 1.6


  2.8-beta (2006/10/16)

    **NOTE**: The python-ldap requirement is now version 2.0.6 or higher

    Bugs fixed

      - Fixed a broken security declaration for searchGroups and a 
        left-over form tag in the Users tab (thanks to Klaus Barthelmann)

      - LDAPDelegate.modify would attempt to modify a LDAP record even
        if the list of modifications was empty. This is now logged without
        any further call to python-ldap to prevent some servers from
        throwing UNWILLING_TO_PERFOM.
        (http://www.dataflake.org/tracker/issue_00528)

      - DNs were not properly escaped for such edge cases that needed
        escaping, like values starting with "#".
        (http://www.dataflake.org/tracker/issue_00507)

      - Changes in GenericSetup meant attempting to register the extension
        profile for installing the CMFLDAP tools would fail in CMF >= 1.6.

      - Group deletion for groups with non-ASCII and non-UTF8 characters
        was broken, discovered by Eric Brun
        (http://www.dataflake.org/tracker/issue_00527)

      - Unforeseen software combinations, such as CMF < 1.6 in combination 
        with GenericSetup could prevent Zope from starting up because the
        LDAPUserFolder initialization module would throw an error.
