The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for SVG-Rasterize

0.003002 Fri Jun 11 20:09:34 NZST 2010
	 - Now introducing the Pango dependency (see 0.003001).
	 - Starting support for text elements. This brings some
	   little, but not backwards compatible changes in the
	   interface of SVG::Rasterize::State:
	   - The child nodes are determined outside of state now and
             handed over to the constructor.
	   - The method hasChildNodes has gone, and nextChild has
             been renamed to shift_child_node.
	 - Additionally, there has been an interface change of the
           before_node_hook (which was marked as experimental). It
	   now receives named parameters and is expected to return a
	   (potentially modified) hash.
	 - Various bug fixes including RT#58114.
	 - Detailed audit of the main docu.

0.003001 Thu Jun  3 20:36:38 NZST 2010
	 - Main purpose for this (kind of premature) release: Fixes
	   bug in SVG::Rasterize::Cairo that prohibit the
	   specification of an output file name.
	 - New dependency Pango (1.220 or higher)...postponed in
	   order to allow testing my perl 5.8.9 installation.
	 - Fixes bug in validation of attributes with a list of
	   valid values.

0.003000 Wed Jun  2 20:41:08 NZST 2010
	 Identical to 0.002003.

0.002003 Wed Jun  2 20:34:37 NZST 2010 (unpublished)
	 - Prepared the framework for greater flexibility in output
           formats etc..
	 - Docu fixes and expansion.

0.002002 Tue Jun  1 21:08:09 NZST 2010 (unpublished)
	 - Partial rendering of paths, polylines, and polygons if
	   they are in error.
	 - Consequent use of Params::Validate (or documentation that
	   parameters are not validated).
	 - Documentation of diagnostics.
	 - Docu fixes and expansion.

0.002001 Sun May 30 16:21:15 NZST 2010 (unpublished)
	 - New dependency Exception::Class (1.29 or higher).
	 - Proper error handling as required by spec (except partial
	   rendering of path, polyline, and polygon).
	 - Docu fixes.
	 - All methods return explicitly.

0.002000 Tue May 25 15:42:09 NZST 2010
	 Documentation updates.

0.001006 Tue May 25 15:06:16 NZST 2010 (unpublished)
	 - Adds support for all basic shapes
	   - rect
	   - circle
	   - ellipse
	   - (line was already supported)
	   - polyline
	   - polygon
	 - Revision of large parts of the docu.

0.001005 Sun May 23 21:39:39 NZST 2010
	 - Color filling (no gradients, patterns etc.).
	 - (Semi-)transparent stroking and filling including
	   different opacity values for stroke and fill and without
	   the fill shining through transparent stroke.
	 - Further newly supported properties (all fill and stroke
	   properties):
	   - fill-rule
	   - stroke-linecap
	   - stroke-linejoin
	   - stroke-miterlimit
	   - stroke-dashoffset
	   - stroke-dasharray
	 - Bugfixes:
	   - in processing of explicit 'inherit' property
	     values
	   - in path data processing
	   - color values are clamped at presentation time instead
	     of parsing time (as recommended by the spec).

0.001004 Fri May 21 21:19:54 NZST 2010 (unpublished)
	 - Elliptical arcs including example script.

0.001003 Thu May 20 19:59:30 NZST 2010 (unpublished)
	 - Support for all path commands except elliptical arc.
	 - Core documentation up-to-date.

0.001002 Sun May 16 19:33:22 NZST 2010
	 - The final transformation matrix is now applied by the
	   rasterization engine and not by SVG::Rasterize. This is
	   necessary for correct stroke-width handling with
	   inhomogeneous scaling and skewing.
	 - Introduces partial path support. All valid path data
	   strings are swallowed, but only moveto, closepath, and
	   lineto commands are supported, the rest is ignored.
	 - Reorganizes SVG::Rasterize::Regexes into a set of
	   hashes. The namespace pollution became uncontrollable.

0.001001 Thu May 13 20:59:13 NZST 2010 (unpublished)
	 - Further consolidates the usage of attribute checking and
	   processing using regexes in SVG::Rasterize::Regexes.
	 - Further completion of %SVG::Specification::ATTR_VAL.

0.001000 Wed May 12 21:00:58 NZST 2010
	 Identical to 0.000009.

0.000009 Wed May 12 20:55:57 NZST 2010 (unpublished)
	 - Introduces SVG::Rasterize::Specification,
	   SVG::Rasterize::Properties, and
	   SVG::Rasterize::Colors. These files are at least
	   semiautomatically created from the DTD or human readable
	   specification. This hopefully finalizes the general
	   structure of the framework to deal with attributes and
	   properties.
	 - Commonly uses regexes are outsourced in
	   SVG::Rasterize::Regexes leading to much cleaner code.
	 - Unsetting of hooks (to undef) now passes parameter
	   validation.

0.000008 Thu May  6 13:28:45 NZST 2010
	 - Corrects docu issues that I have only seen unce uploaded.
	 - Removes POD that slipped into README making the CPAN
	   version look empty.
	 - Homogenizes interface of new and rasterize. The rasterize
	   method now accepts temporary values for (the relevant)
	   object attributes.
	 - Input objects are now validated by interface, not by
	   class, allowing generic DOM objects (not necessarily SVG
	   subclasses) to be rendered.
	 - The rasterization backend is initialized as early as
	   possible allowing early in_error. Makes the root element
	   even less special.

0.000007 Mon May  3 14:41:06 NZST 2010
	 - normalization of attribute values according to XML
           specification
	 - revised docu

0.000006 Sun May  2 22:09:43 NZST 2010 (unpublished)
	 - Introduction of hooks.
	 - Set up framework for support of styling properties. Only
	   very few are supported, though.
	 - Examples directory. Only one very simple example so far.
	 - Tested on Perl 5.8.9 with only the documented dependency
	   modules.

0.000005 Fri Apr 30 13:15:59 NZST 2010 (unpublished)
	 Changed namespace from SVG::Render to SVG::Rasterize. It's
	 much more specific.

0.000004 Fri Apr 30 11:22:36 NZST 2010 (unpublished)
	 - Reorganization of the viewport initialization. The root
	   svg element is much less special now.
	 - State only uses the name and attributes of a node. The
	   only exception is the provision of the nextChild
	   method. The node object is still saved for the use in
	   hooks, but it is not used. The distinction between
	   parsing a DOM tree or a file is entirely made in
	   SVG::Render.
	 - Revised the concept of length to number mapping preparing
	   it for the support of relative lengths.

0.000003 Thu Apr 29 15:51:16 NZST 2010 (unpublished)
	 - (Almost) full documentation of SVG::Render and
	   SVG::Render::State.

0.000002 Wed Apr 28 19:33:09 NZST 2010 (unpublished)
	 - Full support for the transform attribute.
	 - Support for absolute units.
	 - Initial viewport including viewBox and
           preserveAspectRatio.

0.000001 Sun Apr 25 19:43:28 NZST 2010 (unpublished)
         First release, proof of concept only. Can only draw black
         lines of fixed width. Shows successful deployment of Cairo.