[ANN] net-ldap 0.2 Released


Austin Ziegler

net-ldap version 0.2 has been released!

* <http://net-ldap.rubyforge.org/>
* <https://github.com/ruby-ldap/ruby-net-ldap>

Net::LDAP for Ruby (also called net-ldap) implements client access for
the Lightweight Directory Access Protocol (LDAP), an IETF standard
protocol for accessing distributed directory services. Net::LDAP is
written completely in Ruby with no external dependencies. It supports
most LDAP client features and a subset of server features as well.

Net::LDAP has been tested against modern popular LDAP servers including
OpenLDAP and Active Directory. The current release is mostly compliant
with earlier versions of the IETF LDAP RFCs (2251=962256, 2829=962830, 3377=
and 3771). Our roadmap for Net::LDAP 1.0 is to gain full <em>client</em>
compliance with the most recent LDAP RFCs (4510=964519, plus portions of


### Net::LDAP 0.2 / 2011-03-__
* Major Enhancements:
* Net::LDAP::Filter changes:
* Filters can only be constructed using our custom constructors (eq,
ge, etc.). Cleaned up the code to reflect the private new.
* Fixed #to_ber to output a BER representation for :ne filters.
Simplified the BER construction for substring matching.
* Added Filter.join(left, right), Filter.intersect(left, right), and
Filter.negate(filter) to match Filter#&, Filter#|, and Filter#[email protected]
to prevent those operators from having problems with the private
* Added Filter.present and Filter.present? aliases for the method
previously only known as Filter.pres.
* Added Filter.escape to escape strings for use in filters, based on
* Added Filter.equals, Filter.begins, Filter.ends and
Filter.contains, which automatically escape input for use in a
filter string.
* Cleaned up Net::LDAP::Filter::FilterParser to handle branches
better. Fixed some of the regular expressions to be more
canonically defined.
* Correctly handles single-branch branches.
* Cleaned up the string representation of Filter objects.
* Added experimental support for RFC4515 extensible matching (e.g.,
"(cn:caseExactMatch:=3DFred Flintstone)"); provided by "nowhereman".
* Net::LDAP::DN class representing an automatically
escaping/unescaping distinguished name for LDAP queries.
* Minor Enhancements:
* SSL capabilities will be enabled or disabled based on whether we can
load OpenSSL successfully or not.
* Moved the core class extensions extensions from being in the
Net::LDAP hierarchy to the Net::BER hierarchy as most of the methods
therein are related to BER-encoding values. This will make
extracting Net::BER from Net::LDAP easier in the future.
* Added some unit tests for the BER core extensions.
* Paging controls are only sent where they are supported.
* Documentation Changes:
* Core class extension methods under Net::BER.
* Extensive changes to Net::BER documentation.
* Cleaned up some rdoc oddities, suppressed empty documentation
sections where possible.
* Added a document describing how to contribute to Net::LDAP most
* Added a document recognizing contributors to Net::LDAP.
* Extended unit testing:
* Added some unit tests for the BER core extensions.
* The LDIF test data file was split for Ruby 1.9 regexp support.
* Added a cruisecontrol.rb task.
* Converted some test/unit tests to specs.
* Code clean-up:
* Made the formatting of code consistent across all files.
* Removed Net::BER::BERParser::TagClasses as it does not appear to be
* Replaced calls to #to_a with calls to Kernel#Array; since Ruby
1.8.3, the default #to_a implementation has been deprecated and
should be replaced either with calls to Kernel#Array or
* Modified #add and #modify to return a Pdu#result_code instead of a
Pdu#result. This may be changed in Net::LDAP 1.0 to return the full
Pdu#result, but if we do so, it will be that way for all LDAP calls
involving Pdu objects.
* Renamed Net::LDAP::psw to Net::LDAP::password with a corresponding
filename change.
* Removed the stub file lib/net/ldif.rb and class Net::LDIF.
* Project Management:
* Changed the license from Ruby + GPL to MIT with the agreement of the
original author (Francis Cianfrocca) and the named contributors.
Versions prior to 0.2.0 are still available under the Ruby + GPL
Austin Ziegler =95 (e-mail address removed) =95 (e-mail address removed)
http://www.halostatue.ca/ =95 http://twitter.com/halostatue


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question