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

[V 1.17]
Date=2013-09-16T15:24:00
Comments= <<EOT
- Write test temp files in :raw mode as well as utf-8, for MS Windows users.
- Take the opportunity to change all utf8 to utf-8, as per the docs for Encode,
except for 'use warnings qw(FATAL utf8);', which doesn't accept utf-8 :-(.
1.16 Mon Sep 9 09;26:00 2013
- Accept a patch (slightly modified by me) from Tom Molesworth (see RT#88501):
Remove 'use open qw(:std :utf8);' because of its global effect.
Replace Perl6::Slurp with File::Slurp, using the latter's binmode option for the encoding.
Fix docs where I'd erroneously said File::Slurp didn't support utf8.
EOT

[V 1.15]
Date=2013-09-06T11:10:00
Comments= <<EOT
- Replace Path::Tiny with File::Spec, because the former's list of dependencies is soooo long :-(.
Changed files: t/read.tree.t, Build.PL and Makefile.PL.
See: RT#88435 for an explanation.
- Move t/pod.t to xt/author/pod.t.
EOT

[V 1.14]
Date=2013-09-04T13:44:00
Comments= <<EOT
- Document the copy() method.
- Patch the copy() method so it respects the {no_attribute_copy => 1} option.
- Add method read_tree(), for text files. It uses Perl6::Slurp (which supports utf8).
- Add methods read_attributes() and string2hashref($s) for use by read_tree().
- Add t/read.tree.t to test read_tree().
- Add t/tree.utf8.attrbiutes.txt, in utf8, for use by t/read.tree.t.
- Add t/tree.with.attributes.txt and t/tree.without.attributes.txt for use by t/read.tree.t.
- Make Perl V 5.8.1 a pre-req so we have access to the utf8 pragma.
EOT

[V 1.13]
Date=2013-08-12T17:16:00
Comments= <<EOT
- Change the values accepted for the no_attributes option from undef and 1 to 0 and 1.
If undef is used, it becomes 0, so pre-existing code will not change behaviour.
This makes it easier to pass 0 or 1 from the command line, since there is no default value available.
EOT

[V 1.12]
Date=2013-07-03T16:38:00
Comments= <<EOT
- Change text in README referring to licence to match text in body of source, since it was in conflict
with the Artistic Licence V 2.0.
This was requested by Petr Pisar who packages stuff for Red Hat.
- Rename CHANGES to Changes as per CPAN::Changes::SPEC.
- Various spelling fixes in the docs, as kindly reported by dsteinbrunner.
EOT

[V 1.11]
Date=2013-02-04T09:50:00
Comments= <<EOT
- Correct the date (2012 -> 2013) in this file used for V 1.10.
- Correct the text at L<Tree::DAG_Node/AUTHOR> so it refers to Artistic License 2.0,
which now matches what it says in Build.PL and Makefile.PL. Resolves RT#83088.
EOT

[V 1.10]
Date=2013-02-01T08:53:00
Comments= <<EOT
- Change t/pod.t to look for Test::Pod 1.45, but comment out Test::Pod in Build.PL and Makefile.PL.
This means Test::Pod is not used at all if it is not installed. As per RT#83077.
EOT

[V 1.09]
Date=2012-11-08T12:38:00
Comments= <<EOT
- No code changes.
- Oops. The changes in V 1.08 we made in the other 10 distros, but not in this one. My apologies.
EOT

[V 1.08]
Date=2012-11-08T12:38:00
Comments= <<EOT
- No code changes.
- For pre-reqs such as strict, warnings, etc, which ship with Perl, set the version # to 0.
Reported as RT#80663 by Father Chrysostomos for Tree::DAG_Node.
EOT

[V 1.07]
Date=2012-11-01T12:47:00
Comments= <<EOT
- New maintainer: Ron Savage
- Pre-emptive apologies for any changes which are not back-compat. No such problems are expected, but the
introduction of new methods may disconcert some viewers.
- Fix RT#78858, reported by Gene Boggs. Audit code for similar problems.
- Fix RT#79506. reported by Ron Savage.
- Rename ChangeLog to CHANGES, and add Changelog.ini.
- Replace all uses of cyclicity_fault() and Carp::croak with die.
- Remove unused methods: decommission_root(), cyclicity_allowed(), cyclicity_fault(), inaugurate_root(),
no_cyclicity() and _update_links(). OK - cyclicity_fault() was called once. It just died.
- Add methods: format_node(), hashref2string(), is_root(), node2string(), tree2string().
tree2string($opts, $node) - unlike draw_ascii_tree() - can optionally print the tree starting at any node.
Override format_node(), hashref2string(), and node2string() if desired.
- Reformat the POD big-time.
- Add Build.PL.
- Re-write Makefile.PL.
- Remove use vars(@ISA $Debug $VERSION). Replace latter 2 with 'our ...'.
- Rename t/00_about_verbose.t to t/about.perl.t.
- Add scripts/cut.and.paste.subtrees.pl. Warning: Some trees get into an infinite loop.
- Add t/cut.and.paste.subtrees.t. Warning: Some trees get into an infinite loop.
- Document the options (discouraged by Sean) supported in the call to new($hashref).
EOT

[V 1.06]
Date=1998-12-02T12:00:00
Comments= <<EOT
- New maintainer: David Hand.
- No code changes.
EOT

[V 1.05]
Date=1998-12-29T12:00:00
Comments= <<EOT
- Just repackaging.
- No code changes.
EOT

[V 1.04]
Date=1998-02-23T12:00:00
Comments= <<EOT
- Bugfix: Olegt@dreamtime.net notes a bug in
depth_under that apparently always makes it return 0.
EOT

[V 1.03]
Date=1998-05-13T12:00:00
Comments= <<EOT
- Superficial changes:
Minor doc spiffing-up.
Noting my new email address.
- In order to keep its symbol table clean, DAG_Node no longer
imports routines from Carp and UNIVERSAL. Should have no effect on existing code.
- I went and commented out all the places where I have asserts for
non-cyclicity. I once had the idea that DAG_Node could be a base
class for graphs that /could/ allow cyclicity, or something like
that, so those assertions would apply for methods that work only
for acyclic networks. But, in time, I realized that almost
everything in DAG_Node would have to have such assertions. Moral
of the story: DAG_Node has nearly no code that it could share with
a class for anything but DAGs. And since DAG_Node does everything it
can to /keep/ you from making cyclicities, there's no point in
constantly having assertions of noncyclicity (especially when
these assertions are rather expensive to check).
EOT

[V 1.02]
Date=1998-03-05T12:00:00
Comments= <<EOT
- Minor bugfixes:
Fixed a typo in the docs: corrected one "right_sisters" to "right_sister"
Initialized a variable to '' to avoid warnings under -w. Thanks to Gilles Lamiral.
EOT

[V 1.01]
Date=1998-05-14T12:00:00
Comments= <<EOT
- Major additions:
Scads of new methods. Still (as far as I know) backward
compatible with all previous versions. Some minor changes in
coding, not affecting the interface.
- Hopefully more friendly to users that use -w (warnings).
- Cautionary tale: I started making big changes to this right around
mid-November 1998. But I kept thinking "oh, ONE MORE change and
then I'll release it." Famous last words! Other things came up,
I forgot what was new and what was different in this module
(which is why you don't see a detailed list of differences here),
altho apparently somehow I managed to document all the new methods.
EOT

[V 0.75]
Date=1998-11-03T12:00:00
Comments= <<EOT
- Minor changes:
New methods new_daughter, new_daughter_left.
$obj->new constructor syntax now documented.
Internal accesses to "daughter" and "mother" attribs are now direct, for efficiency's sake.
- Minor improvements to the docs.
EOT

[V 0.74]
Date=1998-10-28T12:00:00
Comments= <<EOT
- Whoops, forgot to bundle the README.
- No change in the code.
EOT

[V 0.73]
Date=1998-10-27T12:00:00
Comments=- First release.
