Switch branches/tags
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
173 lines (163 sloc) 8.24 KB

Net::LDAP 0.2.2 / 2011-03-26

  • Bug Fixes:

    • Fixed the call to Net::LDAP.modify_ops from Net::LDAP#modify.

Net::LDAP 0.2.1 / 2011-03-23

  • Bug Fixes:

    • Net::LDAP.modify_ops was broken and is now fixed.

Net::LDAP 0.2 / 2011-03-22

  • 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#~@ to prevent those operators from having problems with the private new.

      • 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 rfc4515.

      • 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:=Fred 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 effectively.

    • 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 used.

    • 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 [value].flatten(1).

    • 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 license.

Net::LDAP 0.1.1 / 2010-03-18

  • Fixing a critical problem with sockets.

Net::LDAP 0.1 / 2010-03-17

  • Small fixes throughout, more to come.

  • Ruby 1.9 support added.

  • Ruby 1.8.6 and below support removed. If we can figure out a compatible way to reintroduce this, we will.

  • New maintainers, new project repository location. Please see the README.txt.

Net::LDAP 0.0.5 / 2009-03-xx

  • 13 minor enhancements:

    • Added Net::LDAP::Entry#to_ldif

    • Supported rootDSE searches with a new API.

    • Added [preliminary (still undocumented) support for SASL authentication.

    • Supported several constructs from the server side of the LDAP protocol.

    • Added a “consuming” String#read_ber! method.

    • Added some support for SNMP data-handling.

    • Belatedly added a patch contributed by Kouhei Sutou last October. The patch adds start_tls support.

    • Added Net::LDAP#search_subschema_entry

    • Added Net::LDAP::Filter#parse_ber, which constructs Net::LDAP::Filter objects directly from BER objects that represent search filters in LDAP SearchRequest packets.

    • Added Net::LDAP::Filter#execute, which allows arbitrary processing based on LDAP filters.

    • Changed Net::LDAP::Entry so it can be marshalled and unmarshalled. Thanks to an anonymous feature requester who only left the name “Jammy.”

    • Added support for binary values in Net::LDAP::Entry LDIF conversions and marshalling.

    • Migrated to 'hoe' as the new project droid.

  • 14 bugs fixed:

    • Silenced some annoying warnings in filter.rb. Thanks to “barjunk” for pointing this out.

    • Some fairly extensive performance optimizations in the BER parser.

    • Fixed a bug in Net::LDAP::Entry::from_single_ldif_string noticed by Matthias Tarasiewicz.

    • Removed an erroneous LdapError value, noticed by Kouhei Sutou.

    • Supported attributes containing blanks (cn=Babs Jensen) to Filter#construct. Suggested by an anonymous Rubyforge user.

    • Added missing syntactic support for Filter ANDs, NOTs and a few other things.

    • Extended support for server-reported error messages. This was provisionally added to Net::LDAP#add, and eventually will be added to other methods.

    • Fixed bug in Net::LDAP#bind. We were ignoring the passed-in auth parm. Thanks to Kouhei Sutou for spotting it.

    • Patched filter syntax to support octal XX codes. Thanks to Kouhei Sutou for the patch.

    • Applied an additional patch from Kouhei.

    • Allowed comma in filter strings, suggested by Kouhei.

    • 04Sep07, Changed four error classes to inherit from StandardError rather Exception, in order to be friendlier to irb. Suggested by Kouhei.

    • Ensure connections are closed. Thanks to Kristian Meier.

    • Minor bug fixes here and there.

Net::LDAP 0.0.4 / 2006-08-15

  • Undeprecated Net::LDAP#modify. Thanks to Justin Forder for providing the rationale for this.

  • Added a much-expanded set of special characters to the parser for RFC-2254 filters. Thanks to Andre Nathan.

  • Changed Net::LDAP#search so you can pass it a filter in string form. The conversion to a Net::LDAP::Filter now happens automatically.

  • Implemented Net::LDAP#bind_as (preliminary and subject to change). Thanks for Simon Claret for valuable suggestions and for helping test.

  • Fixed bug in Net::LDAP#open that was preventing #open from being called more than one on a given Net::LDAP object.

Net::LDAP 0.0.3 / 2006-07-26

  • Added simple TLS encryption. Thanks to Garett Shulman for suggestions and for helping test.

Net::LDAP 0.0.2 / 2006-07-12

  • Fixed malformation in distro tarball and gem.

  • Improved documentation.

  • Supported “paged search control.”

  • Added a range of API improvements.

  • Thanks to Andre Nathan,, for valuable suggestions.

  • Added support for LE and GE search filters.

  • Added support for Search referrals.

  • Fixed a regression with openldap 2.2.x and higher caused by the introduction of RFC-2696 controls. Thanks to Andre Nathan for reporting the problem.

  • Added support for RFC-2254 filter syntax.

Net::LDAP 0.0.1 / 2006-05-01

  • Initial release.

  • Client functionality is near-complete, although the APIs are not guaranteed and may change depending on feedback from the community.

  • We're internally working on a Ruby-based implementation of a full-featured, production-quality LDAP server, which will leverage the underlying LDAP and BER functionality in Net::LDAP.

  • Please tell us if you would be interested in seeing a public release of the LDAP server.

  • Grateful acknowledgement to Austin Ziegler, who reviewed this code and provided the release framework, including minitar.