Revision history for Graph::Easy::As_svg:
0.28 2020-10-20
* Fix some stale POD.
0.27 2017-09-08
* Fix a circular requires/provides.
+ See: https://github.com/shlomif/Graph-Easy-As_svg/issues/1
+ Thanks to @ssoriche for the report, Grinnz for the pull-req and other
people from #distzilla on irc.perl.org for providing insights.
0.26 2017-04-15
* dzil fixes - bump the $VERSION in lib/Graph/Easy/As_svg.pm .
+ See: https://rt.cpan.org/Ticket/Display.html?id=121124
+ Thanks to Gintautas Grigelionis .
0.25 2017-04-12
* Convert "#!/usr/bin/perl -w" shabangs to "#!/usr/bin/env perl" .
+ Hopefully to avoid test failures such as:
+ http://www.cpantesters.org/cpan/report/40dc5da0-18b6-11e7-ba6a-0a894c2cdaca
0.24 2017-04-03
* Convert from Module-Install to Dist-Zilla and did some cleanups.
+ Hopefully fix https://rt.cpan.org/Public/Bug/Display.html?id=120889
( Cannot install without '.' in @INC .)
+ Now maintained at https://github.com/shlomif/Graph-Easy-As_svg .
2008-05-22 v0.23 Tels 137 tests - Fix, fix, fix, fix the bugs...
* require Graph::Easy v0.63 (for correct graph attribute output)
* suppress attributes without "-" (like "labelpos" vs. "label-pos")
* output the "font-family" style to support the "font" attribute
* center graph when the graph label is wider than the graph itself
* shift graph by half the border with down and right to prevent the border
from getting cut off
* don't draw end arrows on undirected edges (with more than one cell)
* "rounded" nodes have their corners correctly filled with the background
color (f.i. when inside a group) (Thanx Dieter Wunderer!)
* quote "&" in links (Thanx Emmanuel Quevillon!)
* links on edge labels were missing (Thanx Emmanuel Quevillon!)
* tweak width of digits to create more fitting labels (Thanx Emmanuel Quevillon!)
* better text for labels (alignment and tweaks) (Thanx Emmanuel Quevillon!)
2008-03-30 v0.22 Tels 127 tests
* require Graph::Easy v0.62
* remove Build.PL (bundle Module::Install 0.71)
* fix class attribute set on primary class, this colors all nodes red:
node { class: red; } node.red { color: red; }
* amend INSTALL
* don't needlessly output polygon points in comments
* fix suppression of attributes (included all the added ones)
* fix support for point-style/point-shape
* anonymous nodes:
+ fix comment
+ fix misplacement
* fix multi-line labels (Thanx Amanda B. Hickman!)
+ multi-line graph labels no longer cross into content
+ render alignments like \r,\l etc. properly
+ remove escapes (like \l etc.) from title for a better title-tag
* better rendering of open/filled stars
* a set fontsize on the graph no longer affacts nodes/edges/groups
* filled arrows fall back to the edge color (instead of inherit) if
the fill attribute is not set
2006-12-17 v0.21 Tels 93 tests
* require Graph::Easy v0.50
* fixes for the changes attribute system in Graph::Easy v0.50
* fix alignment of node labels under align: left, align: right etc.
* don't output needless things like 'fill=""' or default text-anchor
* handle borderwidths like "20px" and "2em"
2006-09-03 v0.20 Tels 89 tests
* require Graph::Easy v0.47
* fix invalid output on multi-line aligned labels
* fix alignment of labels on loops and vertical edges (text-align takes
"start" or "end", not "left" or "right" - duh!)
* correct the placement of multi-line node labels, especially when
using \r, \l or \c instead of \n
* fix warning and missing arrows when using edge { arrow-style: open; }
* fix undef warning when using closed arrows
* fix problem with dasharrays when using groups
2006-08-13 v0.19 Tels 89 tests - Fix, fix, fix, fix the bugs...
* single-line labels were not properly quoted (for "<>&)
* add encoding="UTF-8" to XML header to make encoding explicit
* require Graph::Easy v0.46
* require Image::Info v1.22
* add a Build.PL file
* add support for color schemes
* fix for very wide borders:
+ make dash:dot ratio 3:1 vs. 2:1
+ don't include "stroke-linecap: round" for diamon shapes
+ scale the dasharray according to stroke-width
* remove the workaround for Firefox bug with links:
+ it works now in the latest Firefox, so upgrade!
+ In the newest Firefox, it spawned a second new window
2006-04-17 v0.18 Tels 87 tests
* require Graph::Easy v0.44
* require Image::Info v1.20
* don't output empty <text...></text> tags
* _svg_background() returns SVG code instead of modifying $$svg
* don't draw borders on Group::Cells
* fix background color for edges and invisible nodes inside groups
* fix alignment for labels
* size-correction for overly big arrows now also works for vertical edges
* close the hole in open arrows on bold/broad/wide edges
* edge corners no longer have holes
* close the gaps on edges with style double
* fix the fontsize (was missing a "px") and also use 16 as the base vs. 14
This makes the text independed from the user setting in the browser, and
also increases it to be more readable.
* always include the fill, to help renderers that can't cope with CSS styles
* fix rendering of multiline labels:
+ lineheight is 18px vs 1em to not have the lines drawn together
+ no longer contain a spurious empty last <tspan>-pair
* reorder output order of elements: first groups, then nodes, then edges
* correct the displacement on edge end/start points for wide/broad/bold edges
* render selfloops with paths
* don't render invisible edges
* a set background on edge cells did have a stray border
* edge labels have a 80% font-size as default
* only add 0.5EM (currently 8 pixels) as padding around the graph (was 14)
* add a few characters to make the _text_length() calculation more accurate
* a Node::Empty should not be rendered
* font is really font-family in CSS section
* support point-shaped nodes with point-style: invisible
2006-01-29 v0.17 Tels 73 tests
* use Module::Install (and bundle it)
* require Graph::Easy v0.40
* require Image::Info v1.17 (for nodes with "shape: img")
* fix VERSION in packages as to not conflict with the ones from Graph::Easy
* add support for:
+ invisible edges
+ nodes with "shape: img" (Thanx to Jeff Schiller for pointing out
svg:image!)
* add an onclick-handler to links to force them to open in the current
window/tab - work around bug in FF 1.5 (Thanx Jeff Schiller again!)
* put the link around the node shape, not just the text. Makes it easier
to hit the link.
* nodes with shape: point get a link, too (although the area is tiny)
2006-01-01 v0.16 Tels 72 tests
* require Graph::Easy v0.38
* use $self->angle() to get the correct shape rotation
* forgot to limit precision on some edge-line coordinates
2005-12-18 v0.15 Tels 72 tests
* require Graph::Easy v0.36
* fix edge crossings with different widths (wide vs. broad etc)
* add rendering of edge joints
2005-12-10 v0.14 Tels 72 tests
* require Graph::Easy v0.35
* quote "&", "<", ">" and '"' in links and titles (Thanx Mutante!)
* add "xlink:show" and "xlink:target" on links to open them in
a new window (but Firefox ignores this anyway, see mozilla bug #315389)
2005-12-04 v0.13 Tels 72 tests
* require Graph::Easy v0.34
* handle multi-celled nodes
* better support labels on vertical edges
* fix unitialized warning in line 298
* use strict; in Makefile.PL
* support svg_info fields (mainly for wikipedia SVG integration)
2005-11-13 v0.12 Tels 64 tests
* require Graph::Easy v0.33
* add PREREQ_FATAL to Makefile.PL
* support bold-dash, broad and wide edge/border styles
* correct node-sizes to accomodate border-width
* shorten edge-pieces with labels a bit
* implement a crude version of _text_length(), returning the text length
in pixels depending on EM and the string content ("WW" vs. "ii"). This
stops nodes from being overly broad with lots of padding.
* don't generate invalid SVG on labels/node names with "--", "&", "<" or ">"
* limit precision on edge-lines and arrows to 2 digits (instead of 4)
2005-11-06 v0.11 Tels 56 tests
* limit precision to 2 digits (instead of 4) for coordinates
* put common attributes on double-border shapes into a <g> to shorten output
* indent output by ' ' instead of ' ' to shorten it a bit
* support "rotate" attribute on Nodes
2005-10-30 v0.10 Tels 56 tests
* require Graph::Easy v0.31
* don't draw background if bg eq ''
* add support for attribute "font-size"
* add support for attribute "text-style"
* calculate the correct size for edge cells with a label
* include xmlns:xlink too, to make Firefox 1.5x happy
* include version of Graph::Easy::As_svg in output, too
* for edge labels: fallback to the color of the edge did not work
* triangle-shaped nodes have equal height/width (if possible)
* the "autolink" and "link" attributes correctly create links with
mouseover titles
* nodes with shape "none" result no longer in invalid SVG
* only include the actually used defitinons, that shortens the output,
especially for small graphs
* don't need to output "stroke-width" for including arrow heads, this
shortens the output a bit
* shorten output by grouping multiple lines of an edge together
* text in (invert)-triangle etc nodes is better displaced to fit better
* better rendering of multi-line labels on edges
* support multi-line labels on nodes (correct hight, multi-line text)
* output fontsize is 14 pixels instead of 11 (for bigger graphs in FF 1.5)
* close gaps in hor/ver edge pieces with style "double"
* examples/as_svg: input utf8 from STDIN, output utf-8 to STDOUT
* Nodes with "shape: rounded" are rounded by a fixed amount
* edge crossings with different styles and colors are now rendered correctly
* output a title for the SVG graph
* output "width" and "height" instead of viewbox on <svg> for Firefox 1.5
* render the graph label with label-pos bottom or top, incl. optional link
2005-09-23 v0.09 Tels 41 tests
* require Graph::Easy v0.30
* fix README
* fix SVG header (standlone="yes", xmlns for <svg tag)
2005-09-18 v0.08 Tels 40 tests
* require Graph::Easy v0.29
* 'fill' defaults to white
* edge labels use "label-color" and fall back to "color"
* improve support for multi-line labels
* fix bidirectional edges (render their arrows correctly)
* better center the text on triangle|invtriangel shaped nodes
* better node sizes for the various shapes
* draw graph background, border and label if nec.
* double lines on edges are rendered better at the arrow-ends
* add support for the following node shapes:
+ invhouse, octagon, hexagon, septagon, parallelogram, trapezium
* draw background for non-rect nodes
* correctly draw "border-style: double" on the various node shapes
* draw backgrounds for edge cells (for groups and when background is set)
* add tests for POD via Test::POD (t/pod.t)
* add tests for POD coverage via Test::POD::Coverage (t/pod_cov.t)
2005-09-04 v0.07 Tels 38 tests
* require Graph::Easy v0.27
* added tests for as_svg_file()
* fix rendering of edge cells to be compatible with new Graph::Easy code
* arrow lines on non-solid edges are now solid (instead of dashed etc)
* render the different arrow styles (closed, open, filled)
* render nodes with "shape: point"
* produce shorter code by using default attributes/classes better
* render node shapes: diamond, house, triangle, invtriangle
* render edge style "double-dash"
* "fill" is the fill color, "background" the background
* better skipping of non-SVG attributes
2005-07-13 v0.06 Tels 31 tests
* require Graph::Easy v0.22
* As_svg: use Graph::Easy to allow a require w/o Graph::Easy
Seperated Graph::Easy::As_svg from Graph::Easy:
2005-06-25 v0.05 Tels 31 tests
* Much more complete: output class attributes, stylesheets etc.
* generate SVG 1.1
* use "stroke-linecap: round" to generate nicer arrow heads
* shorten output by using a few tricks
* render node borders in different styles (dotted etc)
* render edge lines in different styles (dotted etc)
For older CHANGES, please see the Graph::Easy package.