Fixes:
Implement Model#respond_to_missing?
Document updates:
Convert the manual to Markdown and link it to the README.
Documentation fixes
Implicitly require sequel core behaviors
Bump minimum versions for ruby and ruby-ldap
Split out the shell tools into their own gem
Fix dependency on eliminated file.
Convert to Loggability for logging
Update README, use Fivefish if available.
Fix encoding of directory strings under Ruby 1.9 and newer versions of Ruby-LDAP.
Update the examples.
Fix an edge-case bug in LDIF-generation logic. Thanks to Mahlon E. Smith for the report and the pair to fix it.
Fixed a bug with handling of BOOLEAN values in Treequel::Model. Thanks to Patricio Bruna pbruna@it-linux.cl for the bug report.
A fix for Treequel::Model#save LDIF. Thanks to Patricio Bruna pbruna@it-linux.cl for pointing out the problem.
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).
Fixed eql? implementation by using the hash-value instead of just comparing DNs.
Added signature for changeset fa0d500e2dee
Implemented eql? for Treequel::Branch for correct behavior in Array#-, Hash#[], etc.
Added signature for changeset a8a3bca987c3
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
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
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.
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.
Added signature for changeset 1f396aca7d8b
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.
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)
Adding handling of operational attributes to Treequel::Model schema validations, updated the subschema test data to a recent OpenLDAP.
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#-
Make dependencies not so pessimistic.
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
Added gem-testers support
Added a monkeypatch to work around a memory-corruption issue in ruby-ldap.
Fixed missing DEFAULT_EDITOR constant.
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.
Bugfix:
Fixed result error as fatal exception in Treequel shell
Enhancements:
Added a new method: Treequel::Directory#connected?
Adding reconnect support to the treequel shell
Bugfixes:
Fixed a bug in Treequel::Branch#copy.
Escape filter metacharacters in simple filter components
Bugfix:
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.
Fixed a bug that caused DN attributes in objects created via Treequel::Model.new_from_entry to be doubled.
Enhancements:
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#modifications_ldif
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:
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
Bugfixes:
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.
Change the return values of unset attributes to distinguish between SINGLE and non-SINGLE attributes
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
Bugfixes for Treequel::Branch, Treequel::Model.
Converted to Hoe.
Bugfix:
objectClasses listed in Treequel::Model::ObjectClass#model_objectclasses can be Strings, too.
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