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)
* Fix 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.