Mercurial > genshi > mirror
comparison ChangeLog @ 820:9755836bb396 experimental-inline
Sync (old) experimental inline branch with trunk@1027.
author | cmlenz |
---|---|
date | Wed, 11 Mar 2009 17:51:06 +0000 |
parents | 3eb30e4ece8c |
children | a55e4d51b8ff |
comparison
equal
deleted
inserted
replaced
500:3eb30e4ece8c | 820:9755836bb396 |
---|---|
1 Version 0.6 | |
2 http://svn.edgewall.org/repos/genshi/tags/0.6.0/ | |
3 (???, from branches/stable/0.6.x) | |
4 | |
5 * Support for Python 2.3 has been dropped. | |
6 | |
7 | |
8 Version 0.5.2 | |
9 http://svn.edgewall.org/repos/genshi/tags/0.5.2/ | |
10 (???, from branches/stable/0.5.x) | |
11 | |
12 * Fix problem with I18n filter that would get confused by expressions in | |
13 attribute values when inside an `i18n:msg` block (ticket #250). | |
14 * Fix problem with the transformation filter dropping events after the | |
15 selection (ticket #290). | |
16 * `for` loops in template code blocks no longer establish their own locals | |
17 scope, meaning you can now access variables assigned in the loop outside | |
18 of the loop, just as you can in regular Python code (ticket #259). | |
19 * Import statements inside function definitions in template code blocks no | |
20 longer result in an UndefinedError when the imported name is accessed | |
21 (ticket #276). | |
22 | |
23 | |
24 Version 0.5.1 | |
25 http://svn.edgewall.org/repos/genshi/tags/0.5.1/ | |
26 (Jul 9 2008, from branches/stable/0.5.x) | |
27 | |
28 * Fix problem with nested match templates not being applied when buffering | |
29 on the outer `py:match` is disabled. Thanks to Erik Bray for reporting the | |
30 problem and providing a test case! | |
31 * Fix problem in `Translator` filter that would cause the translation of | |
32 text nodes to fail if the translation function returned an object that was | |
33 not directly a string, but rather something like an instance of the | |
34 `LazyProxy` class in Babel (ticket #145). | |
35 * Fix problem with match templates incorrectly being applied multiple times. | |
36 * Includes from templates loaded via an absolute path now include the correct | |
37 file in nested directories as long if no search path has been configured | |
38 (ticket #240). | |
39 * Unbuffered match templates could result in parts of the matched content | |
40 being included in the output if the match template didn't actually consume | |
41 it via one or more calls to the `select()` function (ticket #243). | |
42 | |
43 | |
1 Version 0.5 | 44 Version 0.5 |
2 http://svn.edgewall.org/repos/genshi/tags/0.5.0/ | 45 http://svn.edgewall.org/repos/genshi/tags/0.5.0/ |
3 (?, from branches/stable/0.5.x) | 46 (Jun 9 2008, from branches/stable/0.5.x) |
4 | 47 |
5 * Added #include directive for text templates (ticket #115). | 48 * Added #include directive for text templates (ticket #115). |
49 * Added new markup transformation filter contributed by Alec Thomas. This | |
50 provides gorgeous jQuery-inspired stream transformation capabilities based | |
51 on XPath expressions. | |
52 * When using HTML or XHTML serialization, the `xml:lang` attribute is | |
53 automatically translated to the `lang` attribute which HTML user agents | |
54 understand. | |
55 * Added support for the XPath 2 `matches()` function in XPath expressions, | |
56 which allow matching against regular expressions. | |
57 * Support for Python code blocks in templates can now be disabled | |
58 (ticket #123). | |
59 * Includes are now processed when the template is parsed if possible, but | |
60 only if the template loader is not set to do automatic reloading. Included | |
61 templates are basically inlined into the including template, which can | |
62 speed up rendering of that template a bit. | |
63 * Added new syntax for text templates, which is more powerful and flexible | |
64 with respect to white-space and line breaks. It also supports Python code | |
65 blocks. The old syntax is still available and the default for now, but in a | |
66 future release the new syntax will become the default, and some time after | |
67 that the old syntax will be removed. | |
68 * Added support for passing optimization hints to `<py:match>` directives, | |
69 which can speed up match templates in many cases, for example when a match | |
70 template should only be applied once to a stream, or when it should not be | |
71 applied recursively. | |
72 * Text templates now default to rendering as plain text; it is no longer | |
73 necessary to explicitly specify the "text" method to the `render()` or | |
74 `serialize()` method of the generated markup stream. | |
75 * XInclude elements in markup templates now support the `parse` attribute; | |
76 when set to "xml" (the default), the include is processed as before, but | |
77 when set to "text", the included template is parsed as a text template using | |
78 the new syntax (ticket #101). | |
79 * Python code blocks inside match templates are now executed (ticket #155). | |
80 * The template engine plugin no longer adds the `default_doctype` when the | |
81 `fragment` parameter is `True`. | |
82 * The `striptags` function now also removes HTML/XML-style comments (ticket | |
83 #150). | |
84 * The `py:replace` directive can now also be used as an element, with an | |
85 attribute named `value` (ticket #144). | |
86 * The `TextSerializer` class no longer strips all markup in text by default, | |
87 so that it is still possible to use the Genshi `escape` function even with | |
88 text templates. The old behavior is available via the `strip_markup` option | |
89 of the serializer (ticket #146). | |
90 * Assigning to a variable named `data` in a Python code block no longer | |
91 breaks context lookup. | |
92 * The `Stream.render` now accepts an optional `out` parameter that can be | |
93 used to pass in a writable file-like object to use for assembling the | |
94 output, instead of building a big string and returning it. | |
95 * The XHTML serializer now strips `xml:space` attributes as they are only | |
96 allowed on very few tags. | |
97 * Match templates are now applied in a more controlled fashion: in the order | |
98 they are declared in the template source, all match templates up to (and | |
99 including) the matching template itself are applied to the matched content, | |
100 whereas the match templates declared after the matching template are only | |
101 applied to the generated content (ticket #186). | |
102 * The `TemplateLoader` class now provides an `_instantiate()` method that can | |
103 be overridden by subclasses to implement advanced template instantiation | |
104 logic (ticket #204). | |
105 * The search path of the `TemplateLoader` class can now contain ''load | |
106 functions'' in addition to path strings. A load function is passed the | |
107 name of the requested template file, and should return a file-like object | |
108 and some metadata. New load functions are supplied for loading from egg | |
109 package data, and loading from different loaders depending on the path | |
110 prefix of the requested filename (ticket #182). | |
111 * Match templates can now be processed without keeping the complete matched | |
112 content in memory, which could cause excessive memory use on long pages. | |
113 The buffering can be disabled using the new `buffer` optimization hint on | |
114 the `<py:match>` directive. | |
115 * Improve error reporting when accessing an attribute in a Python expression | |
116 raises an `AttributeError` (ticket #191). | |
117 * The `Markup` class now supports mappings for right hand of the `%` (modulo) | |
118 operator in the same way the Python string classes do, except that the | |
119 substituted values are escape. Also, the special constructor which took | |
120 positional arguments that would be substituted was removed. Thus the | |
121 `Markup` class now supports the same arguments as that of its `unicode` | |
122 base class (ticket #211). | |
123 * The `Template` class and its subclasses, as well as the interpolation API, | |
124 now take an `filepath` parameter instead of `basedir` (ticket #207). | |
125 * The `XHTMLSerializer` now has a `drop_xml_decl` option that defaults to | |
126 `True`. Setting it to `False` will cause any XML decl in the serialized | |
127 stream to be included in the output as it would for XML serialization. | |
128 * Add support for a protocol that would allow interoperability of different | |
129 Python packages that generate and/or consume markup, based on the special | |
130 `__html__()` method (ticket #202). | |
131 | |
132 | |
133 Version 0.4.4 | |
134 http://svn.edgewall.org/repos/genshi/tags/0.4.4/ | |
135 (Aug 14, 2007, from branches/stable/0.4.x) | |
136 | |
137 * Fixed augmented assignment to local variables in Python code blocks. | |
138 * Fixed handling of nested function and class definitions in Python code | |
139 blocks. | |
140 * Includes were not raising `TemplateNotFound` exceptions even when no | |
141 fallback has been specified. That has been corrected. | |
142 * The template loader now raises a `TemplateNotFound` error when a previously | |
143 cached template is removed or renamed, where it previously was passing up | |
144 an `OSError`. | |
145 * The Genshi I18n filter can be configured to only extract messages found in | |
146 `gettext` function calls, ignoring any text nodes and attribute values | |
147 (ticket #138). | |
148 | |
149 | |
150 Version 0.4.3 | |
151 http://svn.edgewall.org/repos/genshi/tags/0.4.3/ | |
152 (Jul 17 2007, from branches/stable/0.4.x) | |
153 | |
154 * The I18n filter no longer extracts or translates literal strings in | |
155 attribute values that also contain expressions. | |
156 * Added `loader_callback` option to plugin interface, which allows specifying | |
157 a callback function that the template loader should invoke whenever a new | |
158 template is loaded (ticket #130). Note that the value for this option can | |
159 not be specified as a string, only as an actual function object, which means | |
160 it is not available for use through configuration files. | |
161 * The I18n filter now extracts messages from gettext functions even inside | |
162 ignored tags (ticket #132). | |
163 * The HTML sanitizer now strips any CSS comments in style attributes, which | |
164 could previously be used to hide malicious property values. | |
165 * The HTML sanitizer now also removes any HTML comments encountered, as those | |
166 may be used to hide malicious payloads targetting a certain "innovative" | |
167 browser that goes and interprets the content of specially prepared comments. | |
168 * Attribute access in template expressions no longer silently ignores | |
169 exceptions other than `AttributeError` raised in the attribute accessor. | |
6 | 170 |
7 | 171 |
8 Version 0.4.2 | 172 Version 0.4.2 |
9 http://svn.edgewall.org/repos/genshi/tags/0.4.2/ | 173 http://svn.edgewall.org/repos/genshi/tags/0.4.2/ |
10 (?, from branches/stable/0.4.x) | 174 (Jun 20 2007, from branches/stable/0.4.x) |
11 | 175 |
12 * The `doctype` parameter of the markup serializers now also accepts the "name" | 176 * The `doctype` parameter of the markup serializers now also accepts the "name" |
13 of the doctype as string, in addition to the `(name, pubid, sysid)` tuple. | 177 of the doctype as string, in addition to the `(name, pubid, sysid)` tuple. |
14 * The I18n filter was not replacing the original attributes with the | 178 * The I18n filter was not replacing the original attributes with the |
15 translation, but instead adding a second attribute with the same name. | 179 translation, but instead adding a second attribute with the same name. |
180 * `TextTemplate` can now handle unicode source (ticket #125). | |
181 * A `<?python ?>` processing instruction containing trailing whitespace no | |
182 longer causes a syntax error (ticket #127). | |
183 * The I18n filter now skips the content of elements that have an `xml:lang` | |
184 attribute with a fixed string value. Basically, `xml:lang` can now be used | |
185 as a flag to mark specific sections as not needing localization. | |
186 * Added plugin for message extraction via Babel (http://babel.edgewall.org/). | |
16 | 187 |
17 | 188 |
18 Version 0.4.1 | 189 Version 0.4.1 |
19 http://svn.edgewall.org/repos/genshi/tags/0.4.1/ | 190 http://svn.edgewall.org/repos/genshi/tags/0.4.1/ |
20 (May 21 2007, from branches/stable/0.4.x) | 191 (May 21 2007, from branches/stable/0.4.x) |