2008-10-28 -- 1.5.0
- Repeater.repeat() can now forward keyword arguments to callback (previously supported positional arguments only)
- Template.structure() now prints to stderr
- converted documentation to HTML format
- updated website URL

2006-10-20 -- 1.4.3
- fixed Manual.txt typo ('warnings' argument was missing in Template.__init__)
- fixed copyright message in HTMLTemplate.py (thanks FS)

2006-03-10 -- 1.4.2
- changed from LGPL to MIT license

2006-01-08 -- 1.4.1
- fixed attribute value escaping (thanks TWY, RB)

2005-11-17 -- 1.4.0
- attribute values are now escaped using supplied codecs functions (thanks TWY)
- added workaround to prevent HTMLParser from decoding some HTML entities in attribute values when parsing template markup

2005-10-15 -- 1.3.0
- added 'warnings' parameter to Template constructor (thanks FS)

2005-04-18 -- 1.2.1
- fixed rendering of processing instructions so they don't include an extra trailing '?' (thanks AC)

2005-02-01 -- 1.2.0
- fixed parsing error bug when separator tags contained other attributes, e.g. <hr node="sep:item" width="3" /> (thanks KM)
- now supports content and raw properties on nodes containing sub-nodes
- expanded source code comments

2005-01-07 -- 1.1.2
- fixed missing <td> tags in Demo5_AlternatingRowColors.py that caused HTML table to render incorrectly in Firefox (thanks FS)

2004-08-08 -- 1.1.1
- now handles tag attributes without values, e.g. <hr norule>, node.atts['norule']=None (thanks GD)
- better type checking on tag attribute assignment

2004-06-16 -- 1.1.0
- internal optimisations boost rendering speed by 3-5x
- fixed faulty error message in RichContent.__setattr__
- added more information on Python's HTMLParser to Known Issues

2004-06-01 -- 1.0.0
- '1.0 final' release