Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…
Cannot retrieve contributors at this time
293 lines (189 sloc) 8.95 KB

v1.10.0 [2012-08-29] Michael Granger <>

  • Split out the shell tools into their own gem

v1.9.1 [2012-06-07] Michael Granger <>

  • Fix dependency on eliminated file.

v1.9.0 [2012-06-06] Michael Granger <>

  • Convert to Loggability for logging

  • Update README, use Fivefish if available.

v1.8.6 [2012-03-20] Michael Granger <>

  • Fix encoding of directory strings under Ruby 1.9 and newer versions of Ruby-LDAP.

  • Update the examples.

v1.8.5 [2012-03-07] Michael Granger <>

  • Fix an edge-case bug in LDIF-generation logic. Thanks to Mahlon E. Smith for the report and the pair to fix it.

v1.8.4 [2012-02-02] Michael Granger <>

  • Fixed a bug with handling of BOOLEAN values in Treequel::Model. Thanks to Patricio Bruna <> for the bug report.

v1.8.3 [2012-01-24] Michael Granger <>

  • A fix for Treequel::Model#save LDIF. Thanks to Patricio Bruna <> for pointing out the problem.

v1.8.2 [2011-12-19] Michael Granger <>

  • Fixing Treequel::Model#create by merging ADD and DELETE mods generated by #modifications.

  • Don't include non-lengthable ivars in Treequel::Schema#ivar_descriptions (thanks to Ben Bleything for reporting this).

v1.8.1 [2011-12-05] Michael Granger <>

  • Fixed #eql? implementation by using the hash-value instead of just comparing DNs.

v1.8.0 [2011-12-05] Michael Granger <>

  • Added signature for changeset fa0d500e2dee

v1.8.0 [2011-12-05] Michael Granger <>

  • Implemented #eql? for Treequel::Branch for correct behavior in Array#-, Hash#[], etc.

v1.7.2 [2011-11-30] Michael Granger <>

  • Added signature for changeset a8a3bca987c3

v1.7.2 [2011-11-29] Michael Granger <>

  • Add a workaround for Time objects used in generalizedTime fields, since Time has a #to_ary.

  • Columns down in treewhat output instead of columns across

  • Fix inheritance of syntax for datatype conversion

v1.7.1 [2011-11-28] Michael Granger <>

  • Modified filter expressions to eliminate unnecessary ORing

  • Efficiency fixes for Treequel::Model#modifications (delete/add -> replace)

  • Fixing missing DN attribute/s on Treequel::Model objects created via attribute traversal methods.

  • Log errors added during validation at ERROR level

v1.7.0 [2011-11-09] Michael Granger <>

  • Treat Treequel::Model#[]= with a nil value on a SINGLE-VALUE attribute as a delete.

  • Splat the filterspec used in Branchset#not to avoid unnecessary filter clauses.

  • Efficiency fix for Treequel::Branch#must_attribute_types

  • Removed some of the more-redundant/verbose debugging.

  • Added Branchset#first with an argument, and a #not mutator.

v1.6.0 [2011-10-06] Michael Granger <>

  • Adding workaround for vendored “sysexits” library under MacOX X 10.7

  • Add a log message to Treequel::Model#validate if some validations fail.

  • Added convenience mutator to Treequel::Branchset for selecting operational attributes.

  • De-Yard the API docs

  • Some fixes for JRuby + jruby-ldap

  • Use a modern timezone for the Time tests

  • Add a copy constructor to Treequel::Directory to avoid two directory objects sharing the same connection

  • Adding support for Sun OpenDS schema artifacts (fixes #11)

    • various workarounds for malformed objectClass and attributeType declarations

    • Regex encoding fixes for 1.9.2

    • Treequel::Schema.strict_parse_mode flag for enabling the old (strict) parsing behavior.

v1.5.3 [2011-04-07] Michael Granger <>

  • Added signature for changeset 1f396aca7d8b

v1.5.3 [2011-04-07] Michael Granger <>

  • Don't pollute the gemspec with Yard-only options

  • Adding a –no-tls flag to the treequel shell

  • Updated the 'treewhat' schema tool.

  • Show additional details for some schema objects.

  • Adding schema artifacts to the treewhat command

  • Include regular attributes (in addition to operational ones) in the root_dse, as AD stores everything in regular attributes.

v1.5.2 [2011-03-17] Michael Granger <>

  • Manual updates

  • Fixing bad time tests uncovered by the DST switch

  • Adding an ActiveDirectory schema dump for testing

  • Fix for Github issue [ged/treequel GH-1] (closes #7)

v1.5.1 [2011-02-25] Michael Granger <>

  • Adding handling of operational attributes to Treequel::Model schema validations, updated the subschema test data to a recent OpenLDAP.

v1.5.0 [2011-02-24] Michael Granger <>

  • Make Treequel::Model::ObjectClass Enumerable

  • Add a default directory to Treequel::Model for creating and searching

  • Fix delegation to a method that takes a block for Treequel::Delegation

  • Consistently delete the DN from the entry hash when constructing branches and model objects

  • Fix Treequel::Branch#-

  • Fix Treequel::Branchset#to_hash

  • Make dependencies not so pessimistic.

v1.4.4 [2011-02-10] Michael Granger <>

  • Add the .gemtest and Manifest to the manifest, bump patch version.

  • Make Treequel testable via Gem Testers

  • Hack to work around the pointer-mismanagement of LDAP::Mod

v1.4.3 [2011-02-10] Michael Granger <>

  • Added gem-testers support

  • Added a monkeypatch to work around a memory-corruption issue in ruby-ldap.

v1.4.2 [2011-02-07] Michael Granger <>

Fixed missing DEFAULT_EDITOR constant.

v1.4.1 [2011-02-02] Michael Granger <>

More Treequel shell cleanup based on feedback from Michael Hix.

  • Fix the signature of the 'quit' command.

  • Consistently verify RDN arguments where they're used.

v1.4.1 [2011-02-02] Michael Granger <>


  • Fixed result error as fatal exception in Treequel shell

v1.4.0 [2011-01-31] Michael Granger <>


  • Added a new method: Treequel::Directory#connected?

  • Adding reconnect support to the treequel shell


  • Fixed a bug in Treequel::Branch#copy.

  • Escape filter metacharacters in simple filter components



  • Ensure the entry hash that's passed to Treequel::Model#apply_applicable_mixins isn't modified; fixes a bug when modifying a new unsaved Model object.

v1.3.1 [2011-01-17] Michael Granger <>

Fixed a bug that caused DN attributes in objects created via Treequel::Model.new_from_entry to be doubled.

v1.3.0 [2011-01-13] Michael Granger <>


  • Made Treequel::Model act more like an ORM – changes made to the object aren't synced with the directory until #save is called. New methods:

    • Treequel::Model#save

    • Treequel::Model#modifications

    • Treequel::Model#modifications_ldif

    • Treequel::Model#validate

    • Treequel::Model#valid?

    • Treequel::Model#errors

    • Treequel::Model#revert

    • Treequel::Model#modified?

    • Treequel::Model#after_initialize

    • Treequel::Model#before_validation

    • Treequel::Model#after_validation

    • Treequel::Model#before_save

    • Treequel::Model#before_create

    • Treequel::Model#before_update

    • Treequel::Model#after_create

    • Treequel::Model#after_update

    • Treequel::Model#after_save

    • Treequel::Model#before_destroy

    • Treequel::Model#after_destroy

    New classes:

    • Treequel::Model::Errors

    • Treequel::ValidationFailed

  • Extracted the controls behavior and rewrote the control specs to use it. This is so people who may wish to implement their own controls can ensure that it's compatible with Treequel.

  • Added a directory-introspection tool (treewhat)

  • Added Treequel::Model::ObjectClass.create for easy creation of entries that conform to an objectClass mixin's criteria

  • Treequel::Directory.root_dse now returns Treequel::Branches

  • Added Treequel::Directory#reconnect.


  • Fixed a bug in Treequel::Branch#merge for values that need conversion

  • Simplified and removed duplication from the logging code

  • Fixed a bug in the proxy method for single-letter attribute names.

  • Monkeypatched Date for LDAP time type conversions

  • Change the return values of unset attributes to distinguish between SINGLE and non-SINGLE attributes

  • Treequel::Branch

    • Check for explicit nil DN in .new

    • Check for nil parent_dn in #parent

    • Use 'top' instead of :top as objectClass default

    • Don't cache attempts to fetch invalid attributes

v1.2.2 [2010-12-14] Michael Granger <>

Bugfixes for Treequel::Branch, Treequel::Model.

v1.2.1 [2010-12-13] Michael Granger <>

  • Converted to Hoe.


  • objectClasses listed in Treequel::Model::ObjectClass.model_objectclasses can be Strings, too.

v1.2.0 [2010-11-30] Michael Granger <>

  • Added hash-key conversion so Branches can be constructed with Symbol-key hashargs.

  • Adding 'Treequel::Branchset#from' mutator for changing the base DN.

  • Fixed treequel shell's cp to support relative and absolute DNs

  • Converted to RSpec 2.0

Jump to Line
Something went wrong with that request. Please try again.