 + emacs mode for ABCD
 ! fixex nodes merge in plugin labels
 ! fixed nets.MultiArc.flow (thanks to Jan Ciger's report)

version 0.9.13 (Fri Jul 16 17:01:22 CEST 2010):
 + added inhibitor arcs
 + added Ubuntu Lucid (10.04) package
 ! fixed data.WordSet.fresh when base is used
 ! fixed reduce(xor, []) is some __hash__ methods
 + added PetriNet.layout method in snakes.plugins.gv

version 0.9.12 (Thu Apr 1 19:42:33 CEST 2010):
 + removed PyGraphviz dependency (layout method supressed temporarily)
 + now compatible with PyPy (1.2), Unladen-Swallow and Jython (2.5.1)
 ! fixed snakes.plugins.clusters.rename_node
 ! fixed snakes.nets.Flush.flow
 ! fixed an uncaught exception in snakes.data.MultiSet.__eq__
   and snakes.data.Symbol.__eq__
 ! hopefully fixed LALR built in ABCD compiler
 ! fixed hash-related issues
 * moved PLY stuff to snakes.utils.abcd
 * snakes.compyler has been completely replaced (PLY dependency removed)

version 0.9.11 (Thu Mar 25 19:32:31 CET 2010):
 ! fixed various doctests
 ! fixed issues with attributes locking
 ! fixed issues related to missing __hash__ methods
 ! fixed renaming a node to itself in ABCD
 + added snakes.nets.Evaluator.__contains__
 + added base argument to snakes.data.WordSet
 + added option --symbols to ABCD compiler
 + added snakes.data.Symbol
 + added net instances naming in ABCD
 + added logo
 + added let function to update bindings from expressions
 + added snakes.data.Subtitution.__setitem__

version 0.9.10 (Fri Jun 19 13:32:45 CEST 2009):
 ! fixed inconstent hashing on clusters
 ! fixed mutability of hashed multisets
 ! fixed snakes.nets.Tuple.mode

version 0.9.9 (Tue, 19 May 2009 15:00:00 +0100):
 + added mkdeb.py to build deb packages for multiple distributions
 + ported to Python 2.6

version 0.9.8 (lun, 23 mar 2009 17:30:34 (CET)):
 + added graph_attr option to snakes.plugins.gv.StateGraph
 * plugin gv now draws partially constructed marking graphs
 ! fixed expression compilation in present of net parameters in ABCD
   compiler
 ! fixed flush arcs binding
 * plugin lashdata has been removed because its too experimental
 * merged plugin decorators into a single one

version 0.9.7 (Tue, 20 Jan 2009 13:04:15 +0100):
 ! fixed sharing of globals between net components
 ! fixed loading of PNML when some plugins fail to load
 + added cpp option to abcd
 + added some docstrings and doctests
 ! fixed sharing of globals between net components

version 0.9.6 (Fri, 28 Nov 2008 15:22:27 +0100):
 + added doc for ABCD
 ! fixed False and True handling in ABCD compiler
 + added cross product types to ABCD

version 0.9.5 (Wed, 19 Nov 2008 21:42:05 +0100):
 + added distutils setup.py
 * strip PNML data before decoding (work around invalid XML)
 ! fixed Multiset.__pnmlload__ on iterable values

version 0.9.4 (mar, 28 oct 2008 12:28:02 (UTC+0100)):
 ! fixed nets.Value.__eq__, __ne__ and __hash__
 ! fixed nets.Token.__repr__
 + added Flush arcs
 ! fixed nets.Tuple.bind
 ! fixed PNML dump/load of subclasses
 ! fixed nets.PetriNet.merge_* in the presence of Tuple arcs
 ! fixed plugins.clusters.Cluster.path
 ! fixed plugins.status.PetriNet.__pnmlload__
 ! fixed ABCD lexer
 + improved ABCD compiler with parametric nets, Python declarations
 ! fixed black token values in ABCD     arcs     and flush
 + ABCD compiler launches pdb.post_mortem when an error occurs in
 + added TCP mode to query plugin     debug mode
 * removed dependency to epydoc in snakes.typing
 + updated PNML doc
 + added a producer/consumer ABCD example

version 0.9.3 (lun, 29 sep 2008 08:04:55 (CEST)):
 ! fixed a bug in place pnml loading
 ! fixed wrong association of pnml tags to classes
 + improved query and associated programs, added documentation
 * improved loading of PNML files with plugins
 * PNML tag <snakes> can only occur once as a child of <pnml>
 + abcd compiler adds many structural information to PNML (including
 + test.py checks is snakes.version is correct     AST if asked)
 + query plugins now has two verbosity levels
 + added snakes.compyler.Tree.__pnmldump__()

version 0.9.2
 + added query plugin and demon client/server programs
 ! various small bugs fixed
 + improved PNML serialisation of standard objects
 + snakes.plugins.load puts new module in caller's environment
 ! fixed snakes.pnml.Tree.update
 * Substitution.image() returns a set
 + added apix.py
 ! PNML export empty arcs fixed
 ! fixed broken abcd.py
 * updated abcd.py so it uses gv
 * improved clustering efficiency

version 0.9.1
 + added plugin gv to replace graphviz
 + added plugin clusters to manage clusters of nodes
 + updated plugins ops so it builds clusters
 * the plugin posops is deprecated since gv does the work much better

version 0.9
 * dropped compatibilty with Python 2.4
 + finished pnml
 * the compyler module has been completely replaced

Changes in 0.8.4 (06.09.2007 11:30:21):
 + updated the tutorial

Changes in 0.8.3 (29.06.2007 11:57:39):
 + snakes.plugins.graphivz: added options to control the layout
 + snakes.plugins.graphviz: improved the rendering
 + updated the tutorial

Changes in 0.8.2 (22.06.2007 13:09:02):
 + snakes.plugins.ops: added a name hiding operator (PetriNet.__div__)
 ! fixed several copy/clone problems

Changes in 0.8.1 (20.06.2007 10:18:17):
 * updated tutorial
 + snakes.plugins.pos: the position of a node can be redefined when
 ! snakes.plugins.pos: accept float positions when loading from pnml

Changes in 0.8 (19.06.2007 17:19:19): First public release.
