Changes for version 0.25 - 2006-07-14
- Reverted "circular reference" change from previous release. It wasn't a circular reference after all.
- Added a "description" attribute for rules.
- Updated the graph output to output the description of each rule within the node, along with the node name.
- Fixed the "obscure bug" with the 'wrap_nodes' parameter to the graph() method so that it no longer breaks graphs.
- Changed graph tests to use as_canon() instead of as_text(), since the latter seems to vary with release of GraphViz.
- Add the 'with_state_name' parameter to graph() to prepend the state name to the label for each node if there is a label. Otherwise the label is just the state name regardless of this parameters.
- Changed the 'wrap_nodes' parameter to graph() to 'wrap_node_labels'. The former is still supported but will be removed in a future release.
- Changed the 'wrap_labels' parameter to graph() to 'wrap_edge_labels'. The former is still supported but will be removed in a future release.
- Changed the 'text_wrap' parameter to graph() to 'wrap_length'. The former is still supported but will be removed in a future release.
- Added the 'node_params' and 'edge_params' parameters to graph() to allow greater control over how graphs are output.
- Edges labels no longer use lines to link them to their edges. This behavior can now be handled using 'edge_params => { decorate => 1 }.
- Removed requirement for the Clone module. This also cuts the memory footprint for each rules object roughly in half, since it no longer keeps a clone of the arguments to new().
Modules
Build simple rules-based state machines in Perl
Provides
in lib/FSA/Rules.pm