[python-ldap] ANN: python-ldap 3.3.0
Petr Viktorin
pviktori at redhat.com
Thu Jun 18 10:19:17 EDT 2020
After a long delay, you can find a new release of python-ldap here:
https://pypi.python.org/pypi/python-ldap/3.3.0
Notable changes since 3.2.0 are:
* LDAPError now contains additional fields, such as ctrls, result, msgid
* passwd_s can now extract the newly generated password
* LDAP connections can now be made from a file descriptor
This is the last 3.x release of python-ldap to support CPython 2.7, 3.4
and 3.5, which are past or near end-of-life. For information on
supported CPython versions, see:
https://devguide.python.org/#status-of-python-branches
https://devguide.python.org/devcycle/#end-of-life-branches
If you find any issues, please report them either on this mailing list
or on the GitHub tracker:
https://github.com/python-ldap/python-ldap/issues
Git tag hash for the release:
python-ldap-3.3.0 e885b621562a3c987934be3fba3873d21026bf5c
The tag is signed by my GPG key with fingerprint:
AD4D FBDB 5D40 4CA8 0600 A5F4 0BA8 70E7 9E17 2F37
--------
About the project:
python-ldap provides an object-oriented API to access LDAP directory
servers from Python programs. It mainly wraps the OpenLDAP 2.x libs
for that purpose. Additionally it contains modules for other
LDAP-related stuff (e.g. processing LDIF, LDAP URLs and LDAPv3
schema).
Project's web site:
https://www.python-ldap.org/
--------
Released 3.3.0 2020-06-18
Highlights:
* ``LDAPError`` now contains additional fields, such as ctrls, result, msgid
* ``passwd_s`` can now extract the newly generated password
* LDAP connections can now be made from a file descriptor
This release is tested on Python 3.8, and the beta of Python 3.9.
The following undocumented functions are deprecated and scheduled for
removal:
- ``ldap.cidict.strlist_intersection``
- ``ldap.cidict.strlist_minus``
- ``ldap.cidict.strlist_union``
Modules/
* Ensure ReconnectLDAPObject is not left in an inconsistent state after
a reconnection timeout
* Syncrepl now correctly parses SyncInfoMessage when the message is a
syncIdSet
* Release GIL around global get/set option call
* Do not leak serverctrls in result functions
* Don't overallocate memory in attrs_from_List()
* Fix thread support check for Python 3
* With OpenLDAP 2.4.48, use the new header openldap.h
Lib/
* Fix some edge cases regarding quoting in the schema tokenizer
* Fix escaping a single space in ldap.escape_dn_chars
* Fix string formatting in ldap.compare_ext_s
* Prefer iterating dict instead of calling dict.keys()
Doc/
* Clarify the relationship between initialize() and LDAPObject()
* Improve documentation of TLS options
* Update FAQ to include Samba AD-DC error message
"Operation unavailable without authentication"
* Fix several incorrect examples and demos
(but note that these are not yet tested)
* Update Debian installation instructions for Debian Buster
* Typo fixes in docs and docstrings
Test/
* Test and document error cases in ldap.compare_s
* Test if reconnection is done after connection loss
* Make test certificates valid for the far future
* Use slapd -Tt instead of slaptest
Infrastructure:
* Mark the LICENCE file as a license for setuptools
* Use "unittest discover" rather than "setup.py test" to run tests
More information about the python-ldap
mailing list