annotate ChangeLog @ 908:5fd4a1e28351

Fix for bug with the `HTMLFormFiller` in the handling of textareas. Thanks to Trevor Morgan for pointing this out on the mailing list.
author cmlenz
date Mon, 10 May 2010 14:02:55 +0000
parents 85e4678337cf
children 585fdbd30e05
rev   line source
908
5fd4a1e28351 Fix for bug with the `HTMLFormFiller` in the handling of textareas. Thanks to Trevor Morgan for pointing this out on the mailing list.
cmlenz
parents: 897
diff changeset
1 Version 0.6.1
5fd4a1e28351 Fix for bug with the `HTMLFormFiller` in the handling of textareas. Thanks to Trevor Morgan for pointing this out on the mailing list.
cmlenz
parents: 897
diff changeset
2 http://svn.edgewall.org/repos/genshi/tags/0.6.1/
5fd4a1e28351 Fix for bug with the `HTMLFormFiller` in the handling of textareas. Thanks to Trevor Morgan for pointing this out on the mailing list.
cmlenz
parents: 897
diff changeset
3 (???, from branches/stable/0.6.x)
5fd4a1e28351 Fix for bug with the `HTMLFormFiller` in the handling of textareas. Thanks to Trevor Morgan for pointing this out on the mailing list.
cmlenz
parents: 897
diff changeset
4
5fd4a1e28351 Fix for bug with the `HTMLFormFiller` in the handling of textareas. Thanks to Trevor Morgan for pointing this out on the mailing list.
cmlenz
parents: 897
diff changeset
5 * Fix for error in how `HTMLFormFiller` would handle `textarea` elements if
5fd4a1e28351 Fix for bug with the `HTMLFormFiller` in the handling of textareas. Thanks to Trevor Morgan for pointing this out on the mailing list.
cmlenz
parents: 897
diff changeset
6 no value was not supplied form them.
5fd4a1e28351 Fix for bug with the `HTMLFormFiller` in the handling of textareas. Thanks to Trevor Morgan for pointing this out on the mailing list.
cmlenz
parents: 897
diff changeset
7
5fd4a1e28351 Fix for bug with the `HTMLFormFiller` in the handling of textareas. Thanks to Trevor Morgan for pointing this out on the mailing list.
cmlenz
parents: 897
diff changeset
8
756
211cd26d6fd9 Document dropping of Python 2.3 compat.
cmlenz
parents: 745
diff changeset
9 Version 0.6
211cd26d6fd9 Document dropping of Python 2.3 compat.
cmlenz
parents: 745
diff changeset
10 http://svn.edgewall.org/repos/genshi/tags/0.6.0/
897
85e4678337cf Update changelog and copyright years.
cmlenz
parents: 881
diff changeset
11 (Apr 22 2010, from branches/stable/0.6.x)
756
211cd26d6fd9 Document dropping of Python 2.3 compat.
cmlenz
parents: 745
diff changeset
12
211cd26d6fd9 Document dropping of Python 2.3 compat.
cmlenz
parents: 745
diff changeset
13 * Support for Python 2.3 has been dropped.
836
ec96500c4dc3 ChangeLog updates.
cmlenz
parents: 829
diff changeset
14 * Rewrite of the XPath evaluation engine for better performance and improved
ec96500c4dc3 ChangeLog updates.
cmlenz
parents: 829
diff changeset
15 correctness. This is the result of integrating work done by Marcin Kurczych
ec96500c4dc3 ChangeLog updates.
cmlenz
parents: 829
diff changeset
16 during GSoC 2008.
ec96500c4dc3 ChangeLog updates.
cmlenz
parents: 829
diff changeset
17 * Updated the Python AST processing for template code evaluation to use the
ec96500c4dc3 ChangeLog updates.
cmlenz
parents: 829
diff changeset
18 `_ast` module instead of the deprecated `compiler` package, including an
881
fc1e28cb0bee AST transformer now also clones excepthandler nodes (see #379).
cmlenz
parents: 877
diff changeset
19 adapter layer for Python 2.4. This, too, is the result of integrating work
fc1e28cb0bee AST transformer now also clones excepthandler nodes (see #379).
cmlenz
parents: 877
diff changeset
20 done by Marcin Kurczych during GSoC 2008.
897
85e4678337cf Update changelog and copyright years.
cmlenz
parents: 881
diff changeset
21 * Added caching in the serialization stage for improved performance in some
85e4678337cf Update changelog and copyright years.
cmlenz
parents: 881
diff changeset
22 cases.
840
878306a5b465 Ported some of the HTML sanitization improvements from Trac (see [T7658]).
cmlenz
parents: 838
diff changeset
23 * Various improvements to the HTML sanitization filter.
785
64bf70856f02 Fix for #250: ignore expressions in attribute values when inside `i18n:msg` elements.
cmlenz
parents: 778
diff changeset
24 * Fix problem with I18n filter that would get confused by expressions in
64bf70856f02 Fix for #250: ignore expressions in attribute values when inside `i18n:msg` elements.
cmlenz
parents: 778
diff changeset
25 attribute values when inside an `i18n:msg` block (ticket #250).
800
1d7b582b09a4 Fix for filter transformation, closing #290. Thanks to Stephen Compall for reporting the problem and providing a patch.
cmlenz
parents: 785
diff changeset
26 * Fix problem with the transformation filter dropping events after the
1d7b582b09a4 Fix for filter transformation, closing #290. Thanks to Stephen Compall for reporting the problem and providing a patch.
cmlenz
parents: 785
diff changeset
27 selection (ticket #290).
803
92b9b647e1fe `for` loops in template code blocks should not establish their own locals block. Closes #259.
cmlenz
parents: 800
diff changeset
28 * `for` loops in template code blocks no longer establish their own locals
92b9b647e1fe `for` loops in template code blocks should not establish their own locals block. Closes #259.
cmlenz
parents: 800
diff changeset
29 scope, meaning you can now access variables assigned in the loop outside
92b9b647e1fe `for` loops in template code blocks should not establish their own locals block. Closes #259.
cmlenz
parents: 800
diff changeset
30 of the loop, just as you can in regular Python code (ticket #259).
806
9871e6ca89b0 Fix for import statements in function defs in template code blocks (#276).
cmlenz
parents: 803
diff changeset
31 * Import statements inside function definitions in template code blocks no
9871e6ca89b0 Fix for import statements in function defs in template code blocks (#276).
cmlenz
parents: 803
diff changeset
32 longer result in an UndefinedError when the imported name is accessed
9871e6ca89b0 Fix for import statements in function defs in template code blocks (#276).
cmlenz
parents: 803
diff changeset
33 (ticket #276).
838
80bce2f6f9fe Move ChangeLog entry for [1046] to 0.5.2 release section.
cmlenz
parents: 837
diff changeset
34 * Fixed handling of relative URLs with fragment identifiers containing colons
80bce2f6f9fe Move ChangeLog entry for [1046] to 0.5.2 release section.
cmlenz
parents: 837
diff changeset
35 in the `HTMLSanitizer` (ticket #274).
841
67ec9a402bdc Added an option to the `HTMLFiller` to also populate password fields.
cmlenz
parents: 840
diff changeset
36 * Added an option to the `HTMLFiller` to also populate password fields.
870
1ea88e82713d Apply patch Felix Schwarz that finally fixes the duplicated output in match template processing. Thanks so much!
cmlenz
parents: 841
diff changeset
37 * Match template processing no longer produces unwanted duplicate output in
1ea88e82713d Apply patch Felix Schwarz that finally fixes the duplicated output in match template processing. Thanks so much!
cmlenz
parents: 841
diff changeset
38 some cases (ticket #254).
877
8747234921b6 ChangeLog entry for [1099].
cmlenz
parents: 870
diff changeset
39 * Templates instantiated without a loader now get an implicit loader based on
8747234921b6 ChangeLog entry for [1099].
cmlenz
parents: 870
diff changeset
40 their file path, or the current directory as a fallback (ticket #320).
897
85e4678337cf Update changelog and copyright years.
cmlenz
parents: 881
diff changeset
41 * Added documentation for the `TemplateLoader`.
85e4678337cf Update changelog and copyright years.
cmlenz
parents: 881
diff changeset
42 * Enhanced documentation for internationalization.
785
64bf70856f02 Fix for #250: ignore expressions in attribute values when inside `i18n:msg` elements.
cmlenz
parents: 778
diff changeset
43
64bf70856f02 Fix for #250: ignore expressions in attribute values when inside `i18n:msg` elements.
cmlenz
parents: 778
diff changeset
44
758
0ea32786b624 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
45 Version 0.5.1
0ea32786b624 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
46 http://svn.edgewall.org/repos/genshi/tags/0.5.1/
778
3b56a328c11f Prepare for [milestone:0.5.1] release.
cmlenz
parents: 771
diff changeset
47 (Jul 9 2008, from branches/stable/0.5.x)
758
0ea32786b624 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
48
0ea32786b624 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
49 * Fix problem with nested match templates not being applied when buffering
0ea32786b624 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
50 on the outer `py:match` is disabled. Thanks to Erik Bray for reporting the
0ea32786b624 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
51 problem and providing a test case!
762
2018fa1285f7 Fix for I18n filter problem with lazy translation functions. Closes #145.
cmlenz
parents: 758
diff changeset
52 * Fix problem in `Translator` filter that would cause the translation of
2018fa1285f7 Fix for I18n filter problem with lazy translation functions. Closes #145.
cmlenz
parents: 758
diff changeset
53 text nodes to fail if the translation function returned an object that was
2018fa1285f7 Fix for I18n filter problem with lazy translation functions. Closes #145.
cmlenz
parents: 758
diff changeset
54 not directly a string, but rather something like an instance of the
2018fa1285f7 Fix for I18n filter problem with lazy translation functions. Closes #145.
cmlenz
parents: 758
diff changeset
55 `LazyProxy` class in Babel (ticket #145).
766
584aa6bfbe54 Fix bug where in some cases match templates would incorrectly applied multiple times.
cmlenz
parents: 762
diff changeset
56 * Fix problem with match templates incorrectly being applied multiple times.
769
834e8fd2d822 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
57 * Includes from templates loaded via an absolute path now include the correct
834e8fd2d822 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
58 file in nested directories as long if no search path has been configured
834e8fd2d822 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
59 (ticket #240).
771
b4c973fbe6f5 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
60 * Unbuffered match templates could result in parts of the matched content
b4c973fbe6f5 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
61 being included in the output if the match template didn't actually consume
b4c973fbe6f5 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
62 it via one or more calls to the `select()` function (ticket #243).
758
0ea32786b624 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
63
0ea32786b624 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
64
475
bb939ed3058c Added include directive for text templates (#115). Thanks to Alastair for the original patch.
cmlenz
parents: 473
diff changeset
65 Version 0.5
bb939ed3058c Added include directive for text templates (#115). Thanks to Alastair for the original patch.
cmlenz
parents: 473
diff changeset
66 http://svn.edgewall.org/repos/genshi/tags/0.5.0/
745
f9544a7cc57a Preparing for [milestone:0.5] release.
cmlenz
parents: 739
diff changeset
67 (Jun 9 2008, from branches/stable/0.5.x)
475
bb939ed3058c Added include directive for text templates (#115). Thanks to Alastair for the original patch.
cmlenz
parents: 473
diff changeset
68
bb939ed3058c Added include directive for text templates (#115). Thanks to Alastair for the original patch.
cmlenz
parents: 473
diff changeset
69 * Added #include directive for text templates (ticket #115).
501
3073ac688651 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
70 * Added new markup transformation filter contributed by Alec Thomas. This
3073ac688651 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
71 provides gorgeous jQuery-inspired stream transformation capabilities based
3073ac688651 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
72 on XPath expressions.
524
49848aaa7839 Add special handling for `xml:lang` to HTML/XHTML serialization.
cmlenz
parents: 522
diff changeset
73 * When using HTML or XHTML serialization, the `xml:lang` attribute is
49848aaa7839 Add special handling for `xml:lang` to HTML/XHTML serialization.
cmlenz
parents: 522
diff changeset
74 automatically translated to the `lang` attribute which HTML user agents
49848aaa7839 Add special handling for `xml:lang` to HTML/XHTML serialization.
cmlenz
parents: 522
diff changeset
75 understand.
537
d0619ab2bcec Add ChangeLog entry for [642].
cmlenz
parents: 535
diff changeset
76 * Added support for the XPath 2 `matches()` function in XPath expressions,
d0619ab2bcec Add ChangeLog entry for [642].
cmlenz
parents: 535
diff changeset
77 which allow matching against regular expressions.
545
6e21c89d9255 Support for Python code blocks in templates can now be disabled. Closes #123.
cmlenz
parents: 538
diff changeset
78 * Support for Python code blocks in templates can now be disabled
6e21c89d9255 Support for Python code blocks in templates can now be disabled. Closes #123.
cmlenz
parents: 538
diff changeset
79 (ticket #123).
548
c2e039c7e439 Implement static includes, which improves performance a bit when auto reloading is disabled.
cmlenz
parents: 545
diff changeset
80 * Includes are now processed when the template is parsed if possible, but
c2e039c7e439 Implement static includes, which improves performance a bit when auto reloading is disabled.
cmlenz
parents: 545
diff changeset
81 only if the template loader is not set to do automatic reloading. Included
c2e039c7e439 Implement static includes, which improves performance a bit when auto reloading is disabled.
cmlenz
parents: 545
diff changeset
82 templates are basically inlined into the including template, which can
c2e039c7e439 Implement static includes, which improves performance a bit when auto reloading is disabled.
cmlenz
parents: 545
diff changeset
83 speed up rendering of that template a bit.
592
7145e4eba2ec 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
84 * Added new syntax for text templates, which is more powerful and flexible
609
237050080827 Add support for Python code blocks in text templates using the new syntax.
cmlenz
parents: 605
diff changeset
85 with respect to white-space and line breaks. It also supports Python code
237050080827 Add support for Python code blocks in text templates using the new syntax.
cmlenz
parents: 605
diff changeset
86 blocks. The old syntax is still available and the default for now, but in a
237050080827 Add support for Python code blocks in text templates using the new syntax.
cmlenz
parents: 605
diff changeset
87 future release the new syntax will become the default, and some time after
237050080827 Add support for Python code blocks in text templates using the new syntax.
cmlenz
parents: 605
diff changeset
88 that the old syntax will be removed.
603
ab167005a363 Added information about [718] to the ChangeLog.
cmlenz
parents: 596
diff changeset
89 * Added support for passing optimization hints to `<py:match>` directives,
ab167005a363 Added information about [718] to the ChangeLog.
cmlenz
parents: 596
diff changeset
90 which can speed up match templates in many cases, for example when a match
ab167005a363 Added information about [718] to the ChangeLog.
cmlenz
parents: 596
diff changeset
91 template should only be applied once to a stream, or when it should not be
ab167005a363 Added information about [718] to the ChangeLog.
cmlenz
parents: 596
diff changeset
92 applied recursively.
605
bc5faca93699 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
93 * Text templates now default to rendering as plain text; it is no longer
bc5faca93699 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
94 necessary to explicitly specify the "text" method to the `render()` or
bc5faca93699 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
95 `serialize()` method of the generated markup stream.
658
a445c9e5ee96 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
96 * XInclude elements in markup templates now support the `parse` attribute;
a445c9e5ee96 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
97 when set to "xml" (the default), the include is processed as before, but
a445c9e5ee96 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
98 when set to "text", the included template is parsed as a text template using
a445c9e5ee96 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
99 the new syntax (ticket #101).
650
0413c8817a3c Code blocks in match templates are now executed. Closes #155. Many thanks to Andrew Sutherland for the patch!
cmlenz
parents: 629
diff changeset
100 * Python code blocks inside match templates are now executed (ticket #155).
651
168dcc0b4782 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
101 * The template engine plugin no longer adds the `default_doctype` when the
168dcc0b4782 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
102 `fragment` parameter is `True`.
655
b090bf737111 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
103 * The `striptags` function now also removes HTML/XML-style comments (ticket
b090bf737111 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
104 #150).
657
69b3b6ca968b Allow use of py:replace as element. Closes #144.
cmlenz
parents: 655
diff changeset
105 * The `py:replace` directive can now also be used as an element, with an
69b3b6ca968b Allow use of py:replace as element. Closes #144.
cmlenz
parents: 655
diff changeset
106 attribute named `value` (ticket #144).
658
a445c9e5ee96 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
107 * The `TextSerializer` class no longer strips all markup in text by default,
a445c9e5ee96 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
108 so that it is still possible to use the Genshi `escape` function even with
a445c9e5ee96 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
109 text templates. The old behavior is available via the `strip_markup` option
a445c9e5ee96 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
110 of the serializer (ticket #146).
682
75795aadf920 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
111 * Assigning to a variable named `data` in a Python code block no longer
75795aadf920 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
112 breaks context lookup.
688
88814cc26d2b 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
113 * The `Stream.render` now accepts an optional `out` parameter that can be
88814cc26d2b 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
114 used to pass in a writable file-like object to use for assembling the
88814cc26d2b 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
115 output, instead of building a big string and returning it.
689
46a21414151b The XHTML serializer now strips `xml:space` attributes as they are only allowed on very few tags.
cmlenz
parents: 688
diff changeset
116 * The XHTML serializer now strips `xml:space` attributes as they are only
46a21414151b The XHTML serializer now strips `xml:space` attributes as they are only allowed on very few tags.
cmlenz
parents: 688
diff changeset
117 allowed on very few tags.
694
812671b40022 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
118 * Match templates are now applied in a more controlled fashion: in the order
812671b40022 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
119 they are declared in the template source, all match templates up to (and
812671b40022 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
120 including) the matching template itself are applied to the matched content,
812671b40022 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
121 whereas the match templates declared after the matching template are only
812671b40022 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
122 applied to the generated content (ticket #186).
714
7e6496bde18a 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
123 * The `TemplateLoader` class now provides an `_instantiate()` method that can
695
3d11d6b1d3d4 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
124 be overridden by subclasses to implement advanced template instantiation
3d11d6b1d3d4 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
125 logic (ticket #204).
696
87b8e23610d4 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
126 * The search path of the `TemplateLoader` class can now contain ''load
87b8e23610d4 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
127 functions'' in addition to path strings. A load function is passed the
87b8e23610d4 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
128 name of the requested template file, and should return a file-like object
87b8e23610d4 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
129 and some metadata. New load functions are supplied for loading from egg
87b8e23610d4 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
130 package data, and loading from different loaders depending on the path
87b8e23610d4 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
131 prefix of the requested filename (ticket #182).
700
8d079cee6822 Add option for unbuffered match template processing, which could cause excessive memory usage. Closes #190.
cmlenz
parents: 696
diff changeset
132 * Match templates can now be processed without keeping the complete matched
8d079cee6822 Add option for unbuffered match template processing, which could cause excessive memory usage. Closes #190.
cmlenz
parents: 696
diff changeset
133 content in memory, which could cause excessive memory use on long pages.
8d079cee6822 Add option for unbuffered match template processing, which could cause excessive memory usage. Closes #190.
cmlenz
parents: 696
diff changeset
134 The buffering can be disabled using the new `buffer` optimization hint on
8d079cee6822 Add option for unbuffered match template processing, which could cause excessive memory usage. Closes #190.
cmlenz
parents: 696
diff changeset
135 the `<py:match>` directive.
702
ebae1774d188 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
136 * Improve error reporting when accessing an attribute in a Python expression
ebae1774d188 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
137 raises an `AttributeError` (ticket #191).
713
a58a50e89d04 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
138 * The `Markup` class now supports mappings for right hand of the `%` (modulo)
a58a50e89d04 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
139 operator in the same way the Python string classes do, except that the
a58a50e89d04 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
140 substituted values are escape. Also, the special constructor which took
a58a50e89d04 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
141 positional arguments that would be substituted was removed. Thus the
a58a50e89d04 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
142 `Markup` class now supports the same arguments as that of its `unicode`
a58a50e89d04 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
143 base class (ticket #211).
714
7e6496bde18a 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
144 * The `Template` class and its subclasses, as well as the interpolation API,
7e6496bde18a 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
145 now take an `filepath` parameter instead of `basedir` (ticket #207).
729
1447d40df660 * Add XHTML 1.1 doctype (closes #228).
cmlenz
parents: 714
diff changeset
146 * The `XHTMLSerializer` now has a `drop_xml_decl` option that defaults to
1447d40df660 * Add XHTML 1.1 doctype (closes #228).
cmlenz
parents: 714
diff changeset
147 `True`. Setting it to `False` will cause any XML decl in the serialized
1447d40df660 * Add XHTML 1.1 doctype (closes #228).
cmlenz
parents: 714
diff changeset
148 stream to be included in the output as it would for XML serialization.
739
b40efce75bcd Another Python 2.3 fix in the wake of #221.
cmlenz
parents: 729
diff changeset
149 * Add support for a protocol that would allow interoperability of different
b40efce75bcd Another Python 2.3 fix in the wake of #221.
cmlenz
parents: 729
diff changeset
150 Python packages that generate and/or consume markup, based on the special
b40efce75bcd Another Python 2.3 fix in the wake of #221.
cmlenz
parents: 729
diff changeset
151 `__html__()` method (ticket #202).
475
bb939ed3058c Added include directive for text templates (#115). Thanks to Alastair for the original patch.
cmlenz
parents: 473
diff changeset
152
bb939ed3058c Added include directive for text templates (#115). Thanks to Alastair for the original patch.
cmlenz
parents: 473
diff changeset
153
579
71e3205925e6 Fix for augmented assignments to local variables. Thanks to Erik Bray for reporting the problem.
cmlenz
parents: 574
diff changeset
154 Version 0.4.4
71e3205925e6 Fix for augmented assignments to local variables. Thanks to Erik Bray for reporting the problem.
cmlenz
parents: 574
diff changeset
155 http://svn.edgewall.org/repos/genshi/tags/0.4.4/
596
f436c7db99f5 Follow-up to [708]. The added `extract_text` option wasn't actually being handled by the Babel extraction plugin.
cmlenz
parents: 594
diff changeset
156 (Aug 14, 2007, from branches/stable/0.4.x)
579
71e3205925e6 Fix for augmented assignments to local variables. Thanks to Erik Bray for reporting the problem.
cmlenz
parents: 574
diff changeset
157
71e3205925e6 Fix for augmented assignments to local variables. Thanks to Erik Bray for reporting the problem.
cmlenz
parents: 574
diff changeset
158 * Fixed augmented assignment to local variables in Python code blocks.
588
c079c5c4f6f4 Updated ChangeLog for [700].
cmlenz
parents: 579
diff changeset
159 * Fixed handling of nested function and class definitions in Python code
c079c5c4f6f4 Updated ChangeLog for [700].
cmlenz
parents: 579
diff changeset
160 blocks.
590
880b1a75d046 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
161 * Includes were not raising `TemplateNotFound` exceptions even when no
880b1a75d046 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
162 fallback has been specified. That has been corrected.
880b1a75d046 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
163 * The template loader now raises a `TemplateNotFound` error when a previously
880b1a75d046 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
164 cached template is removed or renamed, where it previously was passing up
880b1a75d046 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
165 an `OSError`.
594
0fb43dc2e165 Add option to I18n filter to only extract strings in gettext function calls.
cmlenz
parents: 592
diff changeset
166 * The Genshi I18n filter can be configured to only extract messages found in
596
f436c7db99f5 Follow-up to [708]. The added `extract_text` option wasn't actually being handled by the Babel extraction plugin.
cmlenz
parents: 594
diff changeset
167 `gettext` function calls, ignoring any text nodes and attribute values
f436c7db99f5 Follow-up to [708]. The added `extract_text` option wasn't actually being handled by the Babel extraction plugin.
cmlenz
parents: 594
diff changeset
168 (ticket #138).
579
71e3205925e6 Fix for augmented assignments to local variables. Thanks to Erik Bray for reporting the problem.
cmlenz
parents: 574
diff changeset
169
71e3205925e6 Fix for augmented assignments to local variables. Thanks to Erik Bray for reporting the problem.
cmlenz
parents: 574
diff changeset
170
535
c8806216aec4 The I18n filter no longer extracts or translates literal strings in attribute values that also contain expressions.
cmlenz
parents: 528
diff changeset
171 Version 0.4.3
c8806216aec4 The I18n filter no longer extracts or translates literal strings in attribute values that also contain expressions.
cmlenz
parents: 528
diff changeset
172 http://svn.edgewall.org/repos/genshi/tags/0.4.3/
574
15a1137ecfd7 Oops, fix dates in ChangeLog.
cmlenz
parents: 571
diff changeset
173 (Jul 17 2007, from branches/stable/0.4.x)
535
c8806216aec4 The I18n filter no longer extracts or translates literal strings in attribute values that also contain expressions.
cmlenz
parents: 528
diff changeset
174
c8806216aec4 The I18n filter no longer extracts or translates literal strings in attribute values that also contain expressions.
cmlenz
parents: 528
diff changeset
175 * The I18n filter no longer extracts or translates literal strings in
c8806216aec4 The I18n filter no longer extracts or translates literal strings in attribute values that also contain expressions.
cmlenz
parents: 528
diff changeset
176 attribute values that also contain expressions.
538
19c7dc1e4dd5 Add `loader_callback` option to plugin interface as requested in #130.
cmlenz
parents: 537
diff changeset
177 * Added `loader_callback` option to plugin interface, which allows specifying
19c7dc1e4dd5 Add `loader_callback` option to plugin interface as requested in #130.
cmlenz
parents: 537
diff changeset
178 a callback function that the template loader should invoke whenever a new
19c7dc1e4dd5 Add `loader_callback` option to plugin interface as requested in #130.
cmlenz
parents: 537
diff changeset
179 template is loaded (ticket #130). Note that the value for this option can
19c7dc1e4dd5 Add `loader_callback` option to plugin interface as requested in #130.
cmlenz
parents: 537
diff changeset
180 not be specified as a string, only as an actual function object, which means
19c7dc1e4dd5 Add `loader_callback` option to plugin interface as requested in #130.
cmlenz
parents: 537
diff changeset
181 it is not available for use through configuration files.
550
ed5a6d9e2767 ChangeLog entry for [658].
cmlenz
parents: 548
diff changeset
182 * The I18n filter now extracts messages from gettext functions even inside
ed5a6d9e2767 ChangeLog entry for [658].
cmlenz
parents: 548
diff changeset
183 ignored tags (ticket #132).
556
d5cb5c200045 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
184 * The HTML sanitizer now strips any CSS comments in style attributes, which
d5cb5c200045 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
185 could previously be used to hide malicious property values.
571
5815ad5f75a4 * Cleaned up the implementation of the `HTMLSanitizer`.
cmlenz
parents: 569
diff changeset
186 * The HTML sanitizer now also removes any HTML comments encountered, as those
5815ad5f75a4 * Cleaned up the implementation of the `HTMLSanitizer`.
cmlenz
parents: 569
diff changeset
187 may be used to hide malicious payloads targetting a certain "innovative"
5815ad5f75a4 * Cleaned up the implementation of the `HTMLSanitizer`.
cmlenz
parents: 569
diff changeset
188 browser that goes and interprets the content of specially prepared comments.
569
4cbd8031ed76 Attribute access in template expressions no longer silently ignores exceptions other than `AttributeError` raised in the attribute accessor.
cmlenz
parents: 556
diff changeset
189 * Attribute access in template expressions no longer silently ignores
4cbd8031ed76 Attribute access in template expressions no longer silently ignores exceptions other than `AttributeError` raised in the attribute accessor.
cmlenz
parents: 556
diff changeset
190 exceptions other than `AttributeError` raised in the attribute accessor.
535
c8806216aec4 The I18n filter no longer extracts or translates literal strings in attribute values that also contain expressions.
cmlenz
parents: 528
diff changeset
191
c8806216aec4 The I18n filter no longer extracts or translates literal strings in attribute values that also contain expressions.
cmlenz
parents: 528
diff changeset
192
494
8a90e761d5ff The `doctype` parameter for serializers can now be a string.
cmlenz
parents: 489
diff changeset
193 Version 0.4.2
8a90e761d5ff The `doctype` parameter for serializers can now be a string.
cmlenz
parents: 489
diff changeset
194 http://svn.edgewall.org/repos/genshi/tags/0.4.2/
574
15a1137ecfd7 Oops, fix dates in ChangeLog.
cmlenz
parents: 571
diff changeset
195 (Jun 20 2007, from branches/stable/0.4.x)
494
8a90e761d5ff The `doctype` parameter for serializers can now be a string.
cmlenz
parents: 489
diff changeset
196
8a90e761d5ff The `doctype` parameter for serializers can now be a string.
cmlenz
parents: 489
diff changeset
197 * The `doctype` parameter of the markup serializers now also accepts the "name"
8a90e761d5ff The `doctype` parameter for serializers can now be a string.
cmlenz
parents: 489
diff changeset
198 of the doctype as string, in addition to the `(name, pubid, sysid)` tuple.
8a90e761d5ff The `doctype` parameter for serializers can now be a string.
cmlenz
parents: 489
diff changeset
199 * The I18n filter was not replacing the original attributes with the
8a90e761d5ff The `doctype` parameter for serializers can now be a string.
cmlenz
parents: 489
diff changeset
200 translation, but instead adding a second attribute with the same name.
512
bdaf75981ec7 Fix for #125 (text template handling unicode source). Thanks to Christian Boos for the patch.
cmlenz
parents: 501
diff changeset
201 * `TextTemplate` can now handle unicode source (ticket #125).
520
ced12be33858 Applied patch by Dale Sedivec to fix #127. Many thanks!
cmlenz
parents: 512
diff changeset
202 * A `<?python ?>` processing instruction containing trailing whitespace no
ced12be33858 Applied patch by Dale Sedivec to fix #127. Many thanks!
cmlenz
parents: 512
diff changeset
203 longer causes a syntax error (ticket #127).
522
c1738dec04d9 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
204 * The I18n filter now skips the content of elements that have an `xml:lang`
c1738dec04d9 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
205 attribute with a fixed string value. Basically, `xml:lang` can now be used
c1738dec04d9 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
206 as a flag to mark specific sections as not needing localization.
528
f38ce008ab0a Integrated [http://babel.edgewall.org/ Babel] message extraction plugin, and added I18n doc page.
cmlenz
parents: 524
diff changeset
207 * Added plugin for message extraction via Babel (http://babel.edgewall.org/).
494
8a90e761d5ff The `doctype` parameter for serializers can now be a string.
cmlenz
parents: 489
diff changeset
208
8a90e761d5ff The `doctype` parameter for serializers can now be a string.
cmlenz
parents: 489
diff changeset
209
456
fe1c1b0391a9 Fix incorrect reference to translation function in the I18N filter.
cmlenz
parents: 452
diff changeset
210 Version 0.4.1
fe1c1b0391a9 Fix incorrect reference to translation function in the I18N filter.
cmlenz
parents: 452
diff changeset
211 http://svn.edgewall.org/repos/genshi/tags/0.4.1/
489
ebe8480c95e3 Set date for [milestone:0.4.1] release in ChangeLog.
cmlenz
parents: 479
diff changeset
212 (May 21 2007, from branches/stable/0.4.x)
456
fe1c1b0391a9 Fix incorrect reference to translation function in the I18N filter.
cmlenz
parents: 452
diff changeset
213
fe1c1b0391a9 Fix incorrect reference to translation function in the I18N filter.
cmlenz
parents: 452
diff changeset
214 * Fix incorrect reference to translation function in the I18N filter.
458
160f787cc818 The `ET()` function now correctly handles attributes with a namespace.
cmlenz
parents: 456
diff changeset
215 * The `ET()` function now correctly handles attributes with a namespace.
460
6b5544bb5a99 Apply patch by Alec Thomas for processing XML declarations (#111). Thanks!
cmlenz
parents: 458
diff changeset
216 * XML declarations are now processed internally, as well as written to the
6b5544bb5a99 Apply patch by Alec Thomas for processing XML declarations (#111). Thanks!
cmlenz
parents: 458
diff changeset
217 output when XML serialization is used (ticket #111).
462
c107f6f4c558 Add lower-level serialization functions.
cmlenz
parents: 460
diff changeset
218 * Added the functions `encode()` and `get_serializer()` to the `genshi.output`
c107f6f4c558 Add lower-level serialization functions.
cmlenz
parents: 460
diff changeset
219 module, which provide a lower-level API to the functionality previously only
c107f6f4c558 Add lower-level serialization functions.
cmlenz
parents: 460
diff changeset
220 available through `Stream.render()` and `Stream.serialize()`.
464
dafc6f4c20fb Move the mapping of doctype names to tuples out of the plugin into the `DocType` class.
cmlenz
parents: 462
diff changeset
221 * The `DocType` class now has a `get(name)` function that returns a `DOCTYPE`
dafc6f4c20fb Move the mapping of doctype names to tuples out of the plugin into the `DocType` class.
cmlenz
parents: 462
diff changeset
222 tuple for a given string.
dafc6f4c20fb Move the mapping of doctype names to tuples out of the plugin into the `DocType` class.
cmlenz
parents: 462
diff changeset
223 * Added frameset variants to the `DocType` constants for HTML 4.01 and XHTML
dafc6f4c20fb Move the mapping of doctype names to tuples out of the plugin into the `DocType` class.
cmlenz
parents: 462
diff changeset
224 1.0.
469
5eae4a5c42ac The I18n extraction now returns a tuple of strings for `ngettext` and similar functions.
cmlenz
parents: 464
diff changeset
225 * Improved I18n extraction for pluralizable messages: for any translation
5eae4a5c42ac The I18n extraction now returns a tuple of strings for `ngettext` and similar functions.
cmlenz
parents: 464
diff changeset
226 function with multiple string arguments (such as ``ngettext``), a single
5eae4a5c42ac The I18n extraction now returns a tuple of strings for `ngettext` and similar functions.
cmlenz
parents: 464
diff changeset
227 item with a tuple of strings is yielded, instead an item for each string
5eae4a5c42ac The I18n extraction now returns a tuple of strings for `ngettext` and similar functions.
cmlenz
parents: 464
diff changeset
228 argument.
471
17ce8bf006d7 The `HTMLFormFiller` stream filter no longer alters form elements for which the data element contains no corresponding item.
cmlenz
parents: 469
diff changeset
229 * The `HTMLFormFiller` stream filter no longer alters form elements for which
17ce8bf006d7 The `HTMLFormFiller` stream filter no longer alters form elements for which the data element contains no corresponding item.
cmlenz
parents: 469
diff changeset
230 the data element contains no corresponding item.
473
5870bdf03fca Apply patch from #113, also closing #114.
cmlenz
parents: 471
diff changeset
231 * Code in `<?python ?>` processing instructions no longer gets the special
5870bdf03fca Apply patch from #113, also closing #114.
cmlenz
parents: 471
diff changeset
232 treatment as Python code in template expressions, i.e. item and attribute
5870bdf03fca Apply patch from #113, also closing #114.
cmlenz
parents: 471
diff changeset
233 access are no longer interchangeable (which was broken in a number of ways
5870bdf03fca Apply patch from #113, also closing #114.
cmlenz
parents: 471
diff changeset
234 anyway, see ticket #113). This change does not affect expressions.
5870bdf03fca Apply patch from #113, also closing #114.
cmlenz
parents: 471
diff changeset
235 * Numerous fixes for the execution of Python code in `<?python ?>` processing
5870bdf03fca Apply patch from #113, also closing #114.
cmlenz
parents: 471
diff changeset
236 instructions (tickets #113 and #114).
479
9c83be4a0e4a Apply patch for #116.
cmlenz
parents: 475
diff changeset
237 * The `py:def` (and `#def`) directive now supports "star args" (i.e. `*args`
9c83be4a0e4a Apply patch for #116.
cmlenz
parents: 475
diff changeset
238 and `**kwargs`) in the function declaration (ticket #116).
456
fe1c1b0391a9 Fix incorrect reference to translation function in the I18N filter.
cmlenz
parents: 452
diff changeset
239
fe1c1b0391a9 Fix incorrect reference to translation function in the I18N filter.
cmlenz
parents: 452
diff changeset
240
276
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
241 Version 0.4
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
242 http://svn.edgewall.org/repos/genshi/tags/0.4.0/
452
0ed55216e8f2 Add `filters` package in `setup.py`.
cmlenz
parents: 446
diff changeset
243 (Apr 16 2007, from branches/stable/0.4.x)
276
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
244
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
245 * New example applications for CherryPy and web.py.
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
246 * The template loader now uses a LRU cache to limit the number of cached
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
247 templates to a configurable maximum. Also, a race condition in the template
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
248 loader was fixed by adding locking.
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
249 * A new filter (genshi.filters.HTMLFormFiller) was added, which can populate
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
250 HTML forms based on a dictionary of values.
277
c9fd81953169 The `HTMLSanitizer` now lets you override the default set of tag and attribute names that are considered safe.
cmlenz
parents: 276
diff changeset
251 * The set of permitted tag and attribute names for the HTMLSanitizer can now
c9fd81953169 The `HTMLSanitizer` now lets you override the default set of tag and attribute names that are considered safe.
cmlenz
parents: 276
diff changeset
252 be configured per instance.
294
2281dc992155 Updated change log.
cmlenz
parents: 288
diff changeset
253 * The template engine plugin now supports a range of options for
2281dc992155 Updated change log.
cmlenz
parents: 288
diff changeset
254 configuration, for example to set the default serialization method, the
2281dc992155 Updated change log.
cmlenz
parents: 288
diff changeset
255 default output encoding, or the default DOCTYPE.
302
dd6a18206119 Updated change log.
cmlenz
parents: 294
diff changeset
256 * The ElementTree adaptation function `ET()` has moved into the `genshi.input`
dd6a18206119 Updated change log.
cmlenz
parents: 294
diff changeset
257 module.
dd6a18206119 Updated change log.
cmlenz
parents: 294
diff changeset
258 * Allow `when` directives to omit the test expression as long as the
dd6a18206119 Updated change log.
cmlenz
parents: 294
diff changeset
259 associated choose directive does have one. In that case, the when branch is
dd6a18206119 Updated change log.
cmlenz
parents: 294
diff changeset
260 followed if the expression of the choose directive evaluates to a truth
dd6a18206119 Updated change log.
cmlenz
parents: 294
diff changeset
261 value.
317
8ba12f886c8a Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
262 * Unsuccessful attribute or item lookups now return `Undefined` objects for
8ba12f886c8a Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
263 nicer error messages.
336
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents: 333
diff changeset
264 * Split up the `genshi.template` module into multiple modules inside the new
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents: 333
diff changeset
265 `genshi.template` package.
343
4ff2338e89cd 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
266 * Results of expression evaluation are no longer implicitly called if they
4ff2338e89cd 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
267 are callable.
345
8e75b83d3e71 Make `Attrs` instances immutable.
cmlenz
parents: 343
diff changeset
268 * Instances of the `genshi.core.Attrs` class are now immutable (they are
8e75b83d3e71 Make `Attrs` instances immutable.
cmlenz
parents: 343
diff changeset
269 subclasses of `tuple` instead of `list`).
374
ca46dc9c7761 `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
270 * `MarkupTemplate`s can now be instantiated from markup streams, in addition
ca46dc9c7761 `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
271 to strings and file-like objects (ticket #69).
378
fff4a81ffc56 Improve handling of incorrectly nested tags in the HTML parser.
cmlenz
parents: 374
diff changeset
272 * Improve handling of incorrectly nested tags in the HTML parser.
399
4a7358313ee8 Rework parsing of expressions in template text, to be able to:
cmlenz
parents: 387
diff changeset
273 * Template includes can now be nested inside fallback content.
4a7358313ee8 Rework parsing of expressions in template text, to be able to:
cmlenz
parents: 387
diff changeset
274 * Expressions can now contain dict literals (ticket #37).
4a7358313ee8 Rework parsing of expressions in template text, to be able to:
cmlenz
parents: 387
diff changeset
275 * It is now possible to have one or more escaped dollar signs in front of a
4a7358313ee8 Rework parsing of expressions in template text, to be able to:
cmlenz
parents: 387
diff changeset
276 full expression (ticket #92).
401
9582328f82e5 Make the `Markup` class available by default in template expressions. Closes #67.
cmlenz
parents: 399
diff changeset
277 * The `Markup` class is now available by default in template expressions
9582328f82e5 Make the `Markup` class available by default in template expressions. Closes #67.
cmlenz
parents: 399
diff changeset
278 (ticket #67).
411
2f4a525c32d5 Updated change log.
cmlenz
parents: 401
diff changeset
279 * The handling of namespace declarations in XML/XHTML output has been improved.
2f4a525c32d5 Updated change log.
cmlenz
parents: 401
diff changeset
280 * The `Attrs` class no longer automatically wraps all attribute names in
2f4a525c32d5 Updated change log.
cmlenz
parents: 401
diff changeset
281 `QName` objects. This is now the responsibility of whoever is instantiating
2f4a525c32d5 Updated change log.
cmlenz
parents: 401
diff changeset
282 `Attrs` objects (for example, stream filters and generators).
2f4a525c32d5 Updated change log.
cmlenz
parents: 401
diff changeset
283 * Python code blocks are now supported using the `<?python ?>` processing
2f4a525c32d5 Updated change log.
cmlenz
parents: 401
diff changeset
284 instruction (ticket #84).
442
ff7c72b52fb2 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
285 * The way errors in template expressions are handled can now be configured. The
ff7c72b52fb2 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
286 option `LenientLookup` provides the same forgiving mode used in previous
ff7c72b52fb2 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
287 Genshi versions, while `StrictLookup` raises exceptions when undefined
ff7c72b52fb2 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
288 variables or members are accessed. The lenient mode is still the default in
ff7c72b52fb2 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
289 this version, but that may change in the future. (ticket #88)
ff7c72b52fb2 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
290 * If a variable is not necessarily defined at the top level of the template
ff7c72b52fb2 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
291 data, the new built-in functions `defined(key)` and `value_of(key, default)`
ff7c72b52fb2 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
292 can be used so that the template also works in strict lookup mode. These
ff7c72b52fb2 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
293 functions were previously only available when using Genshi via the template
ff7c72b52fb2 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
294 engine plugin (for compatibility with Kid).
432
3879c9ad3472 * Updated change log
cmlenz
parents: 418
diff changeset
295 * `style` attributes are no longer allowed by the `HTMLSanitizer` by default.
446
90f5908cd10a Add basic I18n/L10n functionality, based on GenshiRecipes/Localization.
cmlenz
parents: 442
diff changeset
296 If they are explicitly added to the set of safe attributes, any unicode
90f5908cd10a Add basic I18n/L10n functionality, based on GenshiRecipes/Localization.
cmlenz
parents: 442
diff changeset
297 escapes in the attribute value are now handled properly.
437
3d82c5bdbf46 Fix for #107.
cmlenz
parents: 432
diff changeset
298 * Namespace declarations on conditional elements (for example using a `py:if`
3d82c5bdbf46 Fix for #107.
cmlenz
parents: 432
diff changeset
299 directive`) are no longer moved to the following element when the element
3d82c5bdbf46 Fix for #107.
cmlenz
parents: 432
diff changeset
300 originally carrying the declaration is removed from the stream (ticket #107).
446
90f5908cd10a Add basic I18n/L10n functionality, based on GenshiRecipes/Localization.
cmlenz
parents: 442
diff changeset
301 * Added basic built-in support for internationalizing templates by providing
90f5908cd10a Add basic I18n/L10n functionality, based on GenshiRecipes/Localization.
cmlenz
parents: 442
diff changeset
302 a new `Translator` class that can both extract localizable strings from a
90f5908cd10a Add basic I18n/L10n functionality, based on GenshiRecipes/Localization.
cmlenz
parents: 442
diff changeset
303 stream, and replace those strings with their localizations at render time.
90f5908cd10a Add basic I18n/L10n functionality, based on GenshiRecipes/Localization.
cmlenz
parents: 442
diff changeset
304 The code for this was largely taken from previous work done by Matt Good
90f5908cd10a Add basic I18n/L10n functionality, based on GenshiRecipes/Localization.
cmlenz
parents: 442
diff changeset
305 and David Fraser.
365
85d910b8f9e5 Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
306
85d910b8f9e5 Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
307
387
5c2156e0cd41 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
308 Version 0.3.6
5c2156e0cd41 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
309 http://svn.edgewall.org/repos/genshi/tags/0.3.6/
5c2156e0cd41 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
310 (Dec 11 2006, from branches/stable/0.3.x)
5c2156e0cd41 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
311
5c2156e0cd41 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
312 * The builder API now accepts streams as children of elements and fragments.
5c2156e0cd41 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
313
5c2156e0cd41 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
314
365
85d910b8f9e5 Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
315 Version 0.3.5
387
5c2156e0cd41 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
316 http://svn.edgewall.org/repos/genshi/tags/0.3.5/
365
85d910b8f9e5 Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
317 (Nov 22 2006, from branches/stable/0.3.x)
85d910b8f9e5 Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
318
371
e8218c4a4590 Update change log for [milestone:0.3.5].
cmlenz
parents: 365
diff changeset
319 * Fix XPath traversal in match templates. Previously, `div/p` would be treated
e8218c4a4590 Update change log for [milestone:0.3.5].
cmlenz
parents: 365
diff changeset
320 the same as `div//p`, i.e. it would match all descendants and not just the
e8218c4a4590 Update change log for [milestone:0.3.5].
cmlenz
parents: 365
diff changeset
321 immediate children.
365
85d910b8f9e5 Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
322 * Preserve whitespace in HTML `<pre>` elements also when they contain child
85d910b8f9e5 Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
323 elements.
85d910b8f9e5 Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
324 * Match templates no longer match their own output (ticket #77).
85d910b8f9e5 Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
325 * Blank lines before directives in text templates are now preserved as
85d910b8f9e5 Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
326 expected (ticket #62).
346
2304e080ec07 Whitespace was not getting preserved in HTML `<pre>` elements that contained other HTML elements.
cmlenz
parents: 345
diff changeset
327
317
8ba12f886c8a Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
328
8ba12f886c8a Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
329 Version 0.3.4
8ba12f886c8a Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
330 http://svn.edgewall.org/repos/genshi/tags/0.3.4/
323
192433e67756 Prepare for [milestone:0.3.4] release.
cmlenz
parents: 317
diff changeset
331 (Nov 2 2006, from branches/stable/0.3.x)
317
8ba12f886c8a Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
332
8ba12f886c8a Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
333 * The encoding of HTML and XML files, as well as markup and text templates,
8ba12f886c8a Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
334 can now be specified. Also, the encoding specified in XML declarations is
8ba12f886c8a Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
335 now respected unless an expiclit encoding is requested.
8ba12f886c8a Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
336 * Expressions used as arguments for `py:with`, `py:def`, and `py:for`
8ba12f886c8a Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
337 directives can now contain non-ASCII strings.
285
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
338
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
339
288
dcd0e8918098 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
340 Version 0.3.3
dcd0e8918098 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
341 http://svn.edgewall.org/repos/genshi/tags/0.3.3/
302
dd6a18206119 Updated change log.
cmlenz
parents: 294
diff changeset
342 (Oct 16 2006, from branches/stable/0.3.x)
288
dcd0e8918098 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
343
dcd0e8918098 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
344 * Fixed bug introduced in 0.3.2 that broke the parsing of templates which
dcd0e8918098 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
345 declare the same namespace more than once in a nested fashion.
294
2281dc992155 Updated change log.
cmlenz
parents: 288
diff changeset
346 * Fixed the parsing of HTML entity references inside attribute values, both
2281dc992155 Updated change log.
cmlenz
parents: 288
diff changeset
347 in the `XMLParser` and the `HTMLParser` classes.
302
dd6a18206119 Updated change log.
cmlenz
parents: 294
diff changeset
348 * Some changes to usage of absolute vs. relative template paths to ensure that
dd6a18206119 Updated change log.
cmlenz
parents: 294
diff changeset
349 the filenamed-keyed cache employed by the TemplateLoader doesn't mix up
dd6a18206119 Updated change log.
cmlenz
parents: 294
diff changeset
350 templates with the same name, but from different subdirectories.
288
dcd0e8918098 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
351
dcd0e8918098 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
352
285
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
353 Version 0.3.2
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
354 http://svn.edgewall.org/repos/genshi/tags/0.3.2/
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
355 (Oct 12 2006, from branches/stable/0.3.x)
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
356
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
357 * Exceptions from templates now contain the absolute path to the template file
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
358 when a search path is used. This enables tracebacks to display the line in
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
359 question.
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
360 * The template engine plugin now provides three different types: "genshi" and
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
361 "genshi-markup" map to markup templates, while "genshi-text" maps to text
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
362 templates.
278
8de2620504b9 Fix the handling of namespace context for match templates.
cmlenz
parents: 277
diff changeset
363 * Fixed the namespace context used by XPath patterns in py:match templates.
8de2620504b9 Fix the handling of namespace context for match templates.
cmlenz
parents: 277
diff changeset
364 The were erroneously using the namespace context of the elements being
8de2620504b9 Fix the handling of namespace context for match templates.
cmlenz
parents: 277
diff changeset
365 matched, where they should rather use the context in which they were
8de2620504b9 Fix the handling of namespace context for match templates.
cmlenz
parents: 277
diff changeset
366 defined.
285
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
367 * The contents of `<script>` and `<style>` elements are no longer escaped when
280
e68705cb462e 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
368 serializing to HTML but declaring the XHTML namespace in the template.
285
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
369 * Improved error message raised when using the `py:for` directive on an object
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
370 that is not iterable (ticket #60).
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
371 * Fixed the XPath function `starts-with()` which was always returning true
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
372 (ticket #61).
276
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
373
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
374
260
08d954368e14 Updated change log.
cmlenz
parents: 252
diff changeset
375 Version 0.3.1
08d954368e14 Updated change log.
cmlenz
parents: 252
diff changeset
376 http://svn.edgewall.org/repos/genshi/tags/0.3.1/
262
77d92c5c23d3 Prepare [milestone:0.3.1] release.
cmlenz
parents: 260
diff changeset
377 (Sep 22 2006, from branches/stable/0.3.x)
260
08d954368e14 Updated change log.
cmlenz
parents: 252
diff changeset
378
08d954368e14 Updated change log.
cmlenz
parents: 252
diff changeset
379 * Includes and user-defined filters were not getting the correct context data
08d954368e14 Updated change log.
cmlenz
parents: 252
diff changeset
380 when used inside a match template (ticket #56).
08d954368e14 Updated change log.
cmlenz
parents: 252
diff changeset
381 * XPath patterns using the union operator (`|`) were returning only partial
08d954368e14 Updated change log.
cmlenz
parents: 252
diff changeset
382 results in some cases.
08d954368e14 Updated change log.
cmlenz
parents: 252
diff changeset
383
08d954368e14 Updated change log.
cmlenz
parents: 252
diff changeset
384
192
cda3bdfc19ed Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
385 Version 0.3
230
24757b771651 Renamed Markup to Genshi in repository.
cmlenz
parents: 227
diff changeset
386 http://svn.edgewall.org/repos/genshi/tags/0.3.0/
252
61050b9245c8 Add release date to change log.
cmlenz
parents: 234
diff changeset
387 (Sep 17 2006, from branches/stable/0.3.x)
192
cda3bdfc19ed Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
388
234
4501f2fef82f * Minor simplification of XPath engine.
cmlenz
parents: 230
diff changeset
389 * The project name was changed from "Markup" to "Genshi". See UPGRADE.txt
4501f2fef82f * Minor simplification of XPath engine.
cmlenz
parents: 230
diff changeset
390 for upgrade instructions.
192
cda3bdfc19ed Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
391 * Expression evaluation now differentiates between undefined variables and
cda3bdfc19ed Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
392 variables that are defined but set to `None`. This also means that local
cda3bdfc19ed Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
393 variables can override built-ins even if the local variable are set to
cda3bdfc19ed Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
394 `None` (ticket #36).
199
58284b6b0009 * Removed storage of substream in `MatchDirective`, because it's already being stored in the match templates (related to #39).
cmlenz
parents: 192
diff changeset
395 * The plugin implementation now makes more functions available for use inside
58284b6b0009 * Removed storage of substream in `MatchDirective`, because it's already being stored in the match templates (related to #39).
cmlenz
parents: 192
diff changeset
396 templates: XML(), HTML(), defined(), and value-of(). These are mostly for
58284b6b0009 * Removed storage of substream in `MatchDirective`, because it's already being stored in the match templates (related to #39).
cmlenz
parents: 192
diff changeset
397 migration from Kid.
192
cda3bdfc19ed Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
398 * The parsing of `py:with` directives has been improved: you can now assign
cda3bdfc19ed Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
399 to multiple names, and semicolons inside string literals are treated as
cda3bdfc19ed Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
400 expected.
199
58284b6b0009 * Removed storage of substream in `MatchDirective`, because it's already being stored in the match templates (related to #39).
cmlenz
parents: 192
diff changeset
401 * Generator expressions can now be used in template expressions (ticket #16).
200
50eab0469148 Add serialization to plain text, based on cboos' patch. Closes #41.
cmlenz
parents: 199
diff changeset
402 * Added serialization to plain text (ticket #41).
218
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
403 * Calling functions from template expressions with *args and/or **kwargs
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
404 now works correctly (ticket #42).
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
405 * The `TemplateLoader` class and the `Template` instances that it manages are
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
406 now thread-safe, as they no longer keep any state related to the current
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
407 processing context.
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
408 * Stream filters and serializers can now be applied using the "pipe" (bitwise
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
409 or) operator "|".
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
410 * The execution of named template functions (`py:def`) no longer silently
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
411 swallows TypeError exceptions (ticket #44).
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
412 * The XML Parser now correctly handles unicode input (ticket #43).
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
413 * HTML entities can now be used in templates without having to declare an HTML
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
414 document type.
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
415 * Error reporting on undefined entities has been fixed.
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
416 * Fix traversal of substreams by XPath expressions. For example, the path
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
417 '*/*' no longer matches non-immediate child elements, and '@*' no longer
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
418 matches the attributes of descendants.
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
419 * Fixes for `py:match` which would get confused when it should be applied
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
420 to multiple elements (ticket #49).
224
e4dad1145f84 Implement support for namespace prefixes in XPath expressions.
cmlenz
parents: 218
diff changeset
421 * Using namespace prefixes in XPath expressions is now supported.
227
98b8e1a92df8 Use list comprehension instead of `map()` in the AST transformer.
cmlenz
parents: 224
diff changeset
422 * Expressions now correctly handle slices (ticket #51).
234
4501f2fef82f * Minor simplification of XPath engine.
cmlenz
parents: 230
diff changeset
423 * A simple text-based template language is now included for generating
4501f2fef82f * Minor simplification of XPath engine.
cmlenz
parents: 230
diff changeset
424 plain text output (ticket #47).
192
cda3bdfc19ed Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
425
cda3bdfc19ed Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
426
148
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
427 Version 0.2
230
24757b771651 Renamed Markup to Genshi in repository.
cmlenz
parents: 227
diff changeset
428 http://svn.edgewall.org/repos/genshi/tags/0.2.0/
184
e27a48802987 Interpolate multiline expressions in templates. Thanks to Christian Boos for reporting the problem and providing the fix.
cmlenz
parents: 181
diff changeset
429 (Aug 22 2006, from branches/stable/0.2.x)
148
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
430
153
7a4086c22a64 Fix relative includes on Windows. Closes #27.
cmlenz
parents: 148
diff changeset
431 * XPath syntax errors now contain position info (ticket #20).
148
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
432 * Errors in expression evaluation now contain the correct line number in the
153
7a4086c22a64 Fix relative includes on Windows. Closes #27.
cmlenz
parents: 148
diff changeset
433 template (ticket #22).
148
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
434 * <script> and <style> element contents are no longer escaped when using HTML
153
7a4086c22a64 Fix relative includes on Windows. Closes #27.
cmlenz
parents: 148
diff changeset
435 serialization (ticket #24).
7a4086c22a64 Fix relative includes on Windows. Closes #27.
cmlenz
parents: 148
diff changeset
436 * In some cases expressions in templates did not get interpolated (ticket
7a4086c22a64 Fix relative includes on Windows. Closes #27.
cmlenz
parents: 148
diff changeset
437 #26).
148
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
438 * CDATA sections are now passed through the pipeline and serialized correctly.
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
439 That allows using <script> or <style> elements in XHTML output that is still
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
440 compatible with HTML user agents.
159
03a0cca25cf6 Another changelog update
cmlenz
parents: 156
diff changeset
441 * The XHTML serializer now correctly handles elements in foreign namespaces
03a0cca25cf6 Another changelog update
cmlenz
parents: 156
diff changeset
442 (such as SVG or MathML).
153
7a4086c22a64 Fix relative includes on Windows. Closes #27.
cmlenz
parents: 148
diff changeset
443 * Fixed relative includes in templates on Windows (ticket #27).
160
faea6db52ef1 Attribute order in parsed XML is now preserved.
cmlenz
parents: 159
diff changeset
444 * Output can be encoded using legacy codecs such as ISO-8859-1. Any character
148
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
445 not representable in the chosen encoding gets replaced by the corresponding
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
446 XML character reference.
156
cc707c5873f3 Updated !ChangeLog to reflect [197].
cmlenz
parents: 153
diff changeset
447 * String literals in XPath expressions that contain spaces are now parsed
cc707c5873f3 Updated !ChangeLog to reflect [197].
cmlenz
parents: 153
diff changeset
448 as expected.
cc707c5873f3 Updated !ChangeLog to reflect [197].
cmlenz
parents: 153
diff changeset
449 * Added support for the XPath functions boolean(), ceiling(), concat(),
162
f767cf98e3e3 Implement the XPath relational operators and the `round()` function.
cmlenz
parents: 160
diff changeset
450 contains(), false(), floor(), normalize-space(), number(), round(),
f767cf98e3e3 Implement the XPath relational operators and the `round()` function.
cmlenz
parents: 160
diff changeset
451 starts-with(), string-length(), substring(), substring-after(),
f767cf98e3e3 Implement the XPath relational operators and the `round()` function.
cmlenz
parents: 160
diff changeset
452 substring-before(), translate(), and true().
168
40b32b020fd6 Added recent changes to change log file.
cmlenz
parents: 162
diff changeset
453 * Non-ASCII characters in expressions should now be handled correctly (ticket
40b32b020fd6 Added recent changes to change log file.
cmlenz
parents: 162
diff changeset
454 #29).
40b32b020fd6 Added recent changes to change log file.
cmlenz
parents: 162
diff changeset
455 * Default values for arguments of template functions now also work with
40b32b020fd6 Added recent changes to change log file.
cmlenz
parents: 162
diff changeset
456 constants and complex expressions (they only worked for string or number
40b32b020fd6 Added recent changes to change log file.
cmlenz
parents: 162
diff changeset
457 literals before).
181
d07ce6c1dbbe Some error message improvements for template directives. Thanks to Christian Boos for the patch!
cmlenz
parents: 169
diff changeset
458 * XPath expressions in now support XPath variables ($var) in predicates
d07ce6c1dbbe Some error message improvements for template directives. Thanks to Christian Boos for the patch!
cmlenz
parents: 169
diff changeset
459 (ticket #31).
184
e27a48802987 Interpolate multiline expressions in templates. Thanks to Christian Boos for reporting the problem and providing the fix.
cmlenz
parents: 181
diff changeset
460 * Expressions in templates can now span multiple lines if they are enclosed
e27a48802987 Interpolate multiline expressions in templates. Thanks to Christian Boos for reporting the problem and providing the fix.
cmlenz
parents: 181
diff changeset
461 in curly braces.
185
8e5a3048b359 Fix for #34: `py:def` macros can now be invoked from within expressions in attribute values.
cmlenz
parents: 184
diff changeset
462 * py:def macros can now be invoked from within expressions inside attribute
8e5a3048b359 Fix for #34: `py:def` macros can now be invoked from within expressions in attribute values.
cmlenz
parents: 184
diff changeset
463 values (ticket #34).
148
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
464
169
ce0bfdff334c Fix syntax error in `path` module.
cmlenz
parents: 168
diff changeset
465
148
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
466 Version 0.1
230
24757b771651 Renamed Markup to Genshi in repository.
cmlenz
parents: 227
diff changeset
467 http://svn.edgewall.org/repos/genshi/tags/0.1.0/
148
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
468 (Aug 3 2006, from branches/stable/0.1.x)
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
469
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
470 * First public release
Copyright (C) 2012-2017 Edgewall Software