Mercurial > genshi > mirror
annotate ChangeLog @ 784:ea46fb523485 experimental-match-fastpaths
update to 0.5.x branch, up through r907
don't know how this fits in with SoC work, but I wanted to do due diligence and keep this branch working in case it someday gets considered for trunk
author | aflett |
---|---|
date | Mon, 21 Jul 2008 23:17:52 +0000 |
parents | d143dd73789b |
children |
rev | line source |
---|---|
784 | 1 Version 0.5.1 |
2 http://svn.edgewall.org/repos/genshi/tags/0.5.1/ | |
3 (Jul 9 2008, from branches/stable/0.5.x) | |
4 | |
5 * Fix problem with nested match templates not being applied when buffering | |
6 on the outer `py:match` is disabled. Thanks to Erik Bray for reporting the | |
7 problem and providing a test case! | |
8 * Fix problem in `Translator` filter that would cause the translation of | |
9 text nodes to fail if the translation function returned an object that was | |
10 not directly a string, but rather something like an instance of the | |
11 `LazyProxy` class in Babel (ticket #145). | |
12 * Fix problem with match templates incorrectly being applied multiple times. | |
13 * Includes from templates loaded via an absolute path now include the correct | |
14 file in nested directories as long if no search path has been configured | |
15 (ticket #240). | |
16 * Unbuffered match templates could result in parts of the matched content | |
17 being included in the output if the match template didn't actually consume | |
18 it via one or more calls to the `select()` function (ticket #243). | |
19 | |
20 | |
475
b373f80f7763
Added include directive for text templates (#115). Thanks to Alastair for the original patch.
cmlenz
parents:
473
diff
changeset
|
21 Version 0.5 |
b373f80f7763
Added include directive for text templates (#115). Thanks to Alastair for the original patch.
cmlenz
parents:
473
diff
changeset
|
22 http://svn.edgewall.org/repos/genshi/tags/0.5.0/ |
784 | 23 (Jun 9 2008, from branches/stable/0.5.x) |
475
b373f80f7763
Added include directive for text templates (#115). Thanks to Alastair for the original patch.
cmlenz
parents:
473
diff
changeset
|
24 |
b373f80f7763
Added include directive for text templates (#115). Thanks to Alastair for the original patch.
cmlenz
parents:
473
diff
changeset
|
25 * Added #include directive for text templates (ticket #115). |
501
5e7604c2d60d
Added new markup transformation filter contributed by Alec Thomas (#122). This provides gorgeous jQuery-inspired stream transformation capabilities based on XPath expressions.
cmlenz
parents:
494
diff
changeset
|
26 * Added new markup transformation filter contributed by Alec Thomas. This |
5e7604c2d60d
Added new markup transformation filter contributed by Alec Thomas (#122). This provides gorgeous jQuery-inspired stream transformation capabilities based on XPath expressions.
cmlenz
parents:
494
diff
changeset
|
27 provides gorgeous jQuery-inspired stream transformation capabilities based |
5e7604c2d60d
Added new markup transformation filter contributed by Alec Thomas (#122). This provides gorgeous jQuery-inspired stream transformation capabilities based on XPath expressions.
cmlenz
parents:
494
diff
changeset
|
28 on XPath expressions. |
524
7553760b58af
Add special handling for `xml:lang` to HTML/XHTML serialization.
cmlenz
parents:
522
diff
changeset
|
29 * When using HTML or XHTML serialization, the `xml:lang` attribute is |
7553760b58af
Add special handling for `xml:lang` to HTML/XHTML serialization.
cmlenz
parents:
522
diff
changeset
|
30 automatically translated to the `lang` attribute which HTML user agents |
7553760b58af
Add special handling for `xml:lang` to HTML/XHTML serialization.
cmlenz
parents:
522
diff
changeset
|
31 understand. |
537 | 32 * Added support for the XPath 2 `matches()` function in XPath expressions, |
33 which allow matching against regular expressions. | |
545
619340e2d805
Support for Python code blocks in templates can now be disabled. Closes #123.
cmlenz
parents:
538
diff
changeset
|
34 * Support for Python code blocks in templates can now be disabled |
619340e2d805
Support for Python code blocks in templates can now be disabled. Closes #123.
cmlenz
parents:
538
diff
changeset
|
35 (ticket #123). |
548
1cc1afc39176
Implement static includes, which improves performance a bit when auto reloading is disabled.
cmlenz
parents:
545
diff
changeset
|
36 * Includes are now processed when the template is parsed if possible, but |
1cc1afc39176
Implement static includes, which improves performance a bit when auto reloading is disabled.
cmlenz
parents:
545
diff
changeset
|
37 only if the template loader is not set to do automatic reloading. Included |
1cc1afc39176
Implement static includes, which improves performance a bit when auto reloading is disabled.
cmlenz
parents:
545
diff
changeset
|
38 templates are basically inlined into the including template, which can |
1cc1afc39176
Implement static includes, which improves performance a bit when auto reloading is disabled.
cmlenz
parents:
545
diff
changeset
|
39 speed up rendering of that template a bit. |
592
1da8de3e5e51
Add a new syntax for text templates, which is available alongside the old syntax for now. The new syntax is more poweful and flexible, using Django-style directive notation.
cmlenz
parents:
590
diff
changeset
|
40 * Added new syntax for text templates, which is more powerful and flexible |
609
6d4877844e28
Add support for Python code blocks in text templates using the new syntax.
cmlenz
parents:
605
diff
changeset
|
41 with respect to white-space and line breaks. It also supports Python code |
6d4877844e28
Add support for Python code blocks in text templates using the new syntax.
cmlenz
parents:
605
diff
changeset
|
42 blocks. The old syntax is still available and the default for now, but in a |
6d4877844e28
Add support for Python code blocks in text templates using the new syntax.
cmlenz
parents:
605
diff
changeset
|
43 future release the new syntax will become the default, and some time after |
6d4877844e28
Add support for Python code blocks in text templates using the new syntax.
cmlenz
parents:
605
diff
changeset
|
44 that the old syntax will be removed. |
603 | 45 * Added support for passing optimization hints to `<py:match>` directives, |
46 which can speed up match templates in many cases, for example when a match | |
47 template should only be applied once to a stream, or when it should not be | |
48 applied recursively. | |
605
d0345c64da65
Text templates now default to rendering as plain text; it is no longer necessary to explicitly specify the "text" method to the `render()` or `serialize()` method of the generated markup stream. See tickets #62 and #118.
cmlenz
parents:
603
diff
changeset
|
49 * Text templates now default to rendering as plain text; it is no longer |
d0345c64da65
Text templates now default to rendering as plain text; it is no longer necessary to explicitly specify the "text" method to the `render()` or `serialize()` method of the generated markup stream. See tickets #62 and #118.
cmlenz
parents:
603
diff
changeset
|
50 necessary to explicitly specify the "text" method to the `render()` or |
d0345c64da65
Text templates now default to rendering as plain text; it is no longer necessary to explicitly specify the "text" method to the `render()` or `serialize()` method of the generated markup stream. See tickets #62 and #118.
cmlenz
parents:
603
diff
changeset
|
51 `serialize()` method of the generated markup stream. |
658
5df08e5195b8
The `TextSerializer` class no longer strips all markup in text by default, so that it is still possible to use the Genshi `escape` function even with text templates. The old behavior is available via the `strip_markup` option of the serializer. Closes #146.
cmlenz
parents:
657
diff
changeset
|
52 * XInclude elements in markup templates now support the `parse` attribute; |
5df08e5195b8
The `TextSerializer` class no longer strips all markup in text by default, so that it is still possible to use the Genshi `escape` function even with text templates. The old behavior is available via the `strip_markup` option of the serializer. Closes #146.
cmlenz
parents:
657
diff
changeset
|
53 when set to "xml" (the default), the include is processed as before, but |
5df08e5195b8
The `TextSerializer` class no longer strips all markup in text by default, so that it is still possible to use the Genshi `escape` function even with text templates. The old behavior is available via the `strip_markup` option of the serializer. Closes #146.
cmlenz
parents:
657
diff
changeset
|
54 when set to "text", the included template is parsed as a text template using |
5df08e5195b8
The `TextSerializer` class no longer strips all markup in text by default, so that it is still possible to use the Genshi `escape` function even with text templates. The old behavior is available via the `strip_markup` option of the serializer. Closes #146.
cmlenz
parents:
657
diff
changeset
|
55 the new syntax (ticket #101). |
650
9ff8eccc6f1f
Code blocks in match templates are now executed. Closes #155. Many thanks to Andrew Sutherland for the patch!
cmlenz
parents:
629
diff
changeset
|
56 * Python code blocks inside match templates are now executed (ticket #155). |
651
badb73198fb1
The template engine plugin no longer adds the `default_doctype` when the `fragment` parameter is `True`. Thanks to dbrattli for the patch!
cmlenz
parents:
650
diff
changeset
|
57 * The template engine plugin no longer adds the `default_doctype` when the |
badb73198fb1
The template engine plugin no longer adds the `default_doctype` when the `fragment` parameter is `True`. Thanks to dbrattli for the patch!
cmlenz
parents:
650
diff
changeset
|
58 `fragment` parameter is `True`. |
655
14aa86c3e514
The `striptags` function now also removes HTML/XML-style comments. Closes #150. Thanks to Armin Ronacher for the report and suggested fix.
cmlenz
parents:
651
diff
changeset
|
59 * The `striptags` function now also removes HTML/XML-style comments (ticket |
14aa86c3e514
The `striptags` function now also removes HTML/XML-style comments. Closes #150. Thanks to Armin Ronacher for the report and suggested fix.
cmlenz
parents:
651
diff
changeset
|
60 #150). |
657 | 61 * The `py:replace` directive can now also be used as an element, with an |
62 attribute named `value` (ticket #144). | |
658
5df08e5195b8
The `TextSerializer` class no longer strips all markup in text by default, so that it is still possible to use the Genshi `escape` function even with text templates. The old behavior is available via the `strip_markup` option of the serializer. Closes #146.
cmlenz
parents:
657
diff
changeset
|
63 * The `TextSerializer` class no longer strips all markup in text by default, |
5df08e5195b8
The `TextSerializer` class no longer strips all markup in text by default, so that it is still possible to use the Genshi `escape` function even with text templates. The old behavior is available via the `strip_markup` option of the serializer. Closes #146.
cmlenz
parents:
657
diff
changeset
|
64 so that it is still possible to use the Genshi `escape` function even with |
5df08e5195b8
The `TextSerializer` class no longer strips all markup in text by default, so that it is still possible to use the Genshi `escape` function even with text templates. The old behavior is available via the `strip_markup` option of the serializer. Closes #146.
cmlenz
parents:
657
diff
changeset
|
65 text templates. The old behavior is available via the `strip_markup` option |
5df08e5195b8
The `TextSerializer` class no longer strips all markup in text by default, so that it is still possible to use the Genshi `escape` function even with text templates. The old behavior is available via the `strip_markup` option of the serializer. Closes #146.
cmlenz
parents:
657
diff
changeset
|
66 of the serializer (ticket #146). |
682
0653f6c1ffdf
Assigning to a variable named `data` in a Python code block no longer breaks context lookup. We now use the name `__data__` for internal data, hoping that that name is not as commonly used in templates.
cmlenz
parents:
658
diff
changeset
|
67 * Assigning to a variable named `data` in a Python code block no longer |
0653f6c1ffdf
Assigning to a variable named `data` in a Python code block no longer breaks context lookup. We now use the name `__data__` for internal data, hoping that that name is not as commonly used in templates.
cmlenz
parents:
658
diff
changeset
|
68 breaks context lookup. |
703
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
69 * The `Stream.render` now accepts an optional `out` parameter that can be |
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
70 used to pass in a writable file-like object to use for assembling the |
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
71 output, instead of building a big string and returning it. |
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
72 * The XHTML serializer now strips `xml:space` attributes as they are only |
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
73 allowed on very few tags. |
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
74 * Match templates are now applied in a more controlled fashion: in the order |
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
75 they are declared in the template source, all match templates up to (and |
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
76 including) the matching template itself are applied to the matched content, |
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
77 whereas the match templates declared after the matching template are only |
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
78 applied to the generated content (ticket #186). |
718 | 79 * The `TemplateLoader` class now provides an `_instantiate()` method that can |
703
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
80 be overridden by subclasses to implement advanced template instantiation |
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
81 logic (ticket #204). |
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
82 * The search path of the `TemplateLoader` class can now contain ''load |
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
83 functions'' in addition to path strings. A load function is passed the |
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
84 name of the requested template file, and should return a file-like object |
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
85 and some metadata. New load functions are supplied for loading from egg |
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
86 package data, and loading from different loaders depending on the path |
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
87 prefix of the requested filename (ticket #182). |
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
88 * Match templates can now be processed without keeping the complete matched |
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
89 content in memory, which could cause excessive memory use on long pages. |
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
90 The buffering can be disabled using the new `buffer` optimization hint on |
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
91 the `<py:match>` directive. |
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
92 * Improve error reporting when accessing an attribute in a Python expression |
af57b12e3dd2
merge in trunk up through r818 - fundamentally changed the way MatchSet works, but actually is more consistent now
aflett
parents:
682
diff
changeset
|
93 raises an `AttributeError` (ticket #191). |
718 | 94 * The `Markup` class now supports mappings for right hand of the `%` (modulo) |
95 operator in the same way the Python string classes do, except that the | |
96 substituted values are escape. Also, the special constructor which took | |
97 positional arguments that would be substituted was removed. Thus the | |
98 `Markup` class now supports the same arguments as that of its `unicode` | |
99 base class (ticket #211). | |
100 * The `Template` class and its subclasses, as well as the interpolation API, | |
101 now take an `filepath` parameter instead of `basedir` (ticket #207). | |
784 | 102 * The `XHTMLSerializer` now has a `drop_xml_decl` option that defaults to |
103 `True`. Setting it to `False` will cause any XML decl in the serialized | |
104 stream to be included in the output as it would for XML serialization. | |
105 * Add support for a protocol that would allow interoperability of different | |
106 Python packages that generate and/or consume markup, based on the special | |
107 `__html__()` method (ticket #202). | |
475
b373f80f7763
Added include directive for text templates (#115). Thanks to Alastair for the original patch.
cmlenz
parents:
473
diff
changeset
|
108 |
b373f80f7763
Added include directive for text templates (#115). Thanks to Alastair for the original patch.
cmlenz
parents:
473
diff
changeset
|
109 |
579
2f7f6b70d5b9
Fix for augmented assignments to local variables. Thanks to Erik Bray for reporting the problem.
cmlenz
parents:
574
diff
changeset
|
110 Version 0.4.4 |
2f7f6b70d5b9
Fix for augmented assignments to local variables. Thanks to Erik Bray for reporting the problem.
cmlenz
parents:
574
diff
changeset
|
111 http://svn.edgewall.org/repos/genshi/tags/0.4.4/ |
596
badb5e5b7bb9
Follow-up to [708]. The added `extract_text` option wasn't actually being handled by the Babel extraction plugin.
cmlenz
parents:
594
diff
changeset
|
112 (Aug 14, 2007, from branches/stable/0.4.x) |
579
2f7f6b70d5b9
Fix for augmented assignments to local variables. Thanks to Erik Bray for reporting the problem.
cmlenz
parents:
574
diff
changeset
|
113 |
2f7f6b70d5b9
Fix for augmented assignments to local variables. Thanks to Erik Bray for reporting the problem.
cmlenz
parents:
574
diff
changeset
|
114 * Fixed augmented assignment to local variables in Python code blocks. |
588 | 115 * Fixed handling of nested function and class definitions in Python code |
116 blocks. | |
590
36b5a03534a0
Fix includes so that they again raise an exception when the included template is not found and no fallback has been provided.
cmlenz
parents:
588
diff
changeset
|
117 * Includes were not raising `TemplateNotFound` exceptions even when no |
36b5a03534a0
Fix includes so that they again raise an exception when the included template is not found and no fallback has been provided.
cmlenz
parents:
588
diff
changeset
|
118 fallback has been specified. That has been corrected. |
36b5a03534a0
Fix includes so that they again raise an exception when the included template is not found and no fallback has been provided.
cmlenz
parents:
588
diff
changeset
|
119 * The template loader now raises a `TemplateNotFound` error when a previously |
36b5a03534a0
Fix includes so that they again raise an exception when the included template is not found and no fallback has been provided.
cmlenz
parents:
588
diff
changeset
|
120 cached template is removed or renamed, where it previously was passing up |
36b5a03534a0
Fix includes so that they again raise an exception when the included template is not found and no fallback has been provided.
cmlenz
parents:
588
diff
changeset
|
121 an `OSError`. |
594
2bbaa61b328f
Add option to I18n filter to only extract strings in gettext function calls.
cmlenz
parents:
592
diff
changeset
|
122 * The Genshi I18n filter can be configured to only extract messages found in |
596
badb5e5b7bb9
Follow-up to [708]. The added `extract_text` option wasn't actually being handled by the Babel extraction plugin.
cmlenz
parents:
594
diff
changeset
|
123 `gettext` function calls, ignoring any text nodes and attribute values |
badb5e5b7bb9
Follow-up to [708]. The added `extract_text` option wasn't actually being handled by the Babel extraction plugin.
cmlenz
parents:
594
diff
changeset
|
124 (ticket #138). |
579
2f7f6b70d5b9
Fix for augmented assignments to local variables. Thanks to Erik Bray for reporting the problem.
cmlenz
parents:
574
diff
changeset
|
125 |
2f7f6b70d5b9
Fix for augmented assignments to local variables. Thanks to Erik Bray for reporting the problem.
cmlenz
parents:
574
diff
changeset
|
126 |
535
35a413f3f1dd
The I18n filter no longer extracts or translates literal strings in attribute values that also contain expressions.
cmlenz
parents:
528
diff
changeset
|
127 Version 0.4.3 |
35a413f3f1dd
The I18n filter no longer extracts or translates literal strings in attribute values that also contain expressions.
cmlenz
parents:
528
diff
changeset
|
128 http://svn.edgewall.org/repos/genshi/tags/0.4.3/ |
574 | 129 (Jul 17 2007, from branches/stable/0.4.x) |
535
35a413f3f1dd
The I18n filter no longer extracts or translates literal strings in attribute values that also contain expressions.
cmlenz
parents:
528
diff
changeset
|
130 |
35a413f3f1dd
The I18n filter no longer extracts or translates literal strings in attribute values that also contain expressions.
cmlenz
parents:
528
diff
changeset
|
131 * The I18n filter no longer extracts or translates literal strings in |
35a413f3f1dd
The I18n filter no longer extracts or translates literal strings in attribute values that also contain expressions.
cmlenz
parents:
528
diff
changeset
|
132 attribute values that also contain expressions. |
538
e9db4aca70f0
Add `loader_callback` option to plugin interface as requested in #130.
cmlenz
parents:
537
diff
changeset
|
133 * Added `loader_callback` option to plugin interface, which allows specifying |
e9db4aca70f0
Add `loader_callback` option to plugin interface as requested in #130.
cmlenz
parents:
537
diff
changeset
|
134 a callback function that the template loader should invoke whenever a new |
e9db4aca70f0
Add `loader_callback` option to plugin interface as requested in #130.
cmlenz
parents:
537
diff
changeset
|
135 template is loaded (ticket #130). Note that the value for this option can |
e9db4aca70f0
Add `loader_callback` option to plugin interface as requested in #130.
cmlenz
parents:
537
diff
changeset
|
136 not be specified as a string, only as an actual function object, which means |
e9db4aca70f0
Add `loader_callback` option to plugin interface as requested in #130.
cmlenz
parents:
537
diff
changeset
|
137 it is not available for use through configuration files. |
550 | 138 * The I18n filter now extracts messages from gettext functions even inside |
139 ignored tags (ticket #132). | |
556
0d98569eaced
The HTML sanitizer now strips any CSS comments in style attributes, which could previously be used to hide malicious property values.
cmlenz
parents:
550
diff
changeset
|
140 * The HTML sanitizer now strips any CSS comments in style attributes, which |
0d98569eaced
The HTML sanitizer now strips any CSS comments in style attributes, which could previously be used to hide malicious property values.
cmlenz
parents:
550
diff
changeset
|
141 could previously be used to hide malicious property values. |
571
f0461dc3939a
* Cleaned up the implementation of the `HTMLSanitizer`.
cmlenz
parents:
569
diff
changeset
|
142 * The HTML sanitizer now also removes any HTML comments encountered, as those |
f0461dc3939a
* Cleaned up the implementation of the `HTMLSanitizer`.
cmlenz
parents:
569
diff
changeset
|
143 may be used to hide malicious payloads targetting a certain "innovative" |
f0461dc3939a
* Cleaned up the implementation of the `HTMLSanitizer`.
cmlenz
parents:
569
diff
changeset
|
144 browser that goes and interprets the content of specially prepared comments. |
569
c17342ef9efb
Attribute access in template expressions no longer silently ignores exceptions other than `AttributeError` raised in the attribute accessor.
cmlenz
parents:
556
diff
changeset
|
145 * Attribute access in template expressions no longer silently ignores |
c17342ef9efb
Attribute access in template expressions no longer silently ignores exceptions other than `AttributeError` raised in the attribute accessor.
cmlenz
parents:
556
diff
changeset
|
146 exceptions other than `AttributeError` raised in the attribute accessor. |
535
35a413f3f1dd
The I18n filter no longer extracts or translates literal strings in attribute values that also contain expressions.
cmlenz
parents:
528
diff
changeset
|
147 |
35a413f3f1dd
The I18n filter no longer extracts or translates literal strings in attribute values that also contain expressions.
cmlenz
parents:
528
diff
changeset
|
148 |
494
942d73ba938c
The `doctype` parameter for serializers can now be a string.
cmlenz
parents:
489
diff
changeset
|
149 Version 0.4.2 |
942d73ba938c
The `doctype` parameter for serializers can now be a string.
cmlenz
parents:
489
diff
changeset
|
150 http://svn.edgewall.org/repos/genshi/tags/0.4.2/ |
574 | 151 (Jun 20 2007, from branches/stable/0.4.x) |
494
942d73ba938c
The `doctype` parameter for serializers can now be a string.
cmlenz
parents:
489
diff
changeset
|
152 |
942d73ba938c
The `doctype` parameter for serializers can now be a string.
cmlenz
parents:
489
diff
changeset
|
153 * The `doctype` parameter of the markup serializers now also accepts the "name" |
942d73ba938c
The `doctype` parameter for serializers can now be a string.
cmlenz
parents:
489
diff
changeset
|
154 of the doctype as string, in addition to the `(name, pubid, sysid)` tuple. |
942d73ba938c
The `doctype` parameter for serializers can now be a string.
cmlenz
parents:
489
diff
changeset
|
155 * The I18n filter was not replacing the original attributes with the |
942d73ba938c
The `doctype` parameter for serializers can now be a string.
cmlenz
parents:
489
diff
changeset
|
156 translation, but instead adding a second attribute with the same name. |
512
ed9f1300f3bf
Fix for #125 (text template handling unicode source). Thanks to Christian Boos for the patch.
cmlenz
parents:
501
diff
changeset
|
157 * `TextTemplate` can now handle unicode source (ticket #125). |
520
203bd6a3c93d
Applied patch by Dale Sedivec to fix #127. Many thanks!
cmlenz
parents:
512
diff
changeset
|
158 * A `<?python ?>` processing instruction containing trailing whitespace no |
203bd6a3c93d
Applied patch by Dale Sedivec to fix #127. Many thanks!
cmlenz
parents:
512
diff
changeset
|
159 longer causes a syntax error (ticket #127). |
522
082535e5087c
The I18n filter now skips the content of elements that have an `xml:lang` attribute with a fixed string value. Basically, `xml:lang` can now be used as a flag to mark specific sections as not needing localization.
cmlenz
parents:
520
diff
changeset
|
160 * The I18n filter now skips the content of elements that have an `xml:lang` |
082535e5087c
The I18n filter now skips the content of elements that have an `xml:lang` attribute with a fixed string value. Basically, `xml:lang` can now be used as a flag to mark specific sections as not needing localization.
cmlenz
parents:
520
diff
changeset
|
161 attribute with a fixed string value. Basically, `xml:lang` can now be used |
082535e5087c
The I18n filter now skips the content of elements that have an `xml:lang` attribute with a fixed string value. Basically, `xml:lang` can now be used as a flag to mark specific sections as not needing localization.
cmlenz
parents:
520
diff
changeset
|
162 as a flag to mark specific sections as not needing localization. |
528
24df908da22d
Integrated [http://babel.edgewall.org/ Babel] message extraction plugin, and added I18n doc page.
cmlenz
parents:
524
diff
changeset
|
163 * Added plugin for message extraction via Babel (http://babel.edgewall.org/). |
494
942d73ba938c
The `doctype` parameter for serializers can now be a string.
cmlenz
parents:
489
diff
changeset
|
164 |
942d73ba938c
The `doctype` parameter for serializers can now be a string.
cmlenz
parents:
489
diff
changeset
|
165 |
456
4b6dc4978691
Fix incorrect reference to translation function in the I18N filter.
cmlenz
parents:
452
diff
changeset
|
166 Version 0.4.1 |
4b6dc4978691
Fix incorrect reference to translation function in the I18N filter.
cmlenz
parents:
452
diff
changeset
|
167 http://svn.edgewall.org/repos/genshi/tags/0.4.1/ |
489
9d69724a5bf3
Set date for [milestone:0.4.1] release in ChangeLog.
cmlenz
parents:
479
diff
changeset
|
168 (May 21 2007, from branches/stable/0.4.x) |
456
4b6dc4978691
Fix incorrect reference to translation function in the I18N filter.
cmlenz
parents:
452
diff
changeset
|
169 |
4b6dc4978691
Fix incorrect reference to translation function in the I18N filter.
cmlenz
parents:
452
diff
changeset
|
170 * Fix incorrect reference to translation function in the I18N filter. |
458
5f5b227b04be
The `ET()` function now correctly handles attributes with a namespace.
cmlenz
parents:
456
diff
changeset
|
171 * The `ET()` function now correctly handles attributes with a namespace. |
460
75425671b437
Apply patch by Alec Thomas for processing XML declarations (#111). Thanks!
cmlenz
parents:
458
diff
changeset
|
172 * XML declarations are now processed internally, as well as written to the |
75425671b437
Apply patch by Alec Thomas for processing XML declarations (#111). Thanks!
cmlenz
parents:
458
diff
changeset
|
173 output when XML serialization is used (ticket #111). |
462 | 174 * Added the functions `encode()` and `get_serializer()` to the `genshi.output` |
175 module, which provide a lower-level API to the functionality previously only | |
176 available through `Stream.render()` and `Stream.serialize()`. | |
464
2f13c5fc4a4d
Move the mapping of doctype names to tuples out of the plugin into the `DocType` class.
cmlenz
parents:
462
diff
changeset
|
177 * The `DocType` class now has a `get(name)` function that returns a `DOCTYPE` |
2f13c5fc4a4d
Move the mapping of doctype names to tuples out of the plugin into the `DocType` class.
cmlenz
parents:
462
diff
changeset
|
178 tuple for a given string. |
2f13c5fc4a4d
Move the mapping of doctype names to tuples out of the plugin into the `DocType` class.
cmlenz
parents:
462
diff
changeset
|
179 * Added frameset variants to the `DocType` constants for HTML 4.01 and XHTML |
2f13c5fc4a4d
Move the mapping of doctype names to tuples out of the plugin into the `DocType` class.
cmlenz
parents:
462
diff
changeset
|
180 1.0. |
469
2d3246f9ea54
The I18n extraction now returns a tuple of strings for `ngettext` and similar functions.
cmlenz
parents:
464
diff
changeset
|
181 * Improved I18n extraction for pluralizable messages: for any translation |
2d3246f9ea54
The I18n extraction now returns a tuple of strings for `ngettext` and similar functions.
cmlenz
parents:
464
diff
changeset
|
182 function with multiple string arguments (such as ``ngettext``), a single |
2d3246f9ea54
The I18n extraction now returns a tuple of strings for `ngettext` and similar functions.
cmlenz
parents:
464
diff
changeset
|
183 item with a tuple of strings is yielded, instead an item for each string |
2d3246f9ea54
The I18n extraction now returns a tuple of strings for `ngettext` and similar functions.
cmlenz
parents:
464
diff
changeset
|
184 argument. |
471
76a0ec32835d
The `HTMLFormFiller` stream filter no longer alters form elements for which the data element contains no corresponding item.
cmlenz
parents:
469
diff
changeset
|
185 * The `HTMLFormFiller` stream filter no longer alters form elements for which |
76a0ec32835d
The `HTMLFormFiller` stream filter no longer alters form elements for which the data element contains no corresponding item.
cmlenz
parents:
469
diff
changeset
|
186 the data element contains no corresponding item. |
473 | 187 * Code in `<?python ?>` processing instructions no longer gets the special |
188 treatment as Python code in template expressions, i.e. item and attribute | |
189 access are no longer interchangeable (which was broken in a number of ways | |
190 anyway, see ticket #113). This change does not affect expressions. | |
191 * Numerous fixes for the execution of Python code in `<?python ?>` processing | |
192 instructions (tickets #113 and #114). | |
479 | 193 * The `py:def` (and `#def`) directive now supports "star args" (i.e. `*args` |
194 and `**kwargs`) in the function declaration (ticket #116). | |
456
4b6dc4978691
Fix incorrect reference to translation function in the I18N filter.
cmlenz
parents:
452
diff
changeset
|
195 |
4b6dc4978691
Fix incorrect reference to translation function in the I18N filter.
cmlenz
parents:
452
diff
changeset
|
196 |
276 | 197 Version 0.4 |
198 http://svn.edgewall.org/repos/genshi/tags/0.4.0/ | |
452 | 199 (Apr 16 2007, from branches/stable/0.4.x) |
276 | 200 |
201 * New example applications for CherryPy and web.py. | |
202 * The template loader now uses a LRU cache to limit the number of cached | |
203 templates to a configurable maximum. Also, a race condition in the template | |
204 loader was fixed by adding locking. | |
205 * A new filter (genshi.filters.HTMLFormFiller) was added, which can populate | |
206 HTML forms based on a dictionary of values. | |
277
7e30bfa966ab
The `HTMLSanitizer` now lets you override the default set of tag and attribute names that are considered safe.
cmlenz
parents:
276
diff
changeset
|
207 * The set of permitted tag and attribute names for the HTMLSanitizer can now |
7e30bfa966ab
The `HTMLSanitizer` now lets you override the default set of tag and attribute names that are considered safe.
cmlenz
parents:
276
diff
changeset
|
208 be configured per instance. |
294 | 209 * The template engine plugin now supports a range of options for |
210 configuration, for example to set the default serialization method, the | |
211 default output encoding, or the default DOCTYPE. | |
302 | 212 * The ElementTree adaptation function `ET()` has moved into the `genshi.input` |
213 module. | |
214 * Allow `when` directives to omit the test expression as long as the | |
215 associated choose directive does have one. In that case, the when branch is | |
216 followed if the expression of the choose directive evaluates to a truth | |
217 value. | |
317
efa7870b63cb
Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents:
302
diff
changeset
|
218 * Unsuccessful attribute or item lookups now return `Undefined` objects for |
efa7870b63cb
Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents:
302
diff
changeset
|
219 nicer error messages. |
336
7763f7aec949
Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
333
diff
changeset
|
220 * Split up the `genshi.template` module into multiple modules inside the new |
7763f7aec949
Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
333
diff
changeset
|
221 `genshi.template` package. |
343
35189e960252
Remove automatic calling of expression evaluation results if they are callable. See [http://groups.google.com/group/genshi/browse_thread/thread/f515986760918d41 this mailing list thread].
cmlenz
parents:
336
diff
changeset
|
222 * Results of expression evaluation are no longer implicitly called if they |
35189e960252
Remove automatic calling of expression evaluation results if they are callable. See [http://groups.google.com/group/genshi/browse_thread/thread/f515986760918d41 this mailing list thread].
cmlenz
parents:
336
diff
changeset
|
223 are callable. |
345 | 224 * Instances of the `genshi.core.Attrs` class are now immutable (they are |
225 subclasses of `tuple` instead of `list`). | |
374
b146277eb54a
`MarkupTemplate`s can now be instantiated from markup streams, in addition to strings and file-like objects. Thanks to David Fraser for the patch. Closes #69.
cmlenz
parents:
371
diff
changeset
|
226 * `MarkupTemplate`s can now be instantiated from markup streams, in addition |
b146277eb54a
`MarkupTemplate`s can now be instantiated from markup streams, in addition to strings and file-like objects. Thanks to David Fraser for the patch. Closes #69.
cmlenz
parents:
371
diff
changeset
|
227 to strings and file-like objects (ticket #69). |
378
873ca2a7ec05
Improve handling of incorrectly nested tags in the HTML parser.
cmlenz
parents:
374
diff
changeset
|
228 * Improve handling of incorrectly nested tags in the HTML parser. |
399
f0b785d3d407
Rework parsing of expressions in template text, to be able to:
cmlenz
parents:
387
diff
changeset
|
229 * Template includes can now be nested inside fallback content. |
f0b785d3d407
Rework parsing of expressions in template text, to be able to:
cmlenz
parents:
387
diff
changeset
|
230 * Expressions can now contain dict literals (ticket #37). |
f0b785d3d407
Rework parsing of expressions in template text, to be able to:
cmlenz
parents:
387
diff
changeset
|
231 * It is now possible to have one or more escaped dollar signs in front of a |
f0b785d3d407
Rework parsing of expressions in template text, to be able to:
cmlenz
parents:
387
diff
changeset
|
232 full expression (ticket #92). |
401
68772732c896
Make the `Markup` class available by default in template expressions. Closes #67.
cmlenz
parents:
399
diff
changeset
|
233 * The `Markup` class is now available by default in template expressions |
68772732c896
Make the `Markup` class available by default in template expressions. Closes #67.
cmlenz
parents:
399
diff
changeset
|
234 (ticket #67). |
411 | 235 * The handling of namespace declarations in XML/XHTML output has been improved. |
236 * The `Attrs` class no longer automatically wraps all attribute names in | |
237 `QName` objects. This is now the responsibility of whoever is instantiating | |
238 `Attrs` objects (for example, stream filters and generators). | |
239 * Python code blocks are now supported using the `<?python ?>` processing | |
240 instruction (ticket #84). | |
442
97544725bb7f
Back out [510] and instead implement configurable error handling modes. The default is the old 0.3.x behaviour, but more strict error handling is available as an option.
cmlenz
parents:
437
diff
changeset
|
241 * The way errors in template expressions are handled can now be configured. The |
97544725bb7f
Back out [510] and instead implement configurable error handling modes. The default is the old 0.3.x behaviour, but more strict error handling is available as an option.
cmlenz
parents:
437
diff
changeset
|
242 option `LenientLookup` provides the same forgiving mode used in previous |
97544725bb7f
Back out [510] and instead implement configurable error handling modes. The default is the old 0.3.x behaviour, but more strict error handling is available as an option.
cmlenz
parents:
437
diff
changeset
|
243 Genshi versions, while `StrictLookup` raises exceptions when undefined |
97544725bb7f
Back out [510] and instead implement configurable error handling modes. The default is the old 0.3.x behaviour, but more strict error handling is available as an option.
cmlenz
parents:
437
diff
changeset
|
244 variables or members are accessed. The lenient mode is still the default in |
97544725bb7f
Back out [510] and instead implement configurable error handling modes. The default is the old 0.3.x behaviour, but more strict error handling is available as an option.
cmlenz
parents:
437
diff
changeset
|
245 this version, but that may change in the future. (ticket #88) |
97544725bb7f
Back out [510] and instead implement configurable error handling modes. The default is the old 0.3.x behaviour, but more strict error handling is available as an option.
cmlenz
parents:
437
diff
changeset
|
246 * If a variable is not necessarily defined at the top level of the template |
97544725bb7f
Back out [510] and instead implement configurable error handling modes. The default is the old 0.3.x behaviour, but more strict error handling is available as an option.
cmlenz
parents:
437
diff
changeset
|
247 data, the new built-in functions `defined(key)` and `value_of(key, default)` |
97544725bb7f
Back out [510] and instead implement configurable error handling modes. The default is the old 0.3.x behaviour, but more strict error handling is available as an option.
cmlenz
parents:
437
diff
changeset
|
248 can be used so that the template also works in strict lookup mode. These |
97544725bb7f
Back out [510] and instead implement configurable error handling modes. The default is the old 0.3.x behaviour, but more strict error handling is available as an option.
cmlenz
parents:
437
diff
changeset
|
249 functions were previously only available when using Genshi via the template |
97544725bb7f
Back out [510] and instead implement configurable error handling modes. The default is the old 0.3.x behaviour, but more strict error handling is available as an option.
cmlenz
parents:
437
diff
changeset
|
250 engine plugin (for compatibility with Kid). |
432 | 251 * `style` attributes are no longer allowed by the `HTMLSanitizer` by default. |
446
fd9c4f7a249a
Add basic I18n/L10n functionality, based on GenshiRecipes/Localization.
cmlenz
parents:
442
diff
changeset
|
252 If they are explicitly added to the set of safe attributes, any unicode |
fd9c4f7a249a
Add basic I18n/L10n functionality, based on GenshiRecipes/Localization.
cmlenz
parents:
442
diff
changeset
|
253 escapes in the attribute value are now handled properly. |
437 | 254 * Namespace declarations on conditional elements (for example using a `py:if` |
255 directive`) are no longer moved to the following element when the element | |
256 originally carrying the declaration is removed from the stream (ticket #107). | |
446
fd9c4f7a249a
Add basic I18n/L10n functionality, based on GenshiRecipes/Localization.
cmlenz
parents:
442
diff
changeset
|
257 * Added basic built-in support for internationalizing templates by providing |
fd9c4f7a249a
Add basic I18n/L10n functionality, based on GenshiRecipes/Localization.
cmlenz
parents:
442
diff
changeset
|
258 a new `Translator` class that can both extract localizable strings from a |
fd9c4f7a249a
Add basic I18n/L10n functionality, based on GenshiRecipes/Localization.
cmlenz
parents:
442
diff
changeset
|
259 stream, and replace those strings with their localizations at render time. |
fd9c4f7a249a
Add basic I18n/L10n functionality, based on GenshiRecipes/Localization.
cmlenz
parents:
442
diff
changeset
|
260 The code for this was largely taken from previous work done by Matt Good |
fd9c4f7a249a
Add basic I18n/L10n functionality, based on GenshiRecipes/Localization.
cmlenz
parents:
442
diff
changeset
|
261 and David Fraser. |
365
4f431931d64e
Fix for #62: preserve whitespace in front of directives.
cmlenz
parents:
346
diff
changeset
|
262 |
4f431931d64e
Fix for #62: preserve whitespace in front of directives.
cmlenz
parents:
346
diff
changeset
|
263 |
387 | 264 Version 0.3.6 |
265 http://svn.edgewall.org/repos/genshi/tags/0.3.6/ | |
266 (Dec 11 2006, from branches/stable/0.3.x) | |
267 | |
268 * The builder API now accepts streams as children of elements and fragments. | |
269 | |
270 | |
365
4f431931d64e
Fix for #62: preserve whitespace in front of directives.
cmlenz
parents:
346
diff
changeset
|
271 Version 0.3.5 |
387 | 272 http://svn.edgewall.org/repos/genshi/tags/0.3.5/ |
365
4f431931d64e
Fix for #62: preserve whitespace in front of directives.
cmlenz
parents:
346
diff
changeset
|
273 (Nov 22 2006, from branches/stable/0.3.x) |
4f431931d64e
Fix for #62: preserve whitespace in front of directives.
cmlenz
parents:
346
diff
changeset
|
274 |
371 | 275 * Fix XPath traversal in match templates. Previously, `div/p` would be treated |
276 the same as `div//p`, i.e. it would match all descendants and not just the | |
277 immediate children. | |
365
4f431931d64e
Fix for #62: preserve whitespace in front of directives.
cmlenz
parents:
346
diff
changeset
|
278 * Preserve whitespace in HTML `<pre>` elements also when they contain child |
4f431931d64e
Fix for #62: preserve whitespace in front of directives.
cmlenz
parents:
346
diff
changeset
|
279 elements. |
4f431931d64e
Fix for #62: preserve whitespace in front of directives.
cmlenz
parents:
346
diff
changeset
|
280 * Match templates no longer match their own output (ticket #77). |
4f431931d64e
Fix for #62: preserve whitespace in front of directives.
cmlenz
parents:
346
diff
changeset
|
281 * Blank lines before directives in text templates are now preserved as |
4f431931d64e
Fix for #62: preserve whitespace in front of directives.
cmlenz
parents:
346
diff
changeset
|
282 expected (ticket #62). |
346
96882a191686
Whitespace was not getting preserved in HTML `<pre>` elements that contained other HTML elements.
cmlenz
parents:
345
diff
changeset
|
283 |
317
efa7870b63cb
Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents:
302
diff
changeset
|
284 |
efa7870b63cb
Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents:
302
diff
changeset
|
285 Version 0.3.4 |
efa7870b63cb
Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents:
302
diff
changeset
|
286 http://svn.edgewall.org/repos/genshi/tags/0.3.4/ |
323 | 287 (Nov 2 2006, from branches/stable/0.3.x) |
317
efa7870b63cb
Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents:
302
diff
changeset
|
288 |
efa7870b63cb
Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents:
302
diff
changeset
|
289 * The encoding of HTML and XML files, as well as markup and text templates, |
efa7870b63cb
Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents:
302
diff
changeset
|
290 can now be specified. Also, the encoding specified in XML declarations is |
efa7870b63cb
Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents:
302
diff
changeset
|
291 now respected unless an expiclit encoding is requested. |
efa7870b63cb
Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents:
302
diff
changeset
|
292 * Expressions used as arguments for `py:with`, `py:def`, and `py:for` |
efa7870b63cb
Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents:
302
diff
changeset
|
293 directives can now contain non-ASCII strings. |
285 | 294 |
295 | |
288
e09c5b7a64ae
Fix bug introduced in [343], that broke the parsing of templates which declare the same namespace more than once in a nested fashion. Thanks to Graham Higgins for reporting the problem.
cmlenz
parents:
285
diff
changeset
|
296 Version 0.3.3 |
e09c5b7a64ae
Fix bug introduced in [343], that broke the parsing of templates which declare the same namespace more than once in a nested fashion. Thanks to Graham Higgins for reporting the problem.
cmlenz
parents:
285
diff
changeset
|
297 http://svn.edgewall.org/repos/genshi/tags/0.3.3/ |
302 | 298 (Oct 16 2006, from branches/stable/0.3.x) |
288
e09c5b7a64ae
Fix bug introduced in [343], that broke the parsing of templates which declare the same namespace more than once in a nested fashion. Thanks to Graham Higgins for reporting the problem.
cmlenz
parents:
285
diff
changeset
|
299 |
e09c5b7a64ae
Fix bug introduced in [343], that broke the parsing of templates which declare the same namespace more than once in a nested fashion. Thanks to Graham Higgins for reporting the problem.
cmlenz
parents:
285
diff
changeset
|
300 * Fixed bug introduced in 0.3.2 that broke the parsing of templates which |
e09c5b7a64ae
Fix bug introduced in [343], that broke the parsing of templates which declare the same namespace more than once in a nested fashion. Thanks to Graham Higgins for reporting the problem.
cmlenz
parents:
285
diff
changeset
|
301 declare the same namespace more than once in a nested fashion. |
294 | 302 * Fixed the parsing of HTML entity references inside attribute values, both |
303 in the `XMLParser` and the `HTMLParser` classes. | |
302 | 304 * Some changes to usage of absolute vs. relative template paths to ensure that |
305 the filenamed-keyed cache employed by the TemplateLoader doesn't mix up | |
306 templates with the same name, but from different subdirectories. | |
288
e09c5b7a64ae
Fix bug introduced in [343], that broke the parsing of templates which declare the same namespace more than once in a nested fashion. Thanks to Graham Higgins for reporting the problem.
cmlenz
parents:
285
diff
changeset
|
307 |
e09c5b7a64ae
Fix bug introduced in [343], that broke the parsing of templates which declare the same namespace more than once in a nested fashion. Thanks to Graham Higgins for reporting the problem.
cmlenz
parents:
285
diff
changeset
|
308 |
285 | 309 Version 0.3.2 |
310 http://svn.edgewall.org/repos/genshi/tags/0.3.2/ | |
311 (Oct 12 2006, from branches/stable/0.3.x) | |
312 | |
313 * Exceptions from templates now contain the absolute path to the template file | |
314 when a search path is used. This enables tracebacks to display the line in | |
315 question. | |
316 * The template engine plugin now provides three different types: "genshi" and | |
317 "genshi-markup" map to markup templates, while "genshi-text" maps to text | |
318 templates. | |
278
d6c58473a9d0
Fix the handling of namespace context for match templates.
cmlenz
parents:
277
diff
changeset
|
319 * Fixed the namespace context used by XPath patterns in py:match templates. |
d6c58473a9d0
Fix the handling of namespace context for match templates.
cmlenz
parents:
277
diff
changeset
|
320 The were erroneously using the namespace context of the elements being |
d6c58473a9d0
Fix the handling of namespace context for match templates.
cmlenz
parents:
277
diff
changeset
|
321 matched, where they should rather use the context in which they were |
d6c58473a9d0
Fix the handling of namespace context for match templates.
cmlenz
parents:
277
diff
changeset
|
322 defined. |
285 | 323 * The contents of `<script>` and `<style>` elements are no longer escaped when |
280
ce848f7c41f1
The content of `<script>` and `<style>` elements is no longer escaped when serializing to HTML but declaring the XHTML namespace in the template.
cmlenz
parents:
278
diff
changeset
|
324 serializing to HTML but declaring the XHTML namespace in the template. |
285 | 325 * Improved error message raised when using the `py:for` directive on an object |
326 that is not iterable (ticket #60). | |
327 * Fixed the XPath function `starts-with()` which was always returning true | |
328 (ticket #61). | |
276 | 329 |
330 | |
260 | 331 Version 0.3.1 |
332 http://svn.edgewall.org/repos/genshi/tags/0.3.1/ | |
262 | 333 (Sep 22 2006, from branches/stable/0.3.x) |
260 | 334 |
335 * Includes and user-defined filters were not getting the correct context data | |
336 when used inside a match template (ticket #56). | |
337 * XPath patterns using the union operator (`|`) were returning only partial | |
338 results in some cases. | |
339 | |
340 | |
192
b64e36bc1100
Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents:
185
diff
changeset
|
341 Version 0.3 |
230 | 342 http://svn.edgewall.org/repos/genshi/tags/0.3.0/ |
252 | 343 (Sep 17 2006, from branches/stable/0.3.x) |
192
b64e36bc1100
Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents:
185
diff
changeset
|
344 |
234 | 345 * The project name was changed from "Markup" to "Genshi". See UPGRADE.txt |
346 for upgrade instructions. | |
192
b64e36bc1100
Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents:
185
diff
changeset
|
347 * Expression evaluation now differentiates between undefined variables and |
b64e36bc1100
Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents:
185
diff
changeset
|
348 variables that are defined but set to `None`. This also means that local |
b64e36bc1100
Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents:
185
diff
changeset
|
349 variables can override built-ins even if the local variable are set to |
b64e36bc1100
Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents:
185
diff
changeset
|
350 `None` (ticket #36). |
199
71ce4b5335ba
* Removed storage of substream in `MatchDirective`, because it's already being stored in the match templates (related to #39).
cmlenz
parents:
192
diff
changeset
|
351 * The plugin implementation now makes more functions available for use inside |
71ce4b5335ba
* Removed storage of substream in `MatchDirective`, because it's already being stored in the match templates (related to #39).
cmlenz
parents:
192
diff
changeset
|
352 templates: XML(), HTML(), defined(), and value-of(). These are mostly for |
71ce4b5335ba
* Removed storage of substream in `MatchDirective`, because it's already being stored in the match templates (related to #39).
cmlenz
parents:
192
diff
changeset
|
353 migration from Kid. |
192
b64e36bc1100
Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents:
185
diff
changeset
|
354 * The parsing of `py:with` directives has been improved: you can now assign |
b64e36bc1100
Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents:
185
diff
changeset
|
355 to multiple names, and semicolons inside string literals are treated as |
b64e36bc1100
Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents:
185
diff
changeset
|
356 expected. |
199
71ce4b5335ba
* Removed storage of substream in `MatchDirective`, because it's already being stored in the match templates (related to #39).
cmlenz
parents:
192
diff
changeset
|
357 * Generator expressions can now be used in template expressions (ticket #16). |
200
5861f4446c26
Add serialization to plain text, based on cboos' patch. Closes #41.
cmlenz
parents:
199
diff
changeset
|
358 * Added serialization to plain text (ticket #41). |
218 | 359 * Calling functions from template expressions with *args and/or **kwargs |
360 now works correctly (ticket #42). | |
361 * The `TemplateLoader` class and the `Template` instances that it manages are | |
362 now thread-safe, as they no longer keep any state related to the current | |
363 processing context. | |
364 * Stream filters and serializers can now be applied using the "pipe" (bitwise | |
365 or) operator "|". | |
366 * The execution of named template functions (`py:def`) no longer silently | |
367 swallows TypeError exceptions (ticket #44). | |
368 * The XML Parser now correctly handles unicode input (ticket #43). | |
369 * HTML entities can now be used in templates without having to declare an HTML | |
370 document type. | |
371 * Error reporting on undefined entities has been fixed. | |
372 * Fix traversal of substreams by XPath expressions. For example, the path | |
373 '*/*' no longer matches non-immediate child elements, and '@*' no longer | |
374 matches the attributes of descendants. | |
375 * Fixes for `py:match` which would get confused when it should be applied | |
376 to multiple elements (ticket #49). | |
224
90d62225f411
Implement support for namespace prefixes in XPath expressions.
cmlenz
parents:
218
diff
changeset
|
377 * Using namespace prefixes in XPath expressions is now supported. |
227
96a7e5011c69
Use list comprehension instead of `map()` in the AST transformer.
cmlenz
parents:
224
diff
changeset
|
378 * Expressions now correctly handle slices (ticket #51). |
234 | 379 * A simple text-based template language is now included for generating |
380 plain text output (ticket #47). | |
192
b64e36bc1100
Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents:
185
diff
changeset
|
381 |
b64e36bc1100
Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents:
185
diff
changeset
|
382 |
148
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff
changeset
|
383 Version 0.2 |
230 | 384 http://svn.edgewall.org/repos/genshi/tags/0.2.0/ |
184
181d292eafa2
Interpolate multiline expressions in templates. Thanks to Christian Boos for reporting the problem and providing the fix.
cmlenz
parents:
181
diff
changeset
|
385 (Aug 22 2006, from branches/stable/0.2.x) |
148
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff
changeset
|
386 |
153 | 387 * XPath syntax errors now contain position info (ticket #20). |
148
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff
changeset
|
388 * Errors in expression evaluation now contain the correct line number in the |
153 | 389 template (ticket #22). |
148
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff
changeset
|
390 * <script> and <style> element contents are no longer escaped when using HTML |
153 | 391 serialization (ticket #24). |
392 * In some cases expressions in templates did not get interpolated (ticket | |
393 #26). | |
148
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff
changeset
|
394 * CDATA sections are now passed through the pipeline and serialized correctly. |
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff
changeset
|
395 That allows using <script> or <style> elements in XHTML output that is still |
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff
changeset
|
396 compatible with HTML user agents. |
159 | 397 * The XHTML serializer now correctly handles elements in foreign namespaces |
398 (such as SVG or MathML). | |
153 | 399 * Fixed relative includes in templates on Windows (ticket #27). |
160 | 400 * Output can be encoded using legacy codecs such as ISO-8859-1. Any character |
148
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff
changeset
|
401 not representable in the chosen encoding gets replaced by the corresponding |
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff
changeset
|
402 XML character reference. |
156 | 403 * String literals in XPath expressions that contain spaces are now parsed |
404 as expected. | |
405 * Added support for the XPath functions boolean(), ceiling(), concat(), | |
162
456039594db9
Implement the XPath relational operators and the `round()` function.
cmlenz
parents:
160
diff
changeset
|
406 contains(), false(), floor(), normalize-space(), number(), round(), |
456039594db9
Implement the XPath relational operators and the `round()` function.
cmlenz
parents:
160
diff
changeset
|
407 starts-with(), string-length(), substring(), substring-after(), |
456039594db9
Implement the XPath relational operators and the `round()` function.
cmlenz
parents:
160
diff
changeset
|
408 substring-before(), translate(), and true(). |
168 | 409 * Non-ASCII characters in expressions should now be handled correctly (ticket |
410 #29). | |
411 * Default values for arguments of template functions now also work with | |
412 constants and complex expressions (they only worked for string or number | |
413 literals before). | |
181
e103b75a96ce
Some error message improvements for template directives. Thanks to Christian Boos for the patch!
cmlenz
parents:
169
diff
changeset
|
414 * XPath expressions in now support XPath variables ($var) in predicates |
e103b75a96ce
Some error message improvements for template directives. Thanks to Christian Boos for the patch!
cmlenz
parents:
169
diff
changeset
|
415 (ticket #31). |
184
181d292eafa2
Interpolate multiline expressions in templates. Thanks to Christian Boos for reporting the problem and providing the fix.
cmlenz
parents:
181
diff
changeset
|
416 * Expressions in templates can now span multiple lines if they are enclosed |
181d292eafa2
Interpolate multiline expressions in templates. Thanks to Christian Boos for reporting the problem and providing the fix.
cmlenz
parents:
181
diff
changeset
|
417 in curly braces. |
185
95c3813a00de
Fix for #34: `py:def` macros can now be invoked from within expressions in attribute values.
cmlenz
parents:
184
diff
changeset
|
418 * py:def macros can now be invoked from within expressions inside attribute |
95c3813a00de
Fix for #34: `py:def` macros can now be invoked from within expressions in attribute values.
cmlenz
parents:
184
diff
changeset
|
419 values (ticket #34). |
148
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff
changeset
|
420 |
169 | 421 |
148
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff
changeset
|
422 Version 0.1 |
230 | 423 http://svn.edgewall.org/repos/genshi/tags/0.1.0/ |
148
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff
changeset
|
424 (Aug 3 2006, from branches/stable/0.1.x) |
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff
changeset
|
425 |
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff
changeset
|
426 * First public release |