PackageTrack
Sign in Get early access

lber

An ASN.1/BER parser/encoder based on nom

0.5.1 4.5M downloads/mo #4746 most downloaded on crates.io inejge/ldap3

What this package is like to depend on

Last release 11 months ago

07 Sep 2025

Release timing varies

gaps range from 8 days to 2.3 years

Some releases are documented

notes for 4 of 11 stable releases

1 version withdrawn

withdrawn after publishing

9 years old

12 releases · first in 2017

2 releases in the last 12 months

see the full history below

Release timeline

12 releases · May 2017 to Sep 2025
2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 12
  1. 0.5.1 07 Sep 2025
    Release notes
    • An LDAP connection can be constructed with a pre-built TLS connector using LdapConnBuilder::with_tls_connector() (#11). This function is not publicly documented, to avoid fixing the API. The intent is to allow connections which need additional connector configuration, such as those to a server using a self-signed certificate.

    • The function ldap3::dn_escape() is provided to escape RDN values when constructing a DN (#13).

    Open source →
  2. 0.5.0 07 Sep 2025
    Release notes

    Changes are listed approximately in reverse chronological order. Since they are so numerous for this release, and many are breaking changes, please read them carefully.

    • Assertion, Pre- and Post-Read controls are implemented in-tree.

    • Ldap::with_controls() can also accept a single control, without the need to construct a vector.

    • [breaking change] Searches return a vector of ResultEntry elements, so the internal ASN.1 type is hidden. This changes the signature of SearchEntry::construct().

    • Control and exop implementations don't depend on internal traits and structs, enabling independent third-party development.

    • [breaking change] Exop and control handling is streamlined, but old parsing methods don't work any more. The signatures of Ldap::extended(), LdapConn::extended(), Ldap::with_controls() and LdapConn::with_controls() have changed.

    • LdapResult implements success(), which returns the structure itself if rc is zero, or an error if it's not. There's also non_error(), which also considers the value 10 (referral) as successful.

    • [breaking change] Compare returns CompareResult, a newtype of LdapResult which implements the equals() method, transforming compareFalse/compareTrue rc values to a boolean.

    • [breaking change] Non-streaming search returns a wrapper type, SearchResult. The success() method can be invoked on a value of this type, destructuring it to an anonymous tuple of a entry vector and result struct, and propagating error cases, as determined by LdapResult.rc, upward.

    • [breaking change] Async and sync search APIs are now aligned. Ldap::search() returns a future of the result entry vector, which it internally collects; what used to be Ldap::search() is now named Ldap::streaming_search().

    • [breaking change] Ldap::streaming_search() returns a future of just a SearchStream, instead of a tuple. The result receiver must be extracted from the stream instance with SearchStream::get_result_rx(). The receiver is also simplified, and now retrieves just the LdapResult.

    • [breaking change] LdapResult contains the response controls.

    • [breaking change] Ldap::abandon() accepts the msgid, not id. It's not meant to be called directly any more.

    • [breaking change] SearchStream::id() has been removed.

    • [breaking change] LdapConn::abandon() has been removed.

    • [breaking change] LdapResult.rc is now u32 (was: u8).

    • [breaking change] Ldap::connect() and Ldap::connect_ssl() have an additional parameter, an optional connection timeout.

    • Timeout support, which can be used both synchronously and asynchronously. Timeouts can be specified both for connection establishment and individual LDAP operations. For the first case, a connection must be constructed through LdapConnBuilder.

    • The function ldap3::ldap_escape() is provided to escape search literals when constructing a search filter.

    Open source →
  3. 0.4.2 08 Jun 2023
    Release notes
    • Documentation update.

    • Support for Unix domain sockets on Unix-like systems.

    • Support for SASL EXTERNAL binds, also limited to Unix-like systems for the time being, since they can only work on Unix domain socket connections (we can't use TLS client certs yet.)

    Open source →
  4. 0.4.0 20 Dec 2022
    Release notes

    First published version.

    Open source →
  5. 0.3.0 30 Dec 2020

    Nothing published for this version

  6. 0.2.0 01 May 2020

    Nothing published for this version

  7. 0.1.7 27 Apr 2020 withdrawn

    Nothing published for this version

  8. 0.1.6 25 Mar 2018

    Nothing published for this version

  9. 0.1.5 20 Jul 2017

    Nothing published for this version

  10. 0.1.4 12 May 2017

    Nothing published for this version

  11. 0.1.3 05 May 2017

    Nothing published for this version

  12. 0.1.2 03 May 2017

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive