2005-04-16 Jarkko Hietaniemi <jhi@iki.fi>
* After setting a vertex attribute one could not delete
non-attributed vertices, reported by Joseph Hamilton.
* Inlining to speed up path_vertices() slightly.
* Release as 0.63.
2005-04-10 Jarkko Hietaniemi <jhi@iki.fi>
* The documentation of add_weighted_vertices was wrong:
the arguments are (v1, w1, v2, w2, ...) instead of (v1, v2, ..., w).
* Made calling interfaces with an "options hash" like new()
and random_graph() more robust, now bails out earlier instead
of dieing mysteriously later with an "odd number of arguments"
* Allow running under -d:DProf even when using random shuffling:
workaround for List::Util::shuffle and -d:DProf not working
together ([perl #32383]) by falling back to Fisher-Yates shuffle
if (any use of) the -d: is detected.
* Allow calling random_graph() also as a class method:
Graph::random_graph(...) (the resulting graph will be a 'Graph').
* in_degree() and out_degree() (and therefore vertex_degree())
were one too low for self-loop vertices in undirected graphs
(the self-loop edge was not counted).
* Release as 0.62.
2005-03-27 Jarkko Hietaniemi <jhi@iki.fi>
* [rt.cpan.org #12023] from Macha Nikolski:
deleting an attributed vertex left the graph in a state
where has_vertex() returned correctly false but vertices()
still wrongly returned the freshly deleted vertex.
* A few missing "See":s added to the pod.
* Release as 0.61.
2005-03-25 Jarkko Hietaniemi <jhi@iki.fi>
* Bug reported by Richard Ball: connected_component_by_index()
and connected_component_by_vertex() were starting their indexing
from one, not zero.
* t/27_hyperedged.t was really testing for turning on
hypervertexedness (the actual functionality was being
tested correctly in t/32_hyperedge.t).
* Release as 0.60.
2005-03-03 Jarkko Hietaniemi <jhi@iki.fi>
* deep_copy_graph() could not handle code references since
Data::Dumper by default doesn't handle those. Now uses
the Deparse option for 5.8.x and later.
* The removed interfaces add_graph() and delete_graph() still
had their documentation hanging around.
* Release as 0.59.
2005-02-19 Jarkko Hietaniemi <jhi@iki.fi>
* Document that using attributes does have a slowing down
effect on other graph operations
[rt.cpan.org #11498]
Performance problem: edge attributes slow source_vertices)
This is unlikely to get fixed any time soon, I am afraid,
this is one of those working-as-designed-and-correctly-but-
unfortunately-slow things.
* Document that Graph 0.2xxx edges($v) is now edges_at($v)
[rt.cpan.org #11494]
* [rt.cpan.org #11543]: self-edges reported twice by edges_at().
* Declare/document that any attributes beginning with an underscore
are reserved for the internal use of Graph.
* Various inlining optimizations: should run 5-10% faster
than the 0.57.
* Release as 0.58.
2005-02-12 Jarkko Hietaniemi <jhi@iki.fi>
* Further 10% speedup on 'make test' on top of 0.56 by inlining
various code paths related to finding edges, now 'make test'
is cumulatively about 15% faster than the 0.55 release.
The test case of [rt.cpan.org #11465] is about 10 times faster.
* Release as 0.57.
2005-02-12 Jarkko Hietaniemi <jhi@iki.fi>
* Rewrite edges finding code (like edges_at()) to avoid a
quadratic algorithm. Shame on me. Luckily this extremely
slow path was not touched that often, but [rt.cpan.org #11465]
shows one known bad case, source_vertices() for compat02
graphs. The removal of the slow path sped up 'make test'
by about 5-10%.
* Remove a voodoo keys() from vertices_at().
* Document stubs for Graph::Directed and Graph::Undirected.
* Tiny documentation tweaks.
* Release as 0.56.
2005-01-22 Jarkko Hietaniemi <jhi@iki.fi>
* Add unset_row(), get_row(), set_row(), and unset_row(), methods
to Graph::BitMatrix and make it public (remove the "internal use
only" warning from it). Add t/82_bitmatrix.t.
* Add vertex_degree() as an alias for degree().
* One more alternative solution for spt.t from Koen.
* I seem to have this drive to misspell people's names.
Sorry, Koen.
* Release as 0.55.
2005-01-16 Jarkko Hietaniemi <jhi@iki.fi>
* More bugs found in set_vertex_attribute(), fixed and tests
added. (Basically the same failure pattern as with the
[rt.cpan.org #9461]: after setting vertex attributes many of
the 'structural' methods such as predecessors() often returned
wrong results.)
* More alternative solutions to spt.t, diameter.t, and dump.t,
found by the PRNG of Koen van der Drift in Mac OS X 10.3.7,
Perl 5.8.1.
* Release as 0.54.
2005-01-14 Jarkko Hietaniemi <jhi@iki.fi>
* The #9461 was still there.
But now we have a simple test case from Sebastian Nagel.
The real culprit seemed to be a misapplied optimisation.
* Release as 0.53.
2005-01-12 Jarkko Hietaniemi <jhi@iki.fi>
* Fix set_graph_attribute() documentation not to talk about $u, $v
(noticed by Kurt Jaeger).
* A mysterious failure fixed by a mysterious fix: under some
circumstances it seems that an each() doesn't walk through
all the key-value pairs, the workaround is to reset the
each() iterator by a keys() call. Not simple test code,
sadly, since the existing test code (see the case) is 13 kB
and non-trivial.
[rt.cpan.org #9461]
* Add a safety guard against a missing Scalar::Util::weaken
[rt.cpan.org #9481]
* Release as 0.52.
2005-01-09 Jarkko Hietaniemi <jhi@iki.fi>
* Allow calling Makefile.PL with arguments other than --renum
(which is for internal use only, and therefore undocumented).
[rt.cpan.org #9481]
* Remove the add_graph() and delete_graph() interfaces, sorry
if you were already using them, but the current interface was
very poor and the concept ill-planned. If you want to merge or
remove edges and vertices between your graph, you can probably
yourself implement the exactly right things to do.
[rt.cpan.org #9493]
* Document that one cannot assume Graphs are blessed hash references
(and the likely error message one will get if one so assumes).
[rt.cpan.org #9505]
* Fix Andras' last name (sorry).
* Merge duplicate documentation of find_a_cycle().
* Graph::AdjacencyMap::Base does not exist, fix Graph/AdjacencyMap.pm
pod to comply.
* Release as 0.51.
2005-01-01 Jarkko Hietaniemi <jhi@iki.fi>
* The 0.50.
2004-10-30 Jarkko Hietaniemi <jhi@iki.fi>
* Start wrapping up for the 0.50 release.
* Start bothering beta testers.