(Sep 17 2006, from branches/stable/0.3.x)
* The project name was changed from "Markup" to "Genshi". See UPGRADE.txt
for upgrade instructions.
* Expression evaluation now differentiates between undefined variables and
variables that are defined but set to `None`. This also means that local
variables can override built-ins even if the local variable are set to
`None` (ticket 36).
* The plugin implementation now makes more functions available for use inside
templates: XML(), HTML(), defined(), and value-of(). These are mostly for
migration from Kid.
* The parsing of `py:with` directives has been improved: you can now assign
to multiple names, and semicolons inside string literals are treated as
expected.
* Generator expressions can now be used in template expressions (ticket 16).
* Added serialization to plain text (ticket 41).
* Calling functions from template expressions with *args and/or **kwargs
now works correctly (ticket 42).
* The `TemplateLoader` class and the `Template` instances that it manages are
now thread-safe, as they no longer keep any state related to the current
processing context.
* Stream filters and serializers can now be applied using the "pipe" (bitwise
or) operator "|".
* The execution of named template functions (`py:def`) no longer silently
swallows TypeError exceptions (ticket 44).
* The XML Parser now correctly handles unicode input (ticket 43).
* HTML entities can now be used in templates without having to declare an HTML
document type.
* Error reporting on undefined entities has been fixed.
* Fix traversal of substreams by XPath expressions. For example, the path
'*/*' no longer matches non-immediate child elements, and '*' no longer
matches the attributes of descendants.
* Fixes for `py:match` which would get confused when it should be applied
to multiple elements (ticket 49).
* Using namespace prefixes in XPath expressions is now supported.
* Expressions now correctly handle slices (ticket 51).
* A simple text-based template language is now included for generating
plain text output (ticket 47).