annotate ChangeLog @ 1000:adc36fb4fae7 stable-0.6.x

Update changelog for 0.6.2.
author hodgestar
date Sat, 26 Jan 2013 18:24:07 +0000
parents 8d4625183417
children 041b6b3dd7c6
rev   line source
984
8d4625183417 Put back [egg_info], bump version number and add new section to ChangeLog.
hodgestar
parents: 975
diff changeset
1 Version 0.6.2
8d4625183417 Put back [egg_info], bump version number and add new section to ChangeLog.
hodgestar
parents: 975
diff changeset
2 http://svn.edgewall.org/repos/genshi/tags/0.6.2/
1000
adc36fb4fae7 Update changelog for 0.6.2.
hodgestar
parents: 984
diff changeset
3 (Jan 26 2013, from branches/stable/0.6.x)
984
8d4625183417 Put back [egg_info], bump version number and add new section to ChangeLog.
hodgestar
parents: 975
diff changeset
4
1000
adc36fb4fae7 Update changelog for 0.6.2.
hodgestar
parents: 984
diff changeset
5 * Fix infinite loop in interplotation lexing that was introduced by a change
adc36fb4fae7 Update changelog for 0.6.2.
hodgestar
parents: 984
diff changeset
6 in Python 2.7's tokenizer (see #540).
adc36fb4fae7 Update changelog for 0.6.2.
hodgestar
parents: 984
diff changeset
7 * Fix handling of processing instructions without data (see #368).
984
8d4625183417 Put back [egg_info], bump version number and add new section to ChangeLog.
hodgestar
parents: 975
diff changeset
8
8d4625183417 Put back [egg_info], bump version number and add new section to ChangeLog.
hodgestar
parents: 975
diff changeset
9
975
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
10 Version 0.6.1
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
11 http://svn.edgewall.org/repos/genshi/tags/0.6.1/
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
12 (Dec 30 2012, from branches/stable/0.6.x)
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
13
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
14 * Security fix to enhance sanitizing of CSS in style attributes. Genshi's
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
15 `HTMLSanitizer` disallows style attributes by default (this remains
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
16 unchanged) and warns against such attacks in its documentation, but
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
17 the provided CSS santizing is now less lacking (see #455).
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
18 * Fix for error in how `HTMLFormFiller` would handle `textarea` elements if
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
19 no value was not supplied form them.
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
20 * The `HTMLFormFiller` now correctly handles check boxes and radio buttons
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
21 with an empty `value` attribute.
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
22 * Template `Context` objects now have a `.copy` method.
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
23 * Added a simple `tox.ini` file for using tox to test against multiple
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
24 verions of Python.
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
25 * Fix for bug in `QName` comparison (see #413).
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
26 * Fix for bug in handling of trailing events in match template matches
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
27 (see #399).
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
28 * Fix i18n namespace declaration in documentation (see #400).
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
29 * Fix for bug in caching of events in serializers by no longer caching
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
30 `(TEXT, Markup)` events (see #429).
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
31 * Fix handling of `None` by `Markup.escape` in `_speedups.c` (see #439).
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
32 * Fix handling of internal state by match templates (relevant when multiple
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
33 templates match the same part of the stream, see #370).
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
34 * Fix handling of multiple events between or on either side of start and end
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
35 tags in translated messages (see #404).
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
36 * Fix test failures caused by changes in HTMLParser in Python 2.7 (see #501).
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
37
70666a3436f5 Merge r1198 from trunk (update ChangeLog with changes for 0.6.1).
hodgestar
parents: 897
diff changeset
38
756
70a172ab5705 Document dropping of Python 2.3 compat.
cmlenz
parents: 745
diff changeset
39 Version 0.6
70a172ab5705 Document dropping of Python 2.3 compat.
cmlenz
parents: 745
diff changeset
40 http://svn.edgewall.org/repos/genshi/tags/0.6.0/
897
64f04a2c5e66 Update changelog and copyright years.
cmlenz
parents: 881
diff changeset
41 (Apr 22 2010, from branches/stable/0.6.x)
756
70a172ab5705 Document dropping of Python 2.3 compat.
cmlenz
parents: 745
diff changeset
42
70a172ab5705 Document dropping of Python 2.3 compat.
cmlenz
parents: 745
diff changeset
43 * Support for Python 2.3 has been dropped.
836
a68915044668 ChangeLog updates.
cmlenz
parents: 829
diff changeset
44 * Rewrite of the XPath evaluation engine for better performance and improved
a68915044668 ChangeLog updates.
cmlenz
parents: 829
diff changeset
45 correctness. This is the result of integrating work done by Marcin Kurczych
a68915044668 ChangeLog updates.
cmlenz
parents: 829
diff changeset
46 during GSoC 2008.
a68915044668 ChangeLog updates.
cmlenz
parents: 829
diff changeset
47 * Updated the Python AST processing for template code evaluation to use the
a68915044668 ChangeLog updates.
cmlenz
parents: 829
diff changeset
48 `_ast` module instead of the deprecated `compiler` package, including an
881
28156470fe24 AST transformer now also clones excepthandler nodes (see #379).
cmlenz
parents: 877
diff changeset
49 adapter layer for Python 2.4. This, too, is the result of integrating work
28156470fe24 AST transformer now also clones excepthandler nodes (see #379).
cmlenz
parents: 877
diff changeset
50 done by Marcin Kurczych during GSoC 2008.
897
64f04a2c5e66 Update changelog and copyright years.
cmlenz
parents: 881
diff changeset
51 * Added caching in the serialization stage for improved performance in some
64f04a2c5e66 Update changelog and copyright years.
cmlenz
parents: 881
diff changeset
52 cases.
840
9eb84c75e5ac Ported some of the HTML sanitization improvements from Trac (see [T7658]).
cmlenz
parents: 838
diff changeset
53 * Various improvements to the HTML sanitization filter.
785
36fb0a57fe74 Fix for #250: ignore expressions in attribute values when inside `i18n:msg` elements.
cmlenz
parents: 778
diff changeset
54 * Fix problem with I18n filter that would get confused by expressions in
36fb0a57fe74 Fix for #250: ignore expressions in attribute values when inside `i18n:msg` elements.
cmlenz
parents: 778
diff changeset
55 attribute values when inside an `i18n:msg` block (ticket #250).
800
73429f585213 Fix for filter transformation, closing #290. Thanks to Stephen Compall for reporting the problem and providing a patch.
cmlenz
parents: 785
diff changeset
56 * Fix problem with the transformation filter dropping events after the
73429f585213 Fix for filter transformation, closing #290. Thanks to Stephen Compall for reporting the problem and providing a patch.
cmlenz
parents: 785
diff changeset
57 selection (ticket #290).
803
f8ca33751678 `for` loops in template code blocks should not establish their own locals block. Closes #259.
cmlenz
parents: 800
diff changeset
58 * `for` loops in template code blocks no longer establish their own locals
f8ca33751678 `for` loops in template code blocks should not establish their own locals block. Closes #259.
cmlenz
parents: 800
diff changeset
59 scope, meaning you can now access variables assigned in the loop outside
f8ca33751678 `for` loops in template code blocks should not establish their own locals block. Closes #259.
cmlenz
parents: 800
diff changeset
60 of the loop, just as you can in regular Python code (ticket #259).
806
c66c83861266 Fix for import statements in function defs in template code blocks (#276).
cmlenz
parents: 803
diff changeset
61 * Import statements inside function definitions in template code blocks no
c66c83861266 Fix for import statements in function defs in template code blocks (#276).
cmlenz
parents: 803
diff changeset
62 longer result in an UndefinedError when the imported name is accessed
c66c83861266 Fix for import statements in function defs in template code blocks (#276).
cmlenz
parents: 803
diff changeset
63 (ticket #276).
838
eb797c59b92b Move ChangeLog entry for [1046] to 0.5.2 release section.
cmlenz
parents: 837
diff changeset
64 * Fixed handling of relative URLs with fragment identifiers containing colons
eb797c59b92b Move ChangeLog entry for [1046] to 0.5.2 release section.
cmlenz
parents: 837
diff changeset
65 in the `HTMLSanitizer` (ticket #274).
841
86b5cee4eb6c Added an option to the `HTMLFiller` to also populate password fields.
cmlenz
parents: 840
diff changeset
66 * Added an option to the `HTMLFiller` to also populate password fields.
870
c52e2bf11edc Apply patch Felix Schwarz that finally fixes the duplicated output in match template processing. Thanks so much!
cmlenz
parents: 841
diff changeset
67 * Match template processing no longer produces unwanted duplicate output in
c52e2bf11edc Apply patch Felix Schwarz that finally fixes the duplicated output in match template processing. Thanks so much!
cmlenz
parents: 841
diff changeset
68 some cases (ticket #254).
877
1d23ed624ab2 ChangeLog entry for [1099].
cmlenz
parents: 870
diff changeset
69 * Templates instantiated without a loader now get an implicit loader based on
1d23ed624ab2 ChangeLog entry for [1099].
cmlenz
parents: 870
diff changeset
70 their file path, or the current directory as a fallback (ticket #320).
897
64f04a2c5e66 Update changelog and copyright years.
cmlenz
parents: 881
diff changeset
71 * Added documentation for the `TemplateLoader`.
64f04a2c5e66 Update changelog and copyright years.
cmlenz
parents: 881
diff changeset
72 * Enhanced documentation for internationalization.
785
36fb0a57fe74 Fix for #250: ignore expressions in attribute values when inside `i18n:msg` elements.
cmlenz
parents: 778
diff changeset
73
36fb0a57fe74 Fix for #250: ignore expressions in attribute values when inside `i18n:msg` elements.
cmlenz
parents: 778
diff changeset
74
758
9f28d17b1f72 Fix problem with nested match templates not being applied when buffering on the outer `py:match` is disabled. Thanks to Erik Bray for reporting the problem and providing a test case.
cmlenz
parents: 756
diff changeset
75 Version 0.5.1
9f28d17b1f72 Fix problem with nested match templates not being applied when buffering on the outer `py:match` is disabled. Thanks to Erik Bray for reporting the problem and providing a test case.
cmlenz
parents: 756
diff changeset
76 http://svn.edgewall.org/repos/genshi/tags/0.5.1/
778
7a8ed44a5cfd Prepare for [milestone:0.5.1] release.
cmlenz
parents: 771
diff changeset
77 (Jul 9 2008, from branches/stable/0.5.x)
758
9f28d17b1f72 Fix problem with nested match templates not being applied when buffering on the outer `py:match` is disabled. Thanks to Erik Bray for reporting the problem and providing a test case.
cmlenz
parents: 756
diff changeset
78
9f28d17b1f72 Fix problem with nested match templates not being applied when buffering on the outer `py:match` is disabled. Thanks to Erik Bray for reporting the problem and providing a test case.
cmlenz
parents: 756
diff changeset
79 * Fix problem with nested match templates not being applied when buffering
9f28d17b1f72 Fix problem with nested match templates not being applied when buffering on the outer `py:match` is disabled. Thanks to Erik Bray for reporting the problem and providing a test case.
cmlenz
parents: 756
diff changeset
80 on the outer `py:match` is disabled. Thanks to Erik Bray for reporting the
9f28d17b1f72 Fix problem with nested match templates not being applied when buffering on the outer `py:match` is disabled. Thanks to Erik Bray for reporting the problem and providing a test case.
cmlenz
parents: 756
diff changeset
81 problem and providing a test case!
762
df2eda814f2d Fix for I18n filter problem with lazy translation functions. Closes #145.
cmlenz
parents: 758
diff changeset
82 * Fix problem in `Translator` filter that would cause the translation of
df2eda814f2d Fix for I18n filter problem with lazy translation functions. Closes #145.
cmlenz
parents: 758
diff changeset
83 text nodes to fail if the translation function returned an object that was
df2eda814f2d Fix for I18n filter problem with lazy translation functions. Closes #145.
cmlenz
parents: 758
diff changeset
84 not directly a string, but rather something like an instance of the
df2eda814f2d Fix for I18n filter problem with lazy translation functions. Closes #145.
cmlenz
parents: 758
diff changeset
85 `LazyProxy` class in Babel (ticket #145).
766
b5b4b465e84c Fix bug where in some cases match templates would incorrectly applied multiple times.
cmlenz
parents: 762
diff changeset
86 * Fix problem with match templates incorrectly being applied multiple times.
769
3a59144a35b1 Includes from templates loaded via an absolute path now include the correct file in nested directories as long if no search path has been configured. Closes #240.
cmlenz
parents: 766
diff changeset
87 * Includes from templates loaded via an absolute path now include the correct
3a59144a35b1 Includes from templates loaded via an absolute path now include the correct file in nested directories as long if no search path has been configured. Closes #240.
cmlenz
parents: 766
diff changeset
88 file in nested directories as long if no search path has been configured
3a59144a35b1 Includes from templates loaded via an absolute path now include the correct file in nested directories as long if no search path has been configured. Closes #240.
cmlenz
parents: 766
diff changeset
89 (ticket #240).
771
2c2e9e685424 Unbuffered match templates could result in parts of the matched content being included in the output if the match template didn't actually consume it via one or more calls to the `select()` function. Closes #243. Thanks to Felix Schwarz for the report and test case.
cmlenz
parents: 769
diff changeset
90 * Unbuffered match templates could result in parts of the matched content
2c2e9e685424 Unbuffered match templates could result in parts of the matched content being included in the output if the match template didn't actually consume it via one or more calls to the `select()` function. Closes #243. Thanks to Felix Schwarz for the report and test case.
cmlenz
parents: 769
diff changeset
91 being included in the output if the match template didn't actually consume
2c2e9e685424 Unbuffered match templates could result in parts of the matched content being included in the output if the match template didn't actually consume it via one or more calls to the `select()` function. Closes #243. Thanks to Felix Schwarz for the report and test case.
cmlenz
parents: 769
diff changeset
92 it via one or more calls to the `select()` function (ticket #243).
758
9f28d17b1f72 Fix problem with nested match templates not being applied when buffering on the outer `py:match` is disabled. Thanks to Erik Bray for reporting the problem and providing a test case.
cmlenz
parents: 756
diff changeset
93
9f28d17b1f72 Fix problem with nested match templates not being applied when buffering on the outer `py:match` is disabled. Thanks to Erik Bray for reporting the problem and providing a test case.
cmlenz
parents: 756
diff changeset
94
475
b373f80f7763 Added include directive for text templates (#115). Thanks to Alastair for the original patch.
cmlenz
parents: 473
diff changeset
95 Version 0.5
b373f80f7763 Added include directive for text templates (#115). Thanks to Alastair for the original patch.
cmlenz
parents: 473
diff changeset
96 http://svn.edgewall.org/repos/genshi/tags/0.5.0/
745
74b5c5476ddb Preparing for [milestone:0.5] release.
cmlenz
parents: 739
diff changeset
97 (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
98
b373f80f7763 Added include directive for text templates (#115). Thanks to Alastair for the original patch.
cmlenz
parents: 473
diff changeset
99 * 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
100 * 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
101 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
102 on XPath expressions.
524
7553760b58af Add special handling for `xml:lang` to HTML/XHTML serialization.
cmlenz
parents: 522
diff changeset
103 * 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
104 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
105 understand.
537
8227900a442c Add ChangeLog entry for [642].
cmlenz
parents: 535
diff changeset
106 * Added support for the XPath 2 `matches()` function in XPath expressions,
8227900a442c Add ChangeLog entry for [642].
cmlenz
parents: 535
diff changeset
107 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
108 * 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
109 (ticket #123).
548
1cc1afc39176 Implement static includes, which improves performance a bit when auto reloading is disabled.
cmlenz
parents: 545
diff changeset
110 * 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
111 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
112 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
113 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
114 * 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
115 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
116 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
117 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
118 that the old syntax will be removed.
603
80e346366c83 Added information about [718] to the ChangeLog.
cmlenz
parents: 596
diff changeset
119 * Added support for passing optimization hints to `<py:match>` directives,
80e346366c83 Added information about [718] to the ChangeLog.
cmlenz
parents: 596
diff changeset
120 which can speed up match templates in many cases, for example when a match
80e346366c83 Added information about [718] to the ChangeLog.
cmlenz
parents: 596
diff changeset
121 template should only be applied once to a stream, or when it should not be
80e346366c83 Added information about [718] to the ChangeLog.
cmlenz
parents: 596
diff changeset
122 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
123 * 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
124 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
125 `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
126 * 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
127 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
128 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
129 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
130 * 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
131 * 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
132 `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
133 * 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
134 #150).
657
54964f7d2253 Allow use of py:replace as element. Closes #144.
cmlenz
parents: 655
diff changeset
135 * The `py:replace` directive can now also be used as an element, with an
54964f7d2253 Allow use of py:replace as element. Closes #144.
cmlenz
parents: 655
diff changeset
136 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
137 * 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
138 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
139 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
140 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
141 * 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
142 breaks context lookup.
688
d8571da25bc5 The `Stream.render` now accepts an optional `out` parameter that can be used to pass in a writable file-like object to use for assembling the output, instead of building a big string and returning it.
cmlenz
parents: 682
diff changeset
143 * The `Stream.render` now accepts an optional `out` parameter that can be
d8571da25bc5 The `Stream.render` now accepts an optional `out` parameter that can be used to pass in a writable file-like object to use for assembling the output, instead of building a big string and returning it.
cmlenz
parents: 682
diff changeset
144 used to pass in a writable file-like object to use for assembling the
d8571da25bc5 The `Stream.render` now accepts an optional `out` parameter that can be used to pass in a writable file-like object to use for assembling the output, instead of building a big string and returning it.
cmlenz
parents: 682
diff changeset
145 output, instead of building a big string and returning it.
689
3881a602048a The XHTML serializer now strips `xml:space` attributes as they are only allowed on very few tags.
cmlenz
parents: 688
diff changeset
146 * The XHTML serializer now strips `xml:space` attributes as they are only
3881a602048a The XHTML serializer now strips `xml:space` attributes as they are only allowed on very few tags.
cmlenz
parents: 688
diff changeset
147 allowed on very few tags.
694
07e3f6f0ef57 Match templates are now applied in a more controlled fashion: in the order they are declared in the template source, all match templates up to (and including) the matching template itself are applied to the matched content, whereas the match templates declared after the matching template are only applied to the generated content. Fixes #186. Many thanks to Matt Chaput for reporting the problem and providing a test case.
cmlenz
parents: 689
diff changeset
148 * Match templates are now applied in a more controlled fashion: in the order
07e3f6f0ef57 Match templates are now applied in a more controlled fashion: in the order they are declared in the template source, all match templates up to (and including) the matching template itself are applied to the matched content, whereas the match templates declared after the matching template are only applied to the generated content. Fixes #186. Many thanks to Matt Chaput for reporting the problem and providing a test case.
cmlenz
parents: 689
diff changeset
149 they are declared in the template source, all match templates up to (and
07e3f6f0ef57 Match templates are now applied in a more controlled fashion: in the order they are declared in the template source, all match templates up to (and including) the matching template itself are applied to the matched content, whereas the match templates declared after the matching template are only applied to the generated content. Fixes #186. Many thanks to Matt Chaput for reporting the problem and providing a test case.
cmlenz
parents: 689
diff changeset
150 including) the matching template itself are applied to the matched content,
07e3f6f0ef57 Match templates are now applied in a more controlled fashion: in the order they are declared in the template source, all match templates up to (and including) the matching template itself are applied to the matched content, whereas the match templates declared after the matching template are only applied to the generated content. Fixes #186. Many thanks to Matt Chaput for reporting the problem and providing a test case.
cmlenz
parents: 689
diff changeset
151 whereas the match templates declared after the matching template are only
07e3f6f0ef57 Match templates are now applied in a more controlled fashion: in the order they are declared in the template source, all match templates up to (and including) the matching template itself are applied to the matched content, whereas the match templates declared after the matching template are only applied to the generated content. Fixes #186. Many thanks to Matt Chaput for reporting the problem and providing a test case.
cmlenz
parents: 689
diff changeset
152 applied to the generated content (ticket #186).
714
fc6d9d2a3527 The `Template` class and its subclasses, as well as the interpolation API, now take an `filepath` parameter instead of `basedir`. Closes #207. Thanks to Waldemar Kornewald for the patch.
cmlenz
parents: 713
diff changeset
153 * The `TemplateLoader` class now provides an `_instantiate()` method that can
695
ed5044d318ed The `TemplateLoader` class now provides an `instantiate()` method that can be overridden by subclasses to implement advanced template instantiation logic. Fixes #204.
cmlenz
parents: 694
diff changeset
154 be overridden by subclasses to implement advanced template instantiation
ed5044d318ed The `TemplateLoader` class now provides an `instantiate()` method that can be overridden by subclasses to implement advanced template instantiation logic. Fixes #204.
cmlenz
parents: 694
diff changeset
155 logic (ticket #204).
696
66eead58c120 More flexible template loader allowing for loading from package data and dispatching to different template directories based on path prefix. Can be easily extended for using custom template loading. Closes #182.
cmlenz
parents: 695
diff changeset
156 * The search path of the `TemplateLoader` class can now contain ''load
66eead58c120 More flexible template loader allowing for loading from package data and dispatching to different template directories based on path prefix. Can be easily extended for using custom template loading. Closes #182.
cmlenz
parents: 695
diff changeset
157 functions'' in addition to path strings. A load function is passed the
66eead58c120 More flexible template loader allowing for loading from package data and dispatching to different template directories based on path prefix. Can be easily extended for using custom template loading. Closes #182.
cmlenz
parents: 695
diff changeset
158 name of the requested template file, and should return a file-like object
66eead58c120 More flexible template loader allowing for loading from package data and dispatching to different template directories based on path prefix. Can be easily extended for using custom template loading. Closes #182.
cmlenz
parents: 695
diff changeset
159 and some metadata. New load functions are supplied for loading from egg
66eead58c120 More flexible template loader allowing for loading from package data and dispatching to different template directories based on path prefix. Can be easily extended for using custom template loading. Closes #182.
cmlenz
parents: 695
diff changeset
160 package data, and loading from different loaders depending on the path
66eead58c120 More flexible template loader allowing for loading from package data and dispatching to different template directories based on path prefix. Can be easily extended for using custom template loading. Closes #182.
cmlenz
parents: 695
diff changeset
161 prefix of the requested filename (ticket #182).
700
08f22328303d Add option for unbuffered match template processing, which could cause excessive memory usage. Closes #190.
cmlenz
parents: 696
diff changeset
162 * Match templates can now be processed without keeping the complete matched
08f22328303d Add option for unbuffered match template processing, which could cause excessive memory usage. Closes #190.
cmlenz
parents: 696
diff changeset
163 content in memory, which could cause excessive memory use on long pages.
08f22328303d Add option for unbuffered match template processing, which could cause excessive memory usage. Closes #190.
cmlenz
parents: 696
diff changeset
164 The buffering can be disabled using the new `buffer` optimization hint on
08f22328303d Add option for unbuffered match template processing, which could cause excessive memory usage. Closes #190.
cmlenz
parents: 696
diff changeset
165 the `<py:match>` directive.
702
e5b0d9d6b406 Improve error reporting when accessing an attribute in a Python expression raises an `AttributeError`. Closes #191. Thanks to Michele Cella for the patch!
cmlenz
parents: 700
diff changeset
166 * Improve error reporting when accessing an attribute in a Python expression
e5b0d9d6b406 Improve error reporting when accessing an attribute in a Python expression raises an `AttributeError`. Closes #191. Thanks to Michele Cella for the patch!
cmlenz
parents: 700
diff changeset
167 raises an `AttributeError` (ticket #191).
713
5420fe9d99a9 The `Markup` class now supports mappings for right hand of the `%` (modulo) operator in the same way the Python string classes do, except that the substituted values are escape. Also, the special constructor which took positional arguments that would be substituted was removed. Thus the `Markup` class now supports the same arguments as that of its `unicode` base class. Closes #211. Many thanks to Christian Boos for the patch!
cmlenz
parents: 702
diff changeset
168 * The `Markup` class now supports mappings for right hand of the `%` (modulo)
5420fe9d99a9 The `Markup` class now supports mappings for right hand of the `%` (modulo) operator in the same way the Python string classes do, except that the substituted values are escape. Also, the special constructor which took positional arguments that would be substituted was removed. Thus the `Markup` class now supports the same arguments as that of its `unicode` base class. Closes #211. Many thanks to Christian Boos for the patch!
cmlenz
parents: 702
diff changeset
169 operator in the same way the Python string classes do, except that the
5420fe9d99a9 The `Markup` class now supports mappings for right hand of the `%` (modulo) operator in the same way the Python string classes do, except that the substituted values are escape. Also, the special constructor which took positional arguments that would be substituted was removed. Thus the `Markup` class now supports the same arguments as that of its `unicode` base class. Closes #211. Many thanks to Christian Boos for the patch!
cmlenz
parents: 702
diff changeset
170 substituted values are escape. Also, the special constructor which took
5420fe9d99a9 The `Markup` class now supports mappings for right hand of the `%` (modulo) operator in the same way the Python string classes do, except that the substituted values are escape. Also, the special constructor which took positional arguments that would be substituted was removed. Thus the `Markup` class now supports the same arguments as that of its `unicode` base class. Closes #211. Many thanks to Christian Boos for the patch!
cmlenz
parents: 702
diff changeset
171 positional arguments that would be substituted was removed. Thus the
5420fe9d99a9 The `Markup` class now supports mappings for right hand of the `%` (modulo) operator in the same way the Python string classes do, except that the substituted values are escape. Also, the special constructor which took positional arguments that would be substituted was removed. Thus the `Markup` class now supports the same arguments as that of its `unicode` base class. Closes #211. Many thanks to Christian Boos for the patch!
cmlenz
parents: 702
diff changeset
172 `Markup` class now supports the same arguments as that of its `unicode`
5420fe9d99a9 The `Markup` class now supports mappings for right hand of the `%` (modulo) operator in the same way the Python string classes do, except that the substituted values are escape. Also, the special constructor which took positional arguments that would be substituted was removed. Thus the `Markup` class now supports the same arguments as that of its `unicode` base class. Closes #211. Many thanks to Christian Boos for the patch!
cmlenz
parents: 702
diff changeset
173 base class (ticket #211).
714
fc6d9d2a3527 The `Template` class and its subclasses, as well as the interpolation API, now take an `filepath` parameter instead of `basedir`. Closes #207. Thanks to Waldemar Kornewald for the patch.
cmlenz
parents: 713
diff changeset
174 * The `Template` class and its subclasses, as well as the interpolation API,
fc6d9d2a3527 The `Template` class and its subclasses, as well as the interpolation API, now take an `filepath` parameter instead of `basedir`. Closes #207. Thanks to Waldemar Kornewald for the patch.
cmlenz
parents: 713
diff changeset
175 now take an `filepath` parameter instead of `basedir` (ticket #207).
729
be0b4a7b2fd4 * Add XHTML 1.1 doctype (closes #228).
cmlenz
parents: 714
diff changeset
176 * The `XHTMLSerializer` now has a `drop_xml_decl` option that defaults to
be0b4a7b2fd4 * Add XHTML 1.1 doctype (closes #228).
cmlenz
parents: 714
diff changeset
177 `True`. Setting it to `False` will cause any XML decl in the serialized
be0b4a7b2fd4 * Add XHTML 1.1 doctype (closes #228).
cmlenz
parents: 714
diff changeset
178 stream to be included in the output as it would for XML serialization.
739
6de290dec976 Another Python 2.3 fix in the wake of #221.
cmlenz
parents: 729
diff changeset
179 * Add support for a protocol that would allow interoperability of different
6de290dec976 Another Python 2.3 fix in the wake of #221.
cmlenz
parents: 729
diff changeset
180 Python packages that generate and/or consume markup, based on the special
6de290dec976 Another Python 2.3 fix in the wake of #221.
cmlenz
parents: 729
diff changeset
181 `__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
182
b373f80f7763 Added include directive for text templates (#115). Thanks to Alastair for the original patch.
cmlenz
parents: 473
diff changeset
183
579
2f7f6b70d5b9 Fix for augmented assignments to local variables. Thanks to Erik Bray for reporting the problem.
cmlenz
parents: 574
diff changeset
184 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
185 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
186 (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
187
2f7f6b70d5b9 Fix for augmented assignments to local variables. Thanks to Erik Bray for reporting the problem.
cmlenz
parents: 574
diff changeset
188 * Fixed augmented assignment to local variables in Python code blocks.
588
7fa2de21af4a Updated ChangeLog for [700].
cmlenz
parents: 579
diff changeset
189 * Fixed handling of nested function and class definitions in Python code
7fa2de21af4a Updated ChangeLog for [700].
cmlenz
parents: 579
diff changeset
190 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
191 * 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
192 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
193 * 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
194 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
195 an `OSError`.
594
2bbaa61b328f Add option to I18n filter to only extract strings in gettext function calls.
cmlenz
parents: 592
diff changeset
196 * 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
197 `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
198 (ticket #138).
579
2f7f6b70d5b9 Fix for augmented assignments to local variables. Thanks to Erik Bray for reporting the problem.
cmlenz
parents: 574
diff changeset
199
2f7f6b70d5b9 Fix for augmented assignments to local variables. Thanks to Erik Bray for reporting the problem.
cmlenz
parents: 574
diff changeset
200
535
35a413f3f1dd The I18n filter no longer extracts or translates literal strings in attribute values that also contain expressions.
cmlenz
parents: 528
diff changeset
201 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
202 http://svn.edgewall.org/repos/genshi/tags/0.4.3/
574
3014f14fc83d Oops, fix dates in ChangeLog.
cmlenz
parents: 571
diff changeset
203 (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
204
35a413f3f1dd The I18n filter no longer extracts or translates literal strings in attribute values that also contain expressions.
cmlenz
parents: 528
diff changeset
205 * 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
206 attribute values that also contain expressions.
538
e9db4aca70f0 Add `loader_callback` option to plugin interface as requested in #130.
cmlenz
parents: 537
diff changeset
207 * 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
208 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
209 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
210 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
211 it is not available for use through configuration files.
550
35dababa28d6 ChangeLog entry for [658].
cmlenz
parents: 548
diff changeset
212 * The I18n filter now extracts messages from gettext functions even inside
35dababa28d6 ChangeLog entry for [658].
cmlenz
parents: 548
diff changeset
213 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
214 * 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
215 could previously be used to hide malicious property values.
571
f0461dc3939a * Cleaned up the implementation of the `HTMLSanitizer`.
cmlenz
parents: 569
diff changeset
216 * 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
217 may be used to hide malicious payloads targetting a certain "innovative"
f0461dc3939a * Cleaned up the implementation of the `HTMLSanitizer`.
cmlenz
parents: 569
diff changeset
218 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
219 * 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
220 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
221
35a413f3f1dd The I18n filter no longer extracts or translates literal strings in attribute values that also contain expressions.
cmlenz
parents: 528
diff changeset
222
494
942d73ba938c The `doctype` parameter for serializers can now be a string.
cmlenz
parents: 489
diff changeset
223 Version 0.4.2
942d73ba938c The `doctype` parameter for serializers can now be a string.
cmlenz
parents: 489
diff changeset
224 http://svn.edgewall.org/repos/genshi/tags/0.4.2/
574
3014f14fc83d Oops, fix dates in ChangeLog.
cmlenz
parents: 571
diff changeset
225 (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
226
942d73ba938c The `doctype` parameter for serializers can now be a string.
cmlenz
parents: 489
diff changeset
227 * 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
228 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
229 * 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
230 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
231 * `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
232 * A `<?python ?>` processing instruction containing trailing whitespace no
203bd6a3c93d Applied patch by Dale Sedivec to fix #127. Many thanks!
cmlenz
parents: 512
diff changeset
233 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
234 * 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
235 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
236 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
237 * 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
238
942d73ba938c The `doctype` parameter for serializers can now be a string.
cmlenz
parents: 489
diff changeset
239
456
4b6dc4978691 Fix incorrect reference to translation function in the I18N filter.
cmlenz
parents: 452
diff changeset
240 Version 0.4.1
4b6dc4978691 Fix incorrect reference to translation function in the I18N filter.
cmlenz
parents: 452
diff changeset
241 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
242 (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
243
4b6dc4978691 Fix incorrect reference to translation function in the I18N filter.
cmlenz
parents: 452
diff changeset
244 * 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
245 * 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
246 * 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
247 output when XML serialization is used (ticket #111).
462
d5e2a7b58116 Add lower-level serialization functions.
cmlenz
parents: 460
diff changeset
248 * Added the functions `encode()` and `get_serializer()` to the `genshi.output`
d5e2a7b58116 Add lower-level serialization functions.
cmlenz
parents: 460
diff changeset
249 module, which provide a lower-level API to the functionality previously only
d5e2a7b58116 Add lower-level serialization functions.
cmlenz
parents: 460
diff changeset
250 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
251 * 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
252 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
253 * 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
254 1.0.
469
2d3246f9ea54 The I18n extraction now returns a tuple of strings for `ngettext` and similar functions.
cmlenz
parents: 464
diff changeset
255 * 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
256 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
257 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
258 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
259 * 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
260 the data element contains no corresponding item.
473
4ed941aa0cbf Apply patch from #113, also closing #114.
cmlenz
parents: 471
diff changeset
261 * Code in `<?python ?>` processing instructions no longer gets the special
4ed941aa0cbf Apply patch from #113, also closing #114.
cmlenz
parents: 471
diff changeset
262 treatment as Python code in template expressions, i.e. item and attribute
4ed941aa0cbf Apply patch from #113, also closing #114.
cmlenz
parents: 471
diff changeset
263 access are no longer interchangeable (which was broken in a number of ways
4ed941aa0cbf Apply patch from #113, also closing #114.
cmlenz
parents: 471
diff changeset
264 anyway, see ticket #113). This change does not affect expressions.
4ed941aa0cbf Apply patch from #113, also closing #114.
cmlenz
parents: 471
diff changeset
265 * Numerous fixes for the execution of Python code in `<?python ?>` processing
4ed941aa0cbf Apply patch from #113, also closing #114.
cmlenz
parents: 471
diff changeset
266 instructions (tickets #113 and #114).
479
94191f4233f3 Apply patch for #116.
cmlenz
parents: 475
diff changeset
267 * The `py:def` (and `#def`) directive now supports "star args" (i.e. `*args`
94191f4233f3 Apply patch for #116.
cmlenz
parents: 475
diff changeset
268 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
269
4b6dc4978691 Fix incorrect reference to translation function in the I18N filter.
cmlenz
parents: 452
diff changeset
270
276
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
271 Version 0.4
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
272 http://svn.edgewall.org/repos/genshi/tags/0.4.0/
452
a89368769b82 Add `filters` package in `setup.py`.
cmlenz
parents: 446
diff changeset
273 (Apr 16 2007, from branches/stable/0.4.x)
276
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
274
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
275 * New example applications for CherryPy and web.py.
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
276 * The template loader now uses a LRU cache to limit the number of cached
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
277 templates to a configurable maximum. Also, a race condition in the template
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
278 loader was fixed by adding locking.
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
279 * A new filter (genshi.filters.HTMLFormFiller) was added, which can populate
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
280 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
281 * 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
282 be configured per instance.
294
4a8975768572 Updated change log.
cmlenz
parents: 288
diff changeset
283 * The template engine plugin now supports a range of options for
4a8975768572 Updated change log.
cmlenz
parents: 288
diff changeset
284 configuration, for example to set the default serialization method, the
4a8975768572 Updated change log.
cmlenz
parents: 288
diff changeset
285 default output encoding, or the default DOCTYPE.
302
53d502c7c874 Updated change log.
cmlenz
parents: 294
diff changeset
286 * The ElementTree adaptation function `ET()` has moved into the `genshi.input`
53d502c7c874 Updated change log.
cmlenz
parents: 294
diff changeset
287 module.
53d502c7c874 Updated change log.
cmlenz
parents: 294
diff changeset
288 * Allow `when` directives to omit the test expression as long as the
53d502c7c874 Updated change log.
cmlenz
parents: 294
diff changeset
289 associated choose directive does have one. In that case, the when branch is
53d502c7c874 Updated change log.
cmlenz
parents: 294
diff changeset
290 followed if the expression of the choose directive evaluates to a truth
53d502c7c874 Updated change log.
cmlenz
parents: 294
diff changeset
291 value.
317
efa7870b63cb Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
292 * 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
293 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
294 * 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
295 `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
296 * 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
297 are callable.
345
2aa7ca37ae6a Make `Attrs` instances immutable.
cmlenz
parents: 343
diff changeset
298 * Instances of the `genshi.core.Attrs` class are now immutable (they are
2aa7ca37ae6a Make `Attrs` instances immutable.
cmlenz
parents: 343
diff changeset
299 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
300 * `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
301 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
302 * 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
303 * 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
304 * 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
305 * 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
306 full expression (ticket #92).
401
68772732c896 Make the `Markup` class available by default in template expressions. Closes #67.
cmlenz
parents: 399
diff changeset
307 * 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
308 (ticket #67).
411
7d158f8f48ad Updated change log.
cmlenz
parents: 401
diff changeset
309 * The handling of namespace declarations in XML/XHTML output has been improved.
7d158f8f48ad Updated change log.
cmlenz
parents: 401
diff changeset
310 * The `Attrs` class no longer automatically wraps all attribute names in
7d158f8f48ad Updated change log.
cmlenz
parents: 401
diff changeset
311 `QName` objects. This is now the responsibility of whoever is instantiating
7d158f8f48ad Updated change log.
cmlenz
parents: 401
diff changeset
312 `Attrs` objects (for example, stream filters and generators).
7d158f8f48ad Updated change log.
cmlenz
parents: 401
diff changeset
313 * Python code blocks are now supported using the `<?python ?>` processing
7d158f8f48ad Updated change log.
cmlenz
parents: 401
diff changeset
314 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
315 * 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
316 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
317 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
318 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
319 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
320 * 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
321 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
322 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
323 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
324 engine plugin (for compatibility with Kid).
432
406915754870 * Updated change log
cmlenz
parents: 418
diff changeset
325 * `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
326 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
327 escapes in the attribute value are now handled properly.
437
821fc97d3c0a Fix for #107.
cmlenz
parents: 432
diff changeset
328 * Namespace declarations on conditional elements (for example using a `py:if`
821fc97d3c0a Fix for #107.
cmlenz
parents: 432
diff changeset
329 directive`) are no longer moved to the following element when the element
821fc97d3c0a Fix for #107.
cmlenz
parents: 432
diff changeset
330 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
331 * 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
332 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
333 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
334 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
335 and David Fraser.
365
4f431931d64e Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
336
4f431931d64e Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
337
387
9c88f4137b03 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
338 Version 0.3.6
9c88f4137b03 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
339 http://svn.edgewall.org/repos/genshi/tags/0.3.6/
9c88f4137b03 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
340 (Dec 11 2006, from branches/stable/0.3.x)
9c88f4137b03 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
341
9c88f4137b03 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
342 * The builder API now accepts streams as children of elements and fragments.
9c88f4137b03 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
343
9c88f4137b03 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
344
365
4f431931d64e Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
345 Version 0.3.5
387
9c88f4137b03 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
346 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
347 (Nov 22 2006, from branches/stable/0.3.x)
4f431931d64e Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
348
371
37e45862f814 Update change log for [milestone:0.3.5].
cmlenz
parents: 365
diff changeset
349 * Fix XPath traversal in match templates. Previously, `div/p` would be treated
37e45862f814 Update change log for [milestone:0.3.5].
cmlenz
parents: 365
diff changeset
350 the same as `div//p`, i.e. it would match all descendants and not just the
37e45862f814 Update change log for [milestone:0.3.5].
cmlenz
parents: 365
diff changeset
351 immediate children.
365
4f431931d64e Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
352 * 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
353 elements.
4f431931d64e Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
354 * 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
355 * 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
356 expected (ticket #62).
346
96882a191686 Whitespace was not getting preserved in HTML `<pre>` elements that contained other HTML elements.
cmlenz
parents: 345
diff changeset
357
317
efa7870b63cb Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
358
efa7870b63cb Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
359 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
360 http://svn.edgewall.org/repos/genshi/tags/0.3.4/
323
6be95de7aa99 Prepare for [milestone:0.3.4] release.
cmlenz
parents: 317
diff changeset
361 (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
362
efa7870b63cb Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
363 * 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
364 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
365 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
366 * 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
367 directives can now contain non-ASCII strings.
285
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
368
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
369
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
370 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
371 http://svn.edgewall.org/repos/genshi/tags/0.3.3/
302
53d502c7c874 Updated change log.
cmlenz
parents: 294
diff changeset
372 (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
373
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
374 * 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
375 declare the same namespace more than once in a nested fashion.
294
4a8975768572 Updated change log.
cmlenz
parents: 288
diff changeset
376 * Fixed the parsing of HTML entity references inside attribute values, both
4a8975768572 Updated change log.
cmlenz
parents: 288
diff changeset
377 in the `XMLParser` and the `HTMLParser` classes.
302
53d502c7c874 Updated change log.
cmlenz
parents: 294
diff changeset
378 * Some changes to usage of absolute vs. relative template paths to ensure that
53d502c7c874 Updated change log.
cmlenz
parents: 294
diff changeset
379 the filenamed-keyed cache employed by the TemplateLoader doesn't mix up
53d502c7c874 Updated change log.
cmlenz
parents: 294
diff changeset
380 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
381
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
382
285
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
383 Version 0.3.2
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
384 http://svn.edgewall.org/repos/genshi/tags/0.3.2/
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
385 (Oct 12 2006, from branches/stable/0.3.x)
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
386
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
387 * Exceptions from templates now contain the absolute path to the template file
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
388 when a search path is used. This enables tracebacks to display the line in
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
389 question.
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
390 * The template engine plugin now provides three different types: "genshi" and
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
391 "genshi-markup" map to markup templates, while "genshi-text" maps to text
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
392 templates.
278
d6c58473a9d0 Fix the handling of namespace context for match templates.
cmlenz
parents: 277
diff changeset
393 * 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
394 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
395 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
396 defined.
285
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
397 * 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
398 serializing to HTML but declaring the XHTML namespace in the template.
285
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
399 * Improved error message raised when using the `py:for` directive on an object
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
400 that is not iterable (ticket #60).
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
401 * Fixed the XPath function `starts-with()` which was always returning true
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
402 (ticket #61).
276
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
403
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
404
260
e14a41120be7 Updated change log.
cmlenz
parents: 252
diff changeset
405 Version 0.3.1
e14a41120be7 Updated change log.
cmlenz
parents: 252
diff changeset
406 http://svn.edgewall.org/repos/genshi/tags/0.3.1/
262
bbabcbb6378f Prepare [milestone:0.3.1] release.
cmlenz
parents: 260
diff changeset
407 (Sep 22 2006, from branches/stable/0.3.x)
260
e14a41120be7 Updated change log.
cmlenz
parents: 252
diff changeset
408
e14a41120be7 Updated change log.
cmlenz
parents: 252
diff changeset
409 * Includes and user-defined filters were not getting the correct context data
e14a41120be7 Updated change log.
cmlenz
parents: 252
diff changeset
410 when used inside a match template (ticket #56).
e14a41120be7 Updated change log.
cmlenz
parents: 252
diff changeset
411 * XPath patterns using the union operator (`|`) were returning only partial
e14a41120be7 Updated change log.
cmlenz
parents: 252
diff changeset
412 results in some cases.
e14a41120be7 Updated change log.
cmlenz
parents: 252
diff changeset
413
e14a41120be7 Updated change log.
cmlenz
parents: 252
diff changeset
414
192
b64e36bc1100 Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
415 Version 0.3
230
84168828b074 Renamed Markup to Genshi in repository.
cmlenz
parents: 227
diff changeset
416 http://svn.edgewall.org/repos/genshi/tags/0.3.0/
252
2a89132dd9d9 Add release date to change log.
cmlenz
parents: 234
diff changeset
417 (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
418
234
39c424b80edd * Minor simplification of XPath engine.
cmlenz
parents: 230
diff changeset
419 * The project name was changed from "Markup" to "Genshi". See UPGRADE.txt
39c424b80edd * Minor simplification of XPath engine.
cmlenz
parents: 230
diff changeset
420 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
421 * 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
422 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
423 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
424 `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
425 * 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
426 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
427 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
428 * 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
429 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
430 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
431 * 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
432 * Added serialization to plain text (ticket #41).
218
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
433 * Calling functions from template expressions with *args and/or **kwargs
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
434 now works correctly (ticket #42).
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
435 * The `TemplateLoader` class and the `Template` instances that it manages are
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
436 now thread-safe, as they no longer keep any state related to the current
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
437 processing context.
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
438 * Stream filters and serializers can now be applied using the "pipe" (bitwise
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
439 or) operator "|".
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
440 * The execution of named template functions (`py:def`) no longer silently
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
441 swallows TypeError exceptions (ticket #44).
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
442 * The XML Parser now correctly handles unicode input (ticket #43).
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
443 * HTML entities can now be used in templates without having to declare an HTML
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
444 document type.
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
445 * Error reporting on undefined entities has been fixed.
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
446 * Fix traversal of substreams by XPath expressions. For example, the path
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
447 '*/*' no longer matches non-immediate child elements, and '@*' no longer
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
448 matches the attributes of descendants.
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
449 * Fixes for `py:match` which would get confused when it should be applied
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
450 to multiple elements (ticket #49).
224
90d62225f411 Implement support for namespace prefixes in XPath expressions.
cmlenz
parents: 218
diff changeset
451 * 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
452 * Expressions now correctly handle slices (ticket #51).
234
39c424b80edd * Minor simplification of XPath engine.
cmlenz
parents: 230
diff changeset
453 * A simple text-based template language is now included for generating
39c424b80edd * Minor simplification of XPath engine.
cmlenz
parents: 230
diff changeset
454 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
455
b64e36bc1100 Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
456
148
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
457 Version 0.2
230
84168828b074 Renamed Markup to Genshi in repository.
cmlenz
parents: 227
diff changeset
458 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
459 (Aug 22 2006, from branches/stable/0.2.x)
148
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
460
153
fc2ff46d1ae3 Fix relative includes on Windows. Closes #27.
cmlenz
parents: 148
diff changeset
461 * XPath syntax errors now contain position info (ticket #20).
148
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
462 * Errors in expression evaluation now contain the correct line number in the
153
fc2ff46d1ae3 Fix relative includes on Windows. Closes #27.
cmlenz
parents: 148
diff changeset
463 template (ticket #22).
148
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
464 * <script> and <style> element contents are no longer escaped when using HTML
153
fc2ff46d1ae3 Fix relative includes on Windows. Closes #27.
cmlenz
parents: 148
diff changeset
465 serialization (ticket #24).
fc2ff46d1ae3 Fix relative includes on Windows. Closes #27.
cmlenz
parents: 148
diff changeset
466 * In some cases expressions in templates did not get interpolated (ticket
fc2ff46d1ae3 Fix relative includes on Windows. Closes #27.
cmlenz
parents: 148
diff changeset
467 #26).
148
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
468 * 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
469 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
470 compatible with HTML user agents.
159
759c8f5e9efe Another changelog update
cmlenz
parents: 156
diff changeset
471 * The XHTML serializer now correctly handles elements in foreign namespaces
759c8f5e9efe Another changelog update
cmlenz
parents: 156
diff changeset
472 (such as SVG or MathML).
153
fc2ff46d1ae3 Fix relative includes on Windows. Closes #27.
cmlenz
parents: 148
diff changeset
473 * Fixed relative includes in templates on Windows (ticket #27).
160
d19e8a2c549e Attribute order in parsed XML is now preserved.
cmlenz
parents: 159
diff changeset
474 * 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
475 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
476 XML character reference.
156
4792730ebb20 Updated !ChangeLog to reflect [197].
cmlenz
parents: 153
diff changeset
477 * String literals in XPath expressions that contain spaces are now parsed
4792730ebb20 Updated !ChangeLog to reflect [197].
cmlenz
parents: 153
diff changeset
478 as expected.
4792730ebb20 Updated !ChangeLog to reflect [197].
cmlenz
parents: 153
diff changeset
479 * 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
480 contains(), false(), floor(), normalize-space(), number(), round(),
456039594db9 Implement the XPath relational operators and the `round()` function.
cmlenz
parents: 160
diff changeset
481 starts-with(), string-length(), substring(), substring-after(),
456039594db9 Implement the XPath relational operators and the `round()` function.
cmlenz
parents: 160
diff changeset
482 substring-before(), translate(), and true().
168
5f538e761701 Added recent changes to change log file.
cmlenz
parents: 162
diff changeset
483 * Non-ASCII characters in expressions should now be handled correctly (ticket
5f538e761701 Added recent changes to change log file.
cmlenz
parents: 162
diff changeset
484 #29).
5f538e761701 Added recent changes to change log file.
cmlenz
parents: 162
diff changeset
485 * Default values for arguments of template functions now also work with
5f538e761701 Added recent changes to change log file.
cmlenz
parents: 162
diff changeset
486 constants and complex expressions (they only worked for string or number
5f538e761701 Added recent changes to change log file.
cmlenz
parents: 162
diff changeset
487 literals before).
181
e103b75a96ce Some error message improvements for template directives. Thanks to Christian Boos for the patch!
cmlenz
parents: 169
diff changeset
488 * 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
489 (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
490 * 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
491 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
492 * 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
493 values (ticket #34).
148
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
494
169
dc6676d3b697 Fix syntax error in `path` module.
cmlenz
parents: 168
diff changeset
495
148
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
496 Version 0.1
230
84168828b074 Renamed Markup to Genshi in repository.
cmlenz
parents: 227
diff changeset
497 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
498 (Aug 3 2006, from branches/stable/0.1.x)
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
499
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
500 * First public release
Copyright (C) 2012-2017 Edgewall Software