0.7.1:
Add support for Python 3.5, 3.6 and 3.7.
Move to GitHub and Travis CI.
Add support for iterator arguments to _speedups Markup.join implementation so that it matches
the Python implementation.
Add HTML5 input placeholder attribute to list of translatable attributes.
Add missing boolean attributes to XHTML and HTML serializers.
Fix infinite recursion in template inlining.
Support slash escaped of CRLF newlines.
Disable the speedups C extension on CPython >= 3.3 since Genshi doesn't support the new Unicode
C API yet.
Fix handling of case where a translation has text after a closing tag.
Fix assert with side-effect in xi:fallback directive processing
Version 0.7
http://svn.edgewall.org/repos/genshi/tags/0.7.0/
(Jan 27 2013, from branches/stable/0.7.x)
* Add support for Python 3.1, 3.2 and 3.3 (via 2to3) and for PyPy. The
majority of the coding was done in a sprint run by the Cape Town Python
Users Group with financial assistance from the Python Software Foundation.
* Default input and output encodings changed from UTF-8 to None (i.e. unicode
strings).
* Skip Mako benchmarks if Mako isn't installed (rather than failing
completely).
Version 0.6.1
http://svn.edgewall.org/repos/genshi/tags/0.6.1/
(Jan 27 2013, from branches/stable/0.6.x)
* Security fix to enhance sanitizing of CSS in style attributes. Genshi's
`HTMLSanitizer` disallows style attributes by default (this remains
unchanged) and warns against such attacks in its documentation, but
the provided CSS santizing is now less lacking (see #455).
* Fix for error in how `HTMLFormFiller` would handle `textarea` elements if
no value was not supplied form them.
* The `HTMLFormFiller` now correctly handles check boxes and radio buttons
with an empty `value` attribute.
* Template `Context` objects now have a `.copy` method.
* Added a simple `tox.ini` file for using tox to test against multiple
verions of Python.
* Fix for bug in `QName` comparison (see #413).
* Fix for bug in handling of trailing events in match template matches
(see #399).
* Fix i18n namespace declaration in documentation (see #400).
* Fix for bug in caching of events in serializers by no longer caching
`(TEXT, Markup)` events (see #429).
* Fix handling of `None` by `Markup.escape` in `_speedups.c` (see #439).
* Fix handling of internal state by match templates (relevant when multiple
templates match the same part of the stream, see #370).
* Fix handling of multiple events between or on either side of start and end
tags in translated messages (see #404).
* Fix test failures caused by changes in HTMLParser in Python 2.7 (see #501).
* Fix infinite loop in interplotation lexing that was introduced by a change
in Python 2.7's tokenizer (see #540).
* Fix handling of processing instructions without data (see #368).
* Updated MANIFEST.in so as not to rely on build from Subersion 1.6.
Version 0.6
http://svn.edgewall.org/repos/genshi/tags/0.6.0/
(Apr 22 2010, from branches/stable/0.6.x)
* Support for Python 2.3 has been dropped.
* Rewrite of the XPath evaluation engine for better performance and improved
correctness. This is the result of integrating work done by Marcin Kurczych
during GSoC 2008.
* Updated the Python AST processing for template code evaluation to use the
`_ast` module instead of the deprecated `compiler` package, including an
adapter layer for Python 2.4. This, too, is the result of integrating work
done by Marcin Kurczych during GSoC 2008.
* Added caching in the serialization stage for improved performance in some
cases.
* Various improvements to the HTML sanitization filter.
* Fix problem with I18n filter that would get confused by expressions in
attribute values when inside an `i18n:msg` block (ticket #250).
* Fix problem with the transformation filter dropping events after the
selection (ticket #290).
* `for` loops in template code blocks no longer establish their own locals
scope, meaning you can now access variables assigned in the loop outside
of the loop, just as you can in regular Python code (ticket #259).
* Import statements inside function definitions in template code blocks no
longer result in an UndefinedError when the imported name is accessed
(ticket #276).
* Fixed handling of relative URLs with fragment identifiers containing colons
in the `HTMLSanitizer` (ticket #274).
* Added an option to the `HTMLFiller` to also populate password fields.
* Match template processing no longer produces unwanted duplicate output in
some cases (ticket #254).
* Templates instantiated without a loader now get an implicit loader based on
their file path, or the current directory as a fallback (ticket #320).
* Added documentation for the `TemplateLoader`.
* Enhanced documentation for internationalization.
Genshi is a Python library that provides an integrated set of components for
parsing, generating, and processing HTML, XML or other textual content for
output generation on the web. The major feature is a template language, which
is heavily inspired by Kid.