annotate ChangeLog @ 437:3d82c5bdbf46

Fix for #107.
author cmlenz
date Mon, 02 Apr 2007 15:52:21 +0000
parents 3879c9ad3472
children ff7c72b52fb2
rev   line source
276
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
1 Version 0.4
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
2 http://svn.edgewall.org/repos/genshi/tags/0.4.0/
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
3 (?, from branches/stable/0.4.x)
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
4
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
5 * New example applications for CherryPy and web.py.
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
6 * The template loader now uses a LRU cache to limit the number of cached
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
7 templates to a configurable maximum. Also, a race condition in the template
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
8 loader was fixed by adding locking.
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
9 * A new filter (genshi.filters.HTMLFormFiller) was added, which can populate
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
10 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
11 * 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
12 be configured per instance.
294
2281dc992155 Updated change log.
cmlenz
parents: 288
diff changeset
13 * The template engine plugin now supports a range of options for
2281dc992155 Updated change log.
cmlenz
parents: 288
diff changeset
14 configuration, for example to set the default serialization method, the
2281dc992155 Updated change log.
cmlenz
parents: 288
diff changeset
15 default output encoding, or the default DOCTYPE.
302
dd6a18206119 Updated change log.
cmlenz
parents: 294
diff changeset
16 * The ElementTree adaptation function `ET()` has moved into the `genshi.input`
dd6a18206119 Updated change log.
cmlenz
parents: 294
diff changeset
17 module.
dd6a18206119 Updated change log.
cmlenz
parents: 294
diff changeset
18 * Allow `when` directives to omit the test expression as long as the
dd6a18206119 Updated change log.
cmlenz
parents: 294
diff changeset
19 associated choose directive does have one. In that case, the when branch is
dd6a18206119 Updated change log.
cmlenz
parents: 294
diff changeset
20 followed if the expression of the choose directive evaluates to a truth
dd6a18206119 Updated change log.
cmlenz
parents: 294
diff changeset
21 value.
317
8ba12f886c8a Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
22 * 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
23 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
24 * 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
25 `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
26 * 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
27 are callable.
345
8e75b83d3e71 Make `Attrs` instances immutable.
cmlenz
parents: 343
diff changeset
28 * Instances of the `genshi.core.Attrs` class are now immutable (they are
8e75b83d3e71 Make `Attrs` instances immutable.
cmlenz
parents: 343
diff changeset
29 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
30 * `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
31 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
32 * 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
33 * 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
34 * 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
35 * 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
36 full expression (ticket #92).
401
9582328f82e5 Make the `Markup` class available by default in template expressions. Closes #67.
cmlenz
parents: 399
diff changeset
37 * 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
38 (ticket #67).
411
2f4a525c32d5 Updated change log.
cmlenz
parents: 401
diff changeset
39 * The handling of namespace declarations in XML/XHTML output has been improved.
2f4a525c32d5 Updated change log.
cmlenz
parents: 401
diff changeset
40 * The `Attrs` class no longer automatically wraps all attribute names in
2f4a525c32d5 Updated change log.
cmlenz
parents: 401
diff changeset
41 `QName` objects. This is now the responsibility of whoever is instantiating
2f4a525c32d5 Updated change log.
cmlenz
parents: 401
diff changeset
42 `Attrs` objects (for example, stream filters and generators).
2f4a525c32d5 Updated change log.
cmlenz
parents: 401
diff changeset
43 * Python code blocks are now supported using the `<?python ?>` processing
2f4a525c32d5 Updated change log.
cmlenz
parents: 401
diff changeset
44 instruction (ticket #84).
418
878ffab274a6 Make expression error handling more strict. Closes #88.
cmlenz
parents: 411
diff changeset
45 * Runtime error handling in template expressions has become more strict
878ffab274a6 Make expression error handling more strict. Closes #88.
cmlenz
parents: 411
diff changeset
46 (ticket #88). Where you previously could access undefined variables or
878ffab274a6 Make expression error handling more strict. Closes #88.
cmlenz
parents: 411
diff changeset
47 members, you now get an exception. If a variable is not necessarily defined
878ffab274a6 Make expression error handling more strict. Closes #88.
cmlenz
parents: 411
diff changeset
48 at the top level of the template data, the new built-in functions
878ffab274a6 Make expression error handling more strict. Closes #88.
cmlenz
parents: 411
diff changeset
49 `defined(name)` and `value_of(name, default)` need to be used.
432
3879c9ad3472 * Updated change log
cmlenz
parents: 418
diff changeset
50 * `style` attributes are no longer allowed by the `HTMLSanitizer` by default.
3879c9ad3472 * Updated change log
cmlenz
parents: 418
diff changeset
51 If it is explicitly added to the set of safe attributes, and unicode escapes
3879c9ad3472 * Updated change log
cmlenz
parents: 418
diff changeset
52 in the attribute value are handled correctly.
437
3d82c5bdbf46 Fix for #107.
cmlenz
parents: 432
diff changeset
53 * Namespace declarations on conditional elements (for example using a `py:if`
3d82c5bdbf46 Fix for #107.
cmlenz
parents: 432
diff changeset
54 directive`) are no longer moved to the following element when the element
3d82c5bdbf46 Fix for #107.
cmlenz
parents: 432
diff changeset
55 originally carrying the declaration is removed from the stream (ticket #107).
365
85d910b8f9e5 Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
56
85d910b8f9e5 Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
57
387
5c2156e0cd41 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
58 Version 0.3.6
5c2156e0cd41 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
59 http://svn.edgewall.org/repos/genshi/tags/0.3.6/
5c2156e0cd41 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
60 (Dec 11 2006, from branches/stable/0.3.x)
5c2156e0cd41 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
61
5c2156e0cd41 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
62 * 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
63
5c2156e0cd41 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
64
365
85d910b8f9e5 Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
65 Version 0.3.5
387
5c2156e0cd41 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
66 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
67 (Nov 22 2006, from branches/stable/0.3.x)
85d910b8f9e5 Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
68
371
e8218c4a4590 Update change log for [milestone:0.3.5].
cmlenz
parents: 365
diff changeset
69 * 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
70 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
71 immediate children.
365
85d910b8f9e5 Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
72 * 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
73 elements.
85d910b8f9e5 Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
74 * 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
75 * 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
76 expected (ticket #62).
346
2304e080ec07 Whitespace was not getting preserved in HTML `<pre>` elements that contained other HTML elements.
cmlenz
parents: 345
diff changeset
77
317
8ba12f886c8a Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
78
8ba12f886c8a Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
79 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
80 http://svn.edgewall.org/repos/genshi/tags/0.3.4/
323
192433e67756 Prepare for [milestone:0.3.4] release.
cmlenz
parents: 317
diff changeset
81 (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
82
8ba12f886c8a Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
83 * 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
84 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
85 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
86 * 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
87 directives can now contain non-ASCII strings.
285
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
88
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
89
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
90 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
91 http://svn.edgewall.org/repos/genshi/tags/0.3.3/
302
dd6a18206119 Updated change log.
cmlenz
parents: 294
diff changeset
92 (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
93
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
94 * 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
95 declare the same namespace more than once in a nested fashion.
294
2281dc992155 Updated change log.
cmlenz
parents: 288
diff changeset
96 * Fixed the parsing of HTML entity references inside attribute values, both
2281dc992155 Updated change log.
cmlenz
parents: 288
diff changeset
97 in the `XMLParser` and the `HTMLParser` classes.
302
dd6a18206119 Updated change log.
cmlenz
parents: 294
diff changeset
98 * Some changes to usage of absolute vs. relative template paths to ensure that
dd6a18206119 Updated change log.
cmlenz
parents: 294
diff changeset
99 the filenamed-keyed cache employed by the TemplateLoader doesn't mix up
dd6a18206119 Updated change log.
cmlenz
parents: 294
diff changeset
100 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
101
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
102
285
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
103 Version 0.3.2
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
104 http://svn.edgewall.org/repos/genshi/tags/0.3.2/
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
105 (Oct 12 2006, from branches/stable/0.3.x)
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
106
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
107 * Exceptions from templates now contain the absolute path to the template file
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
108 when a search path is used. This enables tracebacks to display the line in
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
109 question.
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
110 * The template engine plugin now provides three different types: "genshi" and
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
111 "genshi-markup" map to markup templates, while "genshi-text" maps to text
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
112 templates.
278
8de2620504b9 Fix the handling of namespace context for match templates.
cmlenz
parents: 277
diff changeset
113 * 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
114 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
115 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
116 defined.
285
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
117 * 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
118 serializing to HTML but declaring the XHTML namespace in the template.
285
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
119 * Improved error message raised when using the `py:for` directive on an object
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
120 that is not iterable (ticket #60).
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
121 * Fixed the XPath function `starts-with()` which was always returning true
408879d805fb Updated change log.
cmlenz
parents: 280
diff changeset
122 (ticket #61).
276
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
123
a5bc6784dade Updated change log.
cmlenz
parents: 262
diff changeset
124
260
08d954368e14 Updated change log.
cmlenz
parents: 252
diff changeset
125 Version 0.3.1
08d954368e14 Updated change log.
cmlenz
parents: 252
diff changeset
126 http://svn.edgewall.org/repos/genshi/tags/0.3.1/
262
77d92c5c23d3 Prepare [milestone:0.3.1] release.
cmlenz
parents: 260
diff changeset
127 (Sep 22 2006, from branches/stable/0.3.x)
260
08d954368e14 Updated change log.
cmlenz
parents: 252
diff changeset
128
08d954368e14 Updated change log.
cmlenz
parents: 252
diff changeset
129 * Includes and user-defined filters were not getting the correct context data
08d954368e14 Updated change log.
cmlenz
parents: 252
diff changeset
130 when used inside a match template (ticket #56).
08d954368e14 Updated change log.
cmlenz
parents: 252
diff changeset
131 * XPath patterns using the union operator (`|`) were returning only partial
08d954368e14 Updated change log.
cmlenz
parents: 252
diff changeset
132 results in some cases.
08d954368e14 Updated change log.
cmlenz
parents: 252
diff changeset
133
08d954368e14 Updated change log.
cmlenz
parents: 252
diff changeset
134
192
cda3bdfc19ed Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
135 Version 0.3
230
24757b771651 Renamed Markup to Genshi in repository.
cmlenz
parents: 227
diff changeset
136 http://svn.edgewall.org/repos/genshi/tags/0.3.0/
252
61050b9245c8 Add release date to change log.
cmlenz
parents: 234
diff changeset
137 (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
138
234
4501f2fef82f * Minor simplification of XPath engine.
cmlenz
parents: 230
diff changeset
139 * The project name was changed from "Markup" to "Genshi". See UPGRADE.txt
4501f2fef82f * Minor simplification of XPath engine.
cmlenz
parents: 230
diff changeset
140 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
141 * 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
142 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
143 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
144 `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
145 * 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
146 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
147 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
148 * 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
149 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
150 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
151 * 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
152 * Added serialization to plain text (ticket #41).
218
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
153 * Calling functions from template expressions with *args and/or **kwargs
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
154 now works correctly (ticket #42).
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
155 * The `TemplateLoader` class and the `Template` instances that it manages are
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
156 now thread-safe, as they no longer keep any state related to the current
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
157 processing context.
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
158 * Stream filters and serializers can now be applied using the "pipe" (bitwise
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
159 or) operator "|".
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
160 * The execution of named template functions (`py:def`) no longer silently
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
161 swallows TypeError exceptions (ticket #44).
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
162 * The XML Parser now correctly handles unicode input (ticket #43).
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
163 * HTML entities can now be used in templates without having to declare an HTML
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
164 document type.
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
165 * Error reporting on undefined entities has been fixed.
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
166 * Fix traversal of substreams by XPath expressions. For example, the path
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
167 '*/*' no longer matches non-immediate child elements, and '@*' no longer
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
168 matches the attributes of descendants.
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
169 * Fixes for `py:match` which would get confused when it should be applied
af15e231d972 Updated change log.
cmlenz
parents: 200
diff changeset
170 to multiple elements (ticket #49).
224
e4dad1145f84 Implement support for namespace prefixes in XPath expressions.
cmlenz
parents: 218
diff changeset
171 * 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
172 * Expressions now correctly handle slices (ticket #51).
234
4501f2fef82f * Minor simplification of XPath engine.
cmlenz
parents: 230
diff changeset
173 * A simple text-based template language is now included for generating
4501f2fef82f * Minor simplification of XPath engine.
cmlenz
parents: 230
diff changeset
174 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
175
cda3bdfc19ed Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
176
148
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
177 Version 0.2
230
24757b771651 Renamed Markup to Genshi in repository.
cmlenz
parents: 227
diff changeset
178 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
179 (Aug 22 2006, from branches/stable/0.2.x)
148
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
180
153
7a4086c22a64 Fix relative includes on Windows. Closes #27.
cmlenz
parents: 148
diff changeset
181 * XPath syntax errors now contain position info (ticket #20).
148
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
182 * 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
183 template (ticket #22).
148
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
184 * <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
185 serialization (ticket #24).
7a4086c22a64 Fix relative includes on Windows. Closes #27.
cmlenz
parents: 148
diff changeset
186 * In some cases expressions in templates did not get interpolated (ticket
7a4086c22a64 Fix relative includes on Windows. Closes #27.
cmlenz
parents: 148
diff changeset
187 #26).
148
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
188 * 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
189 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
190 compatible with HTML user agents.
159
03a0cca25cf6 Another changelog update
cmlenz
parents: 156
diff changeset
191 * The XHTML serializer now correctly handles elements in foreign namespaces
03a0cca25cf6 Another changelog update
cmlenz
parents: 156
diff changeset
192 (such as SVG or MathML).
153
7a4086c22a64 Fix relative includes on Windows. Closes #27.
cmlenz
parents: 148
diff changeset
193 * Fixed relative includes in templates on Windows (ticket #27).
160
faea6db52ef1 Attribute order in parsed XML is now preserved.
cmlenz
parents: 159
diff changeset
194 * 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
195 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
196 XML character reference.
156
cc707c5873f3 Updated !ChangeLog to reflect [197].
cmlenz
parents: 153
diff changeset
197 * String literals in XPath expressions that contain spaces are now parsed
cc707c5873f3 Updated !ChangeLog to reflect [197].
cmlenz
parents: 153
diff changeset
198 as expected.
cc707c5873f3 Updated !ChangeLog to reflect [197].
cmlenz
parents: 153
diff changeset
199 * 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
200 contains(), false(), floor(), normalize-space(), number(), round(),
f767cf98e3e3 Implement the XPath relational operators and the `round()` function.
cmlenz
parents: 160
diff changeset
201 starts-with(), string-length(), substring(), substring-after(),
f767cf98e3e3 Implement the XPath relational operators and the `round()` function.
cmlenz
parents: 160
diff changeset
202 substring-before(), translate(), and true().
168
40b32b020fd6 Added recent changes to change log file.
cmlenz
parents: 162
diff changeset
203 * Non-ASCII characters in expressions should now be handled correctly (ticket
40b32b020fd6 Added recent changes to change log file.
cmlenz
parents: 162
diff changeset
204 #29).
40b32b020fd6 Added recent changes to change log file.
cmlenz
parents: 162
diff changeset
205 * Default values for arguments of template functions now also work with
40b32b020fd6 Added recent changes to change log file.
cmlenz
parents: 162
diff changeset
206 constants and complex expressions (they only worked for string or number
40b32b020fd6 Added recent changes to change log file.
cmlenz
parents: 162
diff changeset
207 literals before).
181
d07ce6c1dbbe Some error message improvements for template directives. Thanks to Christian Boos for the patch!
cmlenz
parents: 169
diff changeset
208 * 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
209 (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
210 * 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
211 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
212 * 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
213 values (ticket #34).
148
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
214
169
ce0bfdff334c Fix syntax error in `path` module.
cmlenz
parents: 168
diff changeset
215
148
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
216 Version 0.1
230
24757b771651 Renamed Markup to Genshi in repository.
cmlenz
parents: 227
diff changeset
217 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
218 (Aug 3 2006, from branches/stable/0.1.x)
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
219
a0a52cf4e4de Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
220 * First public release
Copyright (C) 2012-2017 Edgewall Software