Mercurial > genshi > genshi-test
view ChangeLog @ 364:41d6eb7885ec
Fix for #77: match templates were matching their own output.
author | cmlenz |
---|---|
date | Wed, 22 Nov 2006 16:52:34 +0000 |
parents | 2304e080ec07 |
children | 85d910b8f9e5 |
line wrap: on
line source
Version 0.4 http://svn.edgewall.org/repos/genshi/tags/0.4.0/ (?, from branches/stable/0.4.x) * New example applications for CherryPy and web.py. * The template loader now uses a LRU cache to limit the number of cached templates to a configurable maximum. Also, a race condition in the template loader was fixed by adding locking. * A new filter (genshi.filters.HTMLFormFiller) was added, which can populate HTML forms based on a dictionary of values. * The set of permitted tag and attribute names for the HTMLSanitizer can now be configured per instance. * The template engine plugin now supports a range of options for configuration, for example to set the default serialization method, the default output encoding, or the default DOCTYPE. * The ElementTree adaptation function `ET()` has moved into the `genshi.input` module. * Allow `when` directives to omit the test expression as long as the associated choose directive does have one. In that case, the when branch is followed if the expression of the choose directive evaluates to a truth value. * Unsuccessful attribute or item lookups now return `Undefined` objects for nicer error messages. * Fix XPath traversal in match templates. Previously, `div/p` would be treated the same as `div//p`, i.e. it would match all descendants and not just the immediate children. * Split up the `genshi.template` module into multiple modules inside the new `genshi.template` package. * Results of expression evaluation are no longer implicitly called if they are callable. * Instances of the `genshi.core.Attrs` class are now immutable (they are subclasses of `tuple` instead of `list`). * Preserve whitespace in HTML `<pre>` elements also when they contained any child elements. Version 0.3.4 http://svn.edgewall.org/repos/genshi/tags/0.3.4/ (Nov 2 2006, from branches/stable/0.3.x) * The encoding of HTML and XML files, as well as markup and text templates, can now be specified. Also, the encoding specified in XML declarations is now respected unless an expiclit encoding is requested. * Expressions used as arguments for `py:with`, `py:def`, and `py:for` directives can now contain non-ASCII strings. Version 0.3.3 http://svn.edgewall.org/repos/genshi/tags/0.3.3/ (Oct 16 2006, from branches/stable/0.3.x) * Fixed bug introduced in 0.3.2 that broke the parsing of templates which declare the same namespace more than once in a nested fashion. * Fixed the parsing of HTML entity references inside attribute values, both in the `XMLParser` and the `HTMLParser` classes. * Some changes to usage of absolute vs. relative template paths to ensure that the filenamed-keyed cache employed by the TemplateLoader doesn't mix up templates with the same name, but from different subdirectories. Version 0.3.2 http://svn.edgewall.org/repos/genshi/tags/0.3.2/ (Oct 12 2006, from branches/stable/0.3.x) * Exceptions from templates now contain the absolute path to the template file when a search path is used. This enables tracebacks to display the line in question. * The template engine plugin now provides three different types: "genshi" and "genshi-markup" map to markup templates, while "genshi-text" maps to text templates. * Fixed the namespace context used by XPath patterns in py:match templates. The were erroneously using the namespace context of the elements being matched, where they should rather use the context in which they were defined. * The contents of `<script>` and `<style>` elements are no longer escaped when serializing to HTML but declaring the XHTML namespace in the template. * Improved error message raised when using the `py:for` directive on an object that is not iterable (ticket #60). * Fixed the XPath function `starts-with()` which was always returning true (ticket #61). Version 0.3.1 http://svn.edgewall.org/repos/genshi/tags/0.3.1/ (Sep 22 2006, from branches/stable/0.3.x) * Includes and user-defined filters were not getting the correct context data when used inside a match template (ticket #56). * XPath patterns using the union operator (`|`) were returning only partial results in some cases. Version 0.3 http://svn.edgewall.org/repos/genshi/tags/0.3.0/ (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). Version 0.2 http://svn.edgewall.org/repos/genshi/tags/0.2.0/ (Aug 22 2006, from branches/stable/0.2.x) * XPath syntax errors now contain position info (ticket #20). * Errors in expression evaluation now contain the correct line number in the template (ticket #22). * <script> and <style> element contents are no longer escaped when using HTML serialization (ticket #24). * In some cases expressions in templates did not get interpolated (ticket #26). * CDATA sections are now passed through the pipeline and serialized correctly. That allows using <script> or <style> elements in XHTML output that is still compatible with HTML user agents. * The XHTML serializer now correctly handles elements in foreign namespaces (such as SVG or MathML). * Fixed relative includes in templates on Windows (ticket #27). * Output can be encoded using legacy codecs such as ISO-8859-1. Any character not representable in the chosen encoding gets replaced by the corresponding XML character reference. * String literals in XPath expressions that contain spaces are now parsed as expected. * Added support for the XPath functions boolean(), ceiling(), concat(), contains(), false(), floor(), normalize-space(), number(), round(), starts-with(), string-length(), substring(), substring-after(), substring-before(), translate(), and true(). * Non-ASCII characters in expressions should now be handled correctly (ticket #29). * Default values for arguments of template functions now also work with constants and complex expressions (they only worked for string or number literals before). * XPath expressions in now support XPath variables ($var) in predicates (ticket #31). * Expressions in templates can now span multiple lines if they are enclosed in curly braces. * py:def macros can now be invoked from within expressions inside attribute values (ticket #34). Version 0.1 http://svn.edgewall.org/repos/genshi/tags/0.1.0/ (Aug 3 2006, from branches/stable/0.1.x) * First public release