view ChangeLog @ 379:e1d659c87ddf trunk

The builder API now accepts streams as children of elements and fragments.
author cmlenz
date Thu, 23 Nov 2006 17:48:17 +0000
parents 873ca2a7ec05
children b9fc7a1f76ca
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.
 * 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`).
 * `MarkupTemplate`s can now be instantiated from markup streams, in addition
   to strings and file-like objects (ticket #69).
 * Improve handling of incorrectly nested tags in the HTML parser.
 * The builder API now accepts streams as children of elements and fragments.


Version 0.3.5
http://svn.edgewall.org/repos/genshi/tags/0.3.4/
(Nov 22 2006, from branches/stable/0.3.x)

 * 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.
 * Preserve whitespace in HTML `<pre>` elements also when they contain child
   elements.
 * Match templates no longer match their own output (ticket #77).
 * Blank lines before directives in text templates are now preserved as
   expected (ticket #62).


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
Copyright (C) 2012-2017 Edgewall Software