Net::LDAP 0.5.0 / 2013-07-22
- Major changes:
- Required Ruby version is >=1.9.3
- Major enhancements:
- Added alias dereferencing (@ngwilson)
- BER now unescapes characters that are already escaped in the source string
(@jzinn)
- BerIdentifiedString will now fall back to ASCII-8 encoding if the source
Ruby object cannot be encoded in UTF-8 (@lfu)
- Bug fixes:
- Fixed nil variable error when following a reference response
(@cmdrclueless)
- Fixed FilterParser unable to parse multibyte strings (@satoryu)
- Return ConverterNotFound when dealing with a potentially corrupt data
response (@jamuc)
Net::LDAP 0.3.1 / 2012-02-15
- Bug Fixes:
- Bundler should now work again
Net::LDAP 0.3.0 / 2012-02-14
- Major changes:
- Now uses UTF-8 strings instead of ASCII-8 per the LDAP RFC
- Major Enhancements:
- Adding continuation reference processing
- Bug Fixes:
- Fixes usupported object type 139
- Fixes Net::LDAP namespace errors
- Return nil instead of an empty array if the search fails
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.
- 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.
- 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, andre@digirati.com.br, 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.