----------------------------------------------------------------
Released 2.0.0pre14 2003-10-03

Changes since 2.0.0pre13:

setup.py:
* Some modifications to ease building for Win32
* Added directory Build/ mainly intended for platform-specific
  examples of setup.cfg
* Fixed installing ldap.filter

ldap.ldapobject:
* Added class attribute LDAPObject.network_timeout mapped to
  set_option(ldap.OPT_NETWORK_TIMEOUT,..)
* LDAPObject.search_ext(): Pass arguments serverctrls,clientctrls
  to _ldap.search_ext()

ldap.sasl:
* Added class ldap.sasl.external for handling
  the SASL mechanism EXTERNAL
* Dictionary ldap.sasl.saslmech_handler_class built during import
  for all the known SASL mechanisms derived from class definitions

ldap.schema:
* More graceful handling of KeyError in SubSchema.attribute_types()
* New method SubSchema.get_inheritedattr() for retrieving inherited
  class attributes
* New method SubSchema.get_inheritedobj() for retrieving a
  schema element instance including all inherited class attributes

----------------------------------------------------------------
Released 2.0.0pre13 2003-06-02

Changes since 2.0.0pre12:

ldap.async:
* Checking type of argument writer_obj relaxed in
  LDIFWriter.__init__() since file-like objects are
  not necessarily an instance of file.

ldap.schema:
* ldap.schema.subentry.SubSchema.attribute_types() now correctly
  handles attribute types without NAME set
* If SUP is not defined for a structural object class 'top' is
  assumed to be the only super-class by default
* '_' is now the abstract top node in SubSchema.tree() for all
  schema element classes since ABSTRACT and AUXILIARY object
  classes are not derived from 'top' by default

----------------------------------------------------------------
Released 2.0.0pre12 2003-05-27

Changes since 2.0.0pre11:

New sub-module ldap.filter:
* Added functions escape_filter_chars() and filter_format()

ldap.ldapobject:
* Trace log writes LDAP URI of connection instead of module name
* search_s() passes self.timeout as argument timeout when
  calling search_ext_s()
* Key-word arguments for simple_bind() and simple_bind_s()
  with defaults for anonymous bind.
* LDAPObject.protocol_version is set to LDAPv3 as default
  (this might make code changes necessary in a real LDAPv2
   environment)
* Default for key-word argument trace_stack_limit passed to
  __init__() is 5
* Updated __doc__ strings
* Aligned and tested ReconnectLDAPObject and SmartLDAPObject

ldap.async:
* LDIFWriter uses ldif.LDIFWriter instead of calling
  function ldif.CreateLDIF
* LDIFWriter accepts either file-like object or ldif.LDIFWriter
  instance as argument for specifying the output

ldif:
* Abandoned argument all_records of LDIFRecordList.__init__()

ldapurl:
* urllib.unquote() used instead of urllib.unquote_plus()

----------------------------------------------------------------
Released 2.0.0pre11 2003-05-02

Changes since 2.0.0pre10:

ldap.ldapobject:
* Cosmetic change: Named argument list for LDAPObject.compare()
  instead of *args,**kwargs.
* Fixed bug in ReconnectLDAPObject._apply_method_s() affecting
  compability with Python 2.0. The bug was introduced with
  2.0.0pre09 by dropping use of apply().

ldap.modlist:
* modifyModlist(): Only None is filtered from attribute value lists,
  '' is preserved as valid attribute value. But filtering applies
  to old_value and new_value now.

ldap.schema:
* Zero-length attribute values for schema elements are ignored
  (needed on e.g. Active Directory)

dsml:
Added support for parsing and generating DSMLv1.
Still experimental though.


----------------------------------------------------------------
Released 2.0.0pre10 2003-04-19

Changes since 2.0.0pre09:

ldap.schema:
* Emulate BooleanType for compability with Python2.3 in assert
  statements

----------------------------------------------------------------
Released 2.0.0pre09 2003-04-19

Changes since 2.0.0pre08:

Modified setup.py to support Cyrus-SASL 2.x.

ldap.ldapobject:
* apply() is not used anymore since it seems deprecated
* Fixed __setstate__() and __getstate__() of ReconnectLDAPObject

ldap.schema:
* Completed classes for nameForms, dITStructureRules and
  dITContentRules

----------------------------------------------------------------
Released 2.0.0pre08 2003-04-11

Changes since 2.0.0pre07:

ldap.schema:
* For backward compability with Python versions prior to 2.2
  Lib/ldap/schema/tokenizer.py and Lib/ldap/schema/models.py use
  (()) instead of tuple() for creating empty tuples.

----------------------------------------------------------------
Released 2.0.0pre07 2003-04-03

Changes since 2.0.0pre06:

LDAPObject.c:
  * Wrapped OpenLDAP's ldap_search_ext()
  * Removed empty __doc__ strings
  * Removed fileno
  * Removed all stuff related to caching in OpenLDAP libs

ldap.ldapobject:
  * Fixed SASL rebind in ldap.ldapobject.ReconnectLDAPObject
  * use search_ext() instead ldap_search()
  * new class attribute timeout for setting a global time-out
    value for all synchronous operations

ldap.schema:
* Fixed two typos in ldap.schema.models
* Some attempts to improve performance of parser/tokenizer
* Completely reworked to have separate OID dictionaries for
  the different schema element classes
* Fixed the Demo/schema*.py to reflect changes to ldap.schema

Documentation updates and various __doc__ string modifications.

ldapurl:
  * Removed all Unicode stuff from module ldapurl
  * Consistent URL encoding in module ldapurl

ldif:
  * Removed ldif.FileWriter
  * Proper handling of FILL (see RFC 2849)

----------------------------------------------------------------
Released 2.0.0pre06 2002-09-23

Changes since 2.0.0pre05:
- Fine-grained locking when linking against libldap_r
- New wrapper class ldap.ReconnectLDAPObject
- Security fix to module ldapurl
- Other fixes and improvements to whole package
- LDAPv3 schema support
  (still somewhat premature and undocumented)

----------------------------------------------------------------
Released 2.0.0pre05 2002-07-20

----------------------------------------------------------------
Released 2.0.0pre04 2002-02-09

----------------------------------------------------------------
Released 2.0.0pre02 2002-02-01

----------------------------------------------------------------
Released 1.10alpha3 2000-09-19

$Id: CHANGES,v 1.44 2003/10/03 12:46:19 stroeder Exp $
