[Module]
Name=Tree::Simple
Changelog.Creator=Module::Metadata::Changes V 2.05
Changelog.Parser=Config::IniFiles V 2.78

[V 1.22]
Date=2013-09-30T08:35:00
Comments=- Metadata fixes in Build.PL and correct bugtracker queue in Makefile.PL. Thanx to dsteinbrunner (via github).

[V 1.21]
Date=2013-09-26T13:08:00
Comments=- Fix syntax error in Makefile.PL.

[V 1.20]
Date=2013-09-26T11:16:00
Comments= <<EOT
- Merge source from https://github.com/stevan/tree-simple.
- Close github issues.
- Add bugtracker and license to Build.PL and Makefile.PL.
EOT

[V 1.19]
Date=2013-09-23T08:26:00
Comments= <<EOT
- Maintenance now by Ron Savage.
- Rectify datestamp format in this file.
- Add Changelog.ini.
- Make Simple.pm and Visitor.pm have the same version #.
- Reformat Build.PL and Makefile.PL.
- Move t/pod* into xt/author/.
- Minor doc patches.
- Add t/17_Tree_Simple_width_test.t. This code was attached to RT#40407, to demonstrate a bug in keeping a
running total of the width (leaf count) of a tree during node additions to leaves.
Thanx to David Cryer for the test code and patch.
- Add t/21_Tree_Simple_Visitor_test.t. This code was attached to RT#30032, to demonstrate a bug in including
the root in a traversal after calling $visitor -> includeTruck(1).
- RT#30032: Adopt patch from Moses Amaro. With thanx.
- RT#38607: Reject. Suppressing deep recursion warnings should not normally be done. Sub-class!
- RT#40407: Adopt patch from David Cryer. With thanx.
- RT#84797: Reject. Changing the return value of setUID could break any amount of code.
EOT

[V 1.18]
Date=2007-11-11T12:00:00
Comments= <<EOT
- fixing version string to not choke on 5.10
(RT #29746)
EOT

[V 1.17]
Date=2006-10-23T12:00:00
Comments= <<EOT
- make loading of Scalar::Util::weaken, completely
optional
- added a $post_func optional arg to &traverse. Thanks
to Mark Lawrence for the patch, docs and tests :)
EOT

[V 1.16]
Date=2006-02-06T12:00:00
Comments= <<EOT
- converted to use Module::Build (Rob Kinyon)
- refactored &addChild and &addChildren to be
implemented in terms of &insertChild and
&insertChildren (Rob Kinyon)
- other misc. refactorings (Rob Kinyon)
- updated Scalar::Util version dependency (Stevan Little)
- updated copyrights for the new year (Stevan Little)
EOT

[V 1.15]
Date=2005-05-26T12:00:00
Comments= <<EOT
- added optional use of weakened parent references
and improved the old circular reference DESTROY
model to make more sense. See the documantation
for more info.
- fixed bug in the fixDepth() function
EOT

[V 1.14]
Date=2004-11-18T12:00:00
Comments= <<EOT
- now using Scalar::Util::blessed() instead of
the convoluted UNIVERSAL::isa() stuff.
- added Scalar::Util as a dependency
EOT

[V 1.13]
Date=2004-11-15T12:00:00
Comments= <<EOT
- added width functionality (with getWidth),
thanks to Mark Thomas for his insight/suggestions
- added tests for this
- added documentation for this
- improved the height functionality, thanks again
to Mark Thomas for his insight/suggestions
- deprecated the 'height' method in favor
of the more consistent 'getHeight' method
- added tests for this
- added documentation for this
- added some info in the docs to explain the depth
value for ROOT trees.
- cleaned up and improved the following test files
> 11_Tree_Simple_fixDepth_test.t
> 13_Tree_Simple_clone_test.t
EOT

[V 1.12]
Date=2004-10-07T12:00:00
Comments= <<EOT
- fixed the clone method, it was not correctly
cloning parental relationships
- added tests and docs for this
- improved clone and cloneShallow with the addition
of the _cloneNode utility function, we now deep
clone the nodes
- added test and docs for this
EOT

[V 1.11]
Date=2004-10-04T12:00:00
Comments=- some documentation changes, no code changes

[V 1.10]
Date=2004-08-31T12:00:00
Comments= <<EOT
- streamlined the DESTROY method to avoid method
calls as this can sometimes cause issues during
global destruction with subclasses.
EOT

[V 1.09]
Date=2004-08-31T12:00:00
Comments= <<EOT
- Fixed DESTROY to avoid memory leaks (RT-BUG: #7512)
- added documentation to explain when to call
the DESTROY method to properly clean up any
circular references
- added test (14_Tree_Simple_leak_test.t) to
verify this fix (needs Test::Memory::Cycle to run)
EOT

[V 1.08]
Date=2004-08-25T12:00:00
Comments= <<EOT
- added the 'height' and 'size' methods
- added tests for these
- added documentation for these
EOT

[V 1.07]
Date=2004-07-28T12:00:00
Comments= <<EOT
- Added the getUID and setUID methods to Tree::Simple, thanks
to Brett Nuske for that suggestion.
- added documentation for these methods
- added tests for those methods
- added t/pod.t and t/pod_coverage.t to the test suite
EOT

[V 1.06]
Date=2004-07-06T12:00:00
Comments= <<EOT
- Changed what the Tree::Simple accept method accepts
- added tests for this
- Completely Revised the Tree::Simple::Visitor object
so that it is a better base class. This coincides with
the release of the Tree::Simple::VisitorFactory collection
of Visitor objects.
- added tests for this
EOT

[V 1.05]
Date=2004-06-06T12:00:00
Comments= <<EOT
- Fixed some vagueness in the documentation as well
as made sure that the ROOT constant could be given
as a the $parent argument.
EOT

[V 1.04]
Date=2004-05-18T12:00:00
Comments= <<EOT
- The second argument to the Tree::Simple constructor
was a parent, and that argument was not getting
properly type checked before attempting to call
'addChild' on it. Now it is properly type checked
and will throw an exception if it is not correct.
EOT

[V 1.03]
Date=2004-05-09T12:00:00
Comments= <<EOT
- I have added a new method 'getIndex', which will
fetch the index of the current tree within it's
parent's child list. I have also added documentation
and tests for this.
EOT

[V 1.02]
Date=2004-05-02T12:00:00
Comments= <<EOT
- I thought about the API change, and I decided that
the new method (removeChildAt($index)) did not make
sense. It made more sense for removeChild to accept
both $child and an $index, and do the right thing
based upon which one was given. This of course
is how it works anyway since I maintained backwards
compatability. But take note, removeChildAt($index)
will not be supported. The method is still there,
but it will very soon go away.
I think this is a cleaner way to do this in the end.
EOT

[V 1.01]
Date=2004-04-28T12:00:00
Comments= <<EOT
- Made API change:
- removeChild($index) is now removeChildAt($index)
and removeChild($child) has replaced it. See the
documentation for more info.
- backwards compatability maintained under change.
- new tests written to test the new code and to
test the backwards compatability
- Test suite is not at 99% coverage (with 415 tests)
- Moved object initialization code from Tree::Simple::Visitor::new
to Tree::Simple::Visitor::_init. This keeps in line with the
Tree::Simple code and the seperation of object creation and
initialization.
EOT

[V 1.00]
Date=2004-04-05T12:00:00
Comments= <<EOT
- I dont know why, but I was wary of calling this 1.0
but that is really what it is. I think too many modules
avoid that number, but I am not gonna do that. So here
goes, its 1.0 baby!!
- Note: Being new to this versioning thing, I was actually going
for a "minor" version thing with the jump from 0.3 to 0.14. I
realized that was not only dumb, but incorrect. But in realizing
this, I decided this is really 1.0 code anyway and took the plunge.
EOT

[V 0.15]
Date=2004-04-05T12:00:00
Comments= <<EOT
- Made a few adjustments:
- changed to UNIVERSAL::isa($object, "Class") so as to
avoid warnings if non-object refs are passed
- added more tests to the Tree::Simple::Visitor object
- added more tests to check for non-object-refs passed
where they shouldnt be.
EOT

[V 0.14]
Date=2004-04-04T12:00:00
Comments= <<EOT
- I feel this module is ready for serious use. I have been
using it in production environments for almost 2 years now,
and I have recently beefed up the test suite as well. It now
has 371 tests with approx. 95% code coverage. I feel the code
is solid as is the API (although some people dont like my
Java-esque naming style, but hey whatta ya do). Most of this
release is just tweaking and fine tuning of code, and updating
of the documentation.
EOT

[V 0.03]
Date=2004-04-01T12:00:00
Deploy.Action=Upgrade
Deploy.Reason=Security
Comments= <<EOT
- Like an idiot I forgot to change the version number
from version 0.01 to 0.02 and because of CPAN's security-type
restriction about uploading files with a duplicate name
I have to up the version number.
EOT

[V 0.02]
Date=2004-04-01T12:00:00
Comments= <<EOT
- first revision:
- fixed a few bugs
- improved error messages
- added tests:
- test for exceptions
- checked test coverage with Devel::Cover
EOT

[V 0.01]
Date=2004-03-11T10:46:33
Comments= <<EOT
- original version; created by h2xs 1.22 with options
-X -n Tree::Simple
EOT
