cmlenz@276: Version 0.4 cmlenz@276: http://svn.edgewall.org/repos/genshi/tags/0.4.0/ cmlenz@276: (?, from branches/stable/0.4.x) cmlenz@276: cmlenz@276: * New example applications for CherryPy and web.py. cmlenz@276: * The template loader now uses a LRU cache to limit the number of cached cmlenz@276: templates to a configurable maximum. Also, a race condition in the template cmlenz@276: loader was fixed by adding locking. cmlenz@276: * A new filter (genshi.filters.HTMLFormFiller) was added, which can populate cmlenz@276: HTML forms based on a dictionary of values. cmlenz@277: * The set of permitted tag and attribute names for the HTMLSanitizer can now cmlenz@277: be configured per instance. cmlenz@294: * The template engine plugin now supports a range of options for cmlenz@294: configuration, for example to set the default serialization method, the cmlenz@294: default output encoding, or the default DOCTYPE. cmlenz@302: * The ElementTree adaptation function `ET()` has moved into the `genshi.input` cmlenz@302: module. cmlenz@302: * Allow `when` directives to omit the test expression as long as the cmlenz@302: associated choose directive does have one. In that case, the when branch is cmlenz@302: followed if the expression of the choose directive evaluates to a truth cmlenz@302: value. cmlenz@317: * Unsuccessful attribute or item lookups now return `Undefined` objects for cmlenz@317: nicer error messages. cmlenz@336: * Split up the `genshi.template` module into multiple modules inside the new cmlenz@336: `genshi.template` package. cmlenz@343: * Results of expression evaluation are no longer implicitly called if they cmlenz@343: are callable. cmlenz@345: * Instances of the `genshi.core.Attrs` class are now immutable (they are cmlenz@345: subclasses of `tuple` instead of `list`). cmlenz@374: * `MarkupTemplate`s can now be instantiated from markup streams, in addition cmlenz@374: to strings and file-like objects (ticket #69). cmlenz@378: * Improve handling of incorrectly nested tags in the HTML parser. cmlenz@399: * Template includes can now be nested inside fallback content. cmlenz@399: * Expressions can now contain dict literals (ticket #37). cmlenz@399: * It is now possible to have one or more escaped dollar signs in front of a cmlenz@399: full expression (ticket #92). cmlenz@401: * The `Markup` class is now available by default in template expressions cmlenz@401: (ticket #67). cmlenz@411: * The handling of namespace declarations in XML/XHTML output has been improved. cmlenz@411: * The `Attrs` class no longer automatically wraps all attribute names in cmlenz@411: `QName` objects. This is now the responsibility of whoever is instantiating cmlenz@411: `Attrs` objects (for example, stream filters and generators). cmlenz@411: * Python code blocks are now supported using the `` processing cmlenz@411: instruction (ticket #84). cmlenz@365: cmlenz@365: cmlenz@387: Version 0.3.6 cmlenz@387: http://svn.edgewall.org/repos/genshi/tags/0.3.6/ cmlenz@387: (Dec 11 2006, from branches/stable/0.3.x) cmlenz@387: cmlenz@387: * The builder API now accepts streams as children of elements and fragments. cmlenz@387: cmlenz@387: cmlenz@365: Version 0.3.5 cmlenz@387: http://svn.edgewall.org/repos/genshi/tags/0.3.5/ cmlenz@365: (Nov 22 2006, from branches/stable/0.3.x) cmlenz@365: cmlenz@371: * Fix XPath traversal in match templates. Previously, `div/p` would be treated cmlenz@371: the same as `div//p`, i.e. it would match all descendants and not just the cmlenz@371: immediate children. cmlenz@365: * Preserve whitespace in HTML `
` elements also when they contain child
cmlenz@365:    elements.
cmlenz@365:  * Match templates no longer match their own output (ticket #77).
cmlenz@365:  * Blank lines before directives in text templates are now preserved as
cmlenz@365:    expected (ticket #62).
cmlenz@346: 
cmlenz@317: 
cmlenz@317: Version 0.3.4
cmlenz@317: http://svn.edgewall.org/repos/genshi/tags/0.3.4/
cmlenz@323: (Nov 2 2006, from branches/stable/0.3.x)
cmlenz@317: 
cmlenz@317:  * The encoding of HTML and XML files, as well as markup and text templates,
cmlenz@317:    can now be specified. Also, the encoding specified in XML declarations is
cmlenz@317:    now respected unless an expiclit encoding is requested.
cmlenz@317:  * Expressions used as arguments for `py:with`, `py:def`, and `py:for`
cmlenz@317:    directives can now contain non-ASCII strings.
cmlenz@285: 
cmlenz@285: 
cmlenz@288: Version 0.3.3
cmlenz@288: http://svn.edgewall.org/repos/genshi/tags/0.3.3/
cmlenz@302: (Oct 16 2006, from branches/stable/0.3.x)
cmlenz@288: 
cmlenz@288:  * Fixed bug introduced in 0.3.2 that broke the parsing of templates which
cmlenz@288:    declare the same namespace more than once in a nested fashion.
cmlenz@294:  * Fixed the parsing of HTML entity references inside attribute values, both
cmlenz@294:    in the `XMLParser` and the `HTMLParser` classes.
cmlenz@302:  * Some changes to usage of absolute vs. relative template paths to ensure that
cmlenz@302:    the filenamed-keyed cache employed by the TemplateLoader doesn't mix up
cmlenz@302:    templates with the same name, but from different subdirectories.
cmlenz@288: 
cmlenz@288: 
cmlenz@285: Version 0.3.2
cmlenz@285: http://svn.edgewall.org/repos/genshi/tags/0.3.2/
cmlenz@285: (Oct 12 2006, from branches/stable/0.3.x)
cmlenz@285: 
cmlenz@285:  * Exceptions from templates now contain the absolute path to the template file
cmlenz@285:    when a search path is used. This enables tracebacks to display the line in
cmlenz@285:    question.
cmlenz@285:  * The template engine plugin now provides three different types: "genshi" and
cmlenz@285:    "genshi-markup" map to markup templates, while "genshi-text" maps to text
cmlenz@285:    templates.
cmlenz@278:  * Fixed the namespace context used by XPath patterns in py:match templates.
cmlenz@278:    The were erroneously using the namespace context of the elements being
cmlenz@278:    matched, where they should rather use the context in which they were
cmlenz@278:    defined.
cmlenz@285:  * The contents of `