*******************************************
** PluggableUserFolder V2.3.1 [R1 build 2004/02/08-07:38 by fermigier]

ZODB Requires:
~~~~~~~~~~~~~~
-
New features:
~~~~~~~~~~~~~
- CookieAuthentication can now be prevented from sending the password as a
  cookie. This prevents both the password being sent every request, as well
  as it's storage as a cookie on the client. Doing this is not compatible with
  ZEO, however, so it is only invoked when "ZEO Combatibility" is unchecked.
  
Bug fixes:
~~~~~~~~~~
- The clever Acquisition wrapping of LDAP users did not work. This prevented
  LDAP users from getting roles from groups.

New internal features:
~~~~~~~~~~~~~~~~~~~~~~
- The wrapping of the user in the user folder is now done by the user folder,
  and not by the plugin.

*******************************************
** PluggableUserFolder V2.3.0 [R1 build 2004-01/06-15:04 by anguenot]

Bug fixes:
~~~~~~~~~~
- CMFPatch wasn't checking nicely the CPSCore patch of CPS3
- Working with CPS3 

New internal features:
~~~~~~~~~~~~~~~~~~~~~~
- Definition of a new method for CPS3 : mergedLocalRolesWithPath.
*******************************************
** PluggableUserFolder V2.2.1 [R1 build 2003/11/27-22:56 by fermigier]

Bug fixes:
~~~~~~~~~~
- InternalAuthentication.py: Fix bug found by unit test: add
  acquisition wrapper to user returned by getUser().
- PluggableUserFolder.py: Fixed a serious bug that made
  SimpleIdentification fail unless it was first in line.
- SimpleGroupRoles.py: If the role attrubute was set to None, this
  plugin failed. Now it handles any kind of "emptyness", like None,
  '', or {} equally.
- InternalAuthentication.py: getUsers must also wrap the users.


*******************************************
** PluggableUserFolder V2.2.0 [R1 build 2003/11/06-17:35 by regebro]

New features:
~~~~~~~~~~~~~
- Interface change: Added 'getLocalGroups' to IGroupPlugin to
  get a list of groups that are active on the object.

- Interface change:  Made 'object' a necessary parameter for
  getUsersWithRoles on IRolePlugin.

Bug fixes:
~~~~~~~~~~
- SimpleGroupRoles has some bugs in the getUsersWithRoles method.

- PluggableUser now adds the 'user:' prefix in the right
  places to be compatible with CMF/CPS.

- mergedLocalRoles when called with withgroups=1 will now no longer
  expand groups into users, but add the Groups to the result, as CPS
  expects.

*******************************************
** PluggableUserFolder V2.1.1 [R1 build 2003/11/05-18:07 by regebro]

Bug fixes:
~~~~~~~~~~
- Fixed a spelling error

- SimpleGroupsRoles has a bug when calling AcquiredGroups.

- getGroupsForUser returned a list. Some CMF/CPS code assumed it
  to be a tuple, so I changed that.

New internal features:
~~~~~~~~~~~~~~~~~~~~~~
- The magic _v_acl_users is no longer used, instead, Acquisition is
  used to find the userfolder. This requires all plugins to make sure
  that the user is properly acquisition wrapped before returning it.

- Changed the PluggableUserWrapper from a gettattr wrapper to an
  acquisition wrapper.

*******************************************
** PluggableUserFolder V2.1.0 [R1 build 2003-10/07-16:08 by regebro]

New features:
~~~~~~~~~~~~~
- The group support API has been generalized to accomodate multiple group
  support implementations. mergedLocalRoles() should now be imported from
  Products.CMFCore.utils and _getAllowedRolesAndUsers() and
  _allowedRolesAndUsers() should now be imported from Products.CPSCore.utils.

Bug fixes:
~~~~~~~~~~
- A bug that appeared with LDAPLogin when you log in with a non-LDAP user
  and has LDAPLogin first in the path fixed.
- A bug in mergedLocalRoles() when there was no roles plugins solved.

*******************************************
** PluggableUserFolder V2.0.0 [R1 build 2003-09/15-16:30 by regebro]

ZODB Requires:
~~~~~~~~~~~~~~
- Having NuxUserGroups / UserFolderWithGroups installed together
  with PluggableUserFolder is no longer supported.

New features:
~~~~~~~~~~~~~
- Full group plugins support.
- A SimpleGroups plugin that works as most Zope groups.
- CPS support for Simple Groups, giving PluggableUserFolder equal CPS
  functionality as UserFolderWithGroups

Bug fixes:
~~~~~~~~~~
- Fix copyright attribution

New internal features:
~~~~~~~~~~~~~~~~~~~~~~
- All modules now take their logging imports from PluggableUserFolder.
  If you set the environment variable ZOPE_PLUGGABLE_LOGGING to OFF it
  will in turn replace the LOG() method with a method of it's own that
  simply passes on everything, so no logging happens.
  This way, you can use PluggableUserFolder and have the log level
  set to debug without PluggableUserFolder drowning out your DEBUG
  messages.
- A new object PluggableUserWrapper is created. This is used when you want
  to wrap an existing UserFolder that uses it's own user classes, like
  LDAPUserFolder. 
*******************************************
** PluggableUserFolder V1.4.1 [R1 build 2003-08/28-13:03 by regebro]

*******************************************
** PluggableUserFolder V1.4.0 [R1 build 2003-08/28-12:42 by regebro]

New features:
~~~~~~~~~~~~~
- A new plugin LDAP Login, will authenticate users over LDAP,
  but not list users.

Bug fixes:
~~~~~~~~~~
- Deleting users called read only plugins.
*******************************************
** PluggableUserFolder V1.3.1 [R1 build 2003-08/21-10:42 by regebro]

Bug fixes:
~~~~~~~~~~
- Works better with CPS2's assumption of group support.
*******************************************
** PluggableUserFolder V1.3.0 [R1 build 2003-07/03-13:55 by regebro]

New features:
~~~~~~~~~~~~~
- You can now set and ID when creating LDAP plugins, to have several separate
  LDAP plugins.

*******************************************
** PluggableUserFolder V1.2.0 [R1 build 2003-06/13-14:21 by regebro]

New features:
~~~~~~~~~~~~~
- Support for ordering plugins

*******************************************
** PluggableUserFolder V1.1.0 [R1 build 2003-06/13-12:19 by regebro]

New features:
~~~~~~~~~~~~~
- Added support for Cookie Crumbler.

*******************************************
** PluggableUserFolder V1.1.0 [R1 build 2003-06/13-12:15 by regebro]

