[fix] check parent full_handle/DN in the proper hook, so it is always validated
[fix] do not downcase the full handle, but only the object handle (fix RDN case when creating new items, and probably other problems)
[fix/evol] correct a bug in the item creation when handling the parent parameter, allow specifying a default parent per object, and provides a new find_by_full_handle() handy method
[fix] added fix for upstream bug #27429
[evol] better parent definition for new items (not tested yet)
[evol] limit parent location/type for item creation (not yet properly integrated)
[fix] silly mistakes in the object schema
[fix] ensure removing an aspect also remove reverse-depends
[evol] replace DNs with recognized objects in show command (if not in debug mode)
[evol] allow specifying a DN using an item full handle in create/modify command
[-] todolist update
[fix] corrected shadowwalker creation (item full handle must not be validated completely as the item does not exist yet)
[cleanup] moved helper things out of LdapObject in Manipulation and began sweeping dust
[cleanup] filter ldap object mapping better
[cleanup] reorganized config
[cleanup] simplify relations_info access
[cleanup] minor stuff
[fix] don't crash when modifying a relation with a blank item handle
[cleanup] improved a bit aspect handling
[evol] introduce item 'full-handle' and reorganize command arguments, and renamed commands
[cleanup] code reorganization
[fix] family display was broken
[cleanup] minor simplifications in LdapObject
[cleanup] simplifications thanks to default config
[fix] corrected object default config
[fix/evol] ensure a shadow/object/aspect is not cast(/post-cast) multiple times, and btw correct the raise_error() method
[fix] corrected setup comment
[cleanup] includes reorganization
[fix] added missing start of YAML document in MP shadow config files
[evol] added default config and simplified MilkyPond shadow config (and minor other changes)
[fix] corrected aspect schema
[fix] check for dependency aspects for an aspect was missing
[fix] check for needed aspect for an object was subject to crash
[evol] try harder to find intermediate objects in tree
[evol/fix] fixed creation hooks call, hooks->plugins with hooks and simplified hooks, added plugin parameters in config and updated aspect/fs
[fix] check better if a field value has changed or not
[evol] apply password hash if requested
[fix] ensure shadowwalker options have a proper default
[evol] improve tree display, and move code out of shadowwalker
[evol] don't try to find raw item object if it is already known, be lazy
[fix] try harder to find item name
[fix] also print aspect handle when handles are requested
[cleanup] internal rework #5
[cleanup] internal rework #4
[cleanup] internal rework #3
[cleanup] internal rework #2
[cleanup] internal rework #1
[cleanup] improve elements classes generation (with a few more checks)
[evol] rework how object/aspect classes are generated and ensure each shadow materials is in a proper container (to allow loading multiple shadows)
[fix] renamed object description() method which conflicted with the quite common attribute of the same name
[fix] corrected hooking methods
[fix] correct shadowwalker show command usage
[fix] corrected aspect schema ('associate_unclaimed_attributes' parameter was missing)
[cleanup] move default empty hooks aside and include them (and share them between LdapObject and LdapAspect)
[cleanup] s/mapper/shadow/ for consistency
[fix/evol] corrected before delete hook and added complete hook support for objects
[fix] use new recursive delete with hooks in shadowwalker
[fix] aspect hooks loading was broken, and moved file loading into the Config class
[fix] fixed aspects default hooks
[evol] completed aspect hooks panoply
[cleanup] Shadow load_object() -> add_object() for consistency
[evol] improve config #14 (validate global and shadow config, and removed shadowwalker's stuff from the general classes)
[evol] improve config #13 (reorganized config/schema loading/validating, transform Controler into Shadow, and began reworking things to get a real Shadow view)
[evol] fix and improve before hooks for aspects
[cleanup] hook_mod -> hook_modify
[evol] improve config #12 (improved object definition check #3 + added aspect definition check)
[evol] improve config #11 (improved object definition check #2)
[evol] improve config #10 (improved object definition check)
[evol] improve config #9 (preliminary work to check object definition against schema)
[evol] improve config #8 (shadow selection support)
[evol] display family members optionally in show command (can be lengthy)
[evol] improve config #7 (move shadow loading in the Controller)
[evol] improve config #6 (rename config files)
[-] cleanup
[evol] improve config #5 (check for missing foreign object in relations)
[evol] improve config #4 (check for missing aspect)
[evol] improve config #3 (move non-framework translations in config dir)
[evol] improve config #2 (aspects config is separated)
[evol] improve config #1 (objects+relations config is separated)
[fix] correct item display name when a raw object is not recognized
[-] cleanup: removed silly optional_classes support, as aspects handle this nicely
[-] todolist update: fields containing a DN should be handled by relations
[evol] improved code for objects recognition, created display helper for raw items, and added family items display support
[fix] forgot to update todolist
[evol] recognize objects out of search result, and display them properly
[evol] added search command (working, but items are not recognized yet)
[evol] added aspect dependency support
[evol] move all activeldap workarounds away, and properly manage operational attributes (using schema instead of a hardcoded list)
[evol] move all item modification into LdapObject, clean things a bit, and use this code for creation too instead of the partial modification support needed to add the MUST attributetypes, this is more flexible
[fix] inverted logic when testing relation existence
[fix] for non-enumeration association the object was not loaded when requested with the target() method, so now test existance with exists?() instead which forces loading
[fix] move missing attribute check into the save() method to ensure it is done after hooks (which can modify attributes and change the result of the test)
[fix] fs aspect primaryGroup corrected, and now handle single-valued relation data, and btw disallow adding the same value multiple times
[fix] silly syntax error