2.6.1:
- tested against pyasn1 0.4.7
- added eDirectory 9.1.4 (EDIR_9_1_4) to offline schemas
- added json converter for timedelta
- strip parameter defaults to False in utils.dn.parse_dn()
- escaped space is allowed as trailing character in attribute_value in utils.dn.parse_dn()
- connection.extend.standard.paged_search doesn't raise exceptions when raise_exceptions is False
- the Search operation returns the entries fetched by the server when size or time limits are reached even if raise_exceptions is set to True
- Handle the minimum value that can be stored in an Int64 in format_ad_timedelta
- EntryState: `entry_raw_attributes` is populated instead of `raw_attributes`
- Removed restriction to perform rename and move simultaneously in modify_dn
- fixed checking for hexdigits in parse_dn
- fixed escaping when multiple backslashes are present in parse_dn
- fixed multiple NoneType exceptions in entry_to_json()
- allowing Microsoft specific syntax (<WKGUID=xxx>) for WellKnownObjects in DN
- connection.extend.standard.paged_search() now follows referrals when auto_referrals=True
- fixed a bug in decoding replica list in connection.extend.novell.list_replicas()
- fixed a bug when adding duplicate alias in CaseInsensitiveWithAliasDict()
- added ignore_duplicates=False in set_aliases in CaseInsensitiveWithAliasDict() to ignore a duplicate alias (either in aliases or in keys)
- Schema info now uses CaseInsensitiveWithAlias dict as default so object and attributes can also be referentiated with OID
- added block mode and timeout parameters to next() method of persistent_search
- when using the pyasn1 decoder raw_dn is not returned as a pyasn1 object anymore but as bytes
- Return offset timezone aware datetime for max AD timestamp
2.4:
security fix in the rebind() method of the Connection object (thanks Daniel)
fix for Sasl credentials in Python 3 (thanks Busuwe)
fixed bug when checking for equality in MockBase
added validator parameter to Server object for custom validators
attribute values are now validated in add/compare/modify operations in the Connection object
Python types can now be used in add/compare/modify operations
compatible with the pyasn1 library from version 0.1.8 up to latest (0.3.3 for now) version
fixed compatibility with Twisted on Windows on Python 2.7 (thanks Pmisik)
fixed paged_search behaviour in Reader object
fixed regression in MockBase (thanks Markus)
fixed invalid filter sequence in MockBase (thanks SignedBit)
added compatibility with Cython (thanks Pedro)
fixed auto_encode check in validate_attribute_value for unknown attrs (thanks CFelder)
don’t encode response_value as extended_response_to_dict expects a decoded value (thanks Matthias)
compatible with the pyasn1 library from version 0.1.8 up to latest (0.3.7 for now) version
added LDAPObjectDereferenceError exception
LDAPObjectDereferenceError is raised when an object tries to dereference itself in the Abstraction Layer (thanks Daniele)
async module renamed to asynchronous for compatibility with Python 3.7 (thank Barry)
long integer are properly checked in mocking strategies (thanks gregn610)
NUMERIC_TYPES includes long for Python 2
abstraction layer query converts int values to string (thanks dgadmin)
CaseInsensitiveDictWithAlias doesn’t raise an exception anymore if alias is set multiple times to the same key
friendly names in AttrDef are properly managed when performing commits in Writer cursors
no more errors when server returns an empty schema (thanks Glen)
range attributes in entries are properly recognized when auto_range is False
fixed random errors in auto_range searches (thanks James)
fixed checking of malformed schema
added configuration parameter IGNORE_MALFORMED_SCHEMA to not raise exception for servers that don’t follow the LDAP RFCs (defaults to False)
test config moved to test/config.py
testcase_id generated randomly for each test
added ATTRIBUTES_EXCLUDED_FROM_OBJECT_DEF parmeter to exclude some attribute from automatic populate of ObjectDef in Abstract Layer (helpful for AD)
added IGNORED_MANDATORY_ATTRIBUTES_IN_OBJECT_DEF parmeter to exclude some attribute from mandatory attribute list in ObjectDef in Abstract Layer (helpful for AD)
fixed error when using implicit assigning in WritableEntry
added LDAPInvalidValueError Exception
in Python 3 byte filter are converted to unicode before parsing
RESPONSE_DN_ENCODING parameter renamed to ADDITIONAL_ENCODINGS
to_unicode(value, encoding=None, additional_encodings=False) now checks for additional encoodings in ADDITIONAL_ENCODINGS list if additional_encoding is set to True
Reusable strategy uses not lazy Restartable connections
new packages. Most of which are the remaining modules of the Tryton
platform which weren't packaged. The others are dependencies of the new
modules. This was tested on FreeBSD and is based in large part on Richard
Palo's (richard@) work. This is the most recent release of the Tryton
platform, version 4.2. There's a very large list of changes from the 3.8
series we have in pkgsrc. If you're interested, those functional changes
can be found here:
http://www.tryton.org/posts/new-tryton-release-42.htmlhttp://www.tryton.org/posts/new-tryton-release-40.html