Edgewall Software

Change Log

Version 0.8 http://svn.edgewall.org/repos/genshi/tags/0.8.0/ (???, from branches/stable/0.7.x) * ??? 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 2012, 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. Version 0.5.1 http://svn.edgewall.org/repos/genshi/tags/0.5.1/ (Jul 9 2008, from branches/stable/0.5.x) * Fix problem with nested match templates not being applied when buffering on the outer `py:match` is disabled. Thanks to Erik Bray for reporting the problem and providing a test case! * Fix problem in `Translator` filter that would cause the translation of text nodes to fail if the translation function returned an object that was not directly a string, but rather something like an instance of the `LazyProxy` class in Babel (ticket #145). * Fix problem with match templates incorrectly being applied multiple times. * Includes from templates loaded via an absolute path now include the correct file in nested directories as long if no search path has been configured (ticket #240). * Unbuffered match templates could result in parts of the matched content being included in the output if the match template didn't actually consume it via one or more calls to the `select()` function (ticket #243). Version 0.5 http://svn.edgewall.org/repos/genshi/tags/0.5.0/ (Jun 9 2008, from branches/stable/0.5.x) * Added #include directive for text templates (ticket #115). * Added new markup transformation filter contributed by Alec Thomas. This provides gorgeous jQuery-inspired stream transformation capabilities based on XPath expressions. * When using HTML or XHTML serialization, the `xml:lang` attribute is automatically translated to the `lang` attribute which HTML user agents understand. * Added support for the XPath 2 `matches()` function in XPath expressions, which allow matching against regular expressions. * Support for Python code blocks in templates can now be disabled (ticket #123). * Includes are now processed when the template is parsed if possible, but only if the template loader is not set to do automatic reloading. Included templates are basically inlined into the including template, which can speed up rendering of that template a bit. * Added new syntax for text templates, which is more powerful and flexible with respect to white-space and line breaks. It also supports Python code blocks. The old syntax is still available and the default for now, but in a future release the new syntax will become the default, and some time after that the old syntax will be removed. * Added support for passing optimization hints to `

Last modified 8 years ago Last modified on Dec 14, 2015, 6:22:32 AM