annotate ChangeLog @ 431:ad01564e87f2 trunk

* Don't allow `style` attributes by default in the `HTMLSanitizer`. Closes #97. * In case `style` attributes are explicitly allowed, also handle unicode escapes correctly.
author cmlenz
date Thu, 22 Mar 2007 18:13:02 +0000
parents c478a6fa9e77
children 406915754870
rev   line source
276
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
1 Version 0.4
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
2 http://svn.edgewall.org/repos/genshi/tags/0.4.0/
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
3 (?, from branches/stable/0.4.x)
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
4
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
5 * New example applications for CherryPy and web.py.
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
6 * The template loader now uses a LRU cache to limit the number of cached
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
7 templates to a configurable maximum. Also, a race condition in the template
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
8 loader was fixed by adding locking.
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
9 * A new filter (genshi.filters.HTMLFormFiller) was added, which can populate
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
10 HTML forms based on a dictionary of values.
277
7e30bfa966ab The `HTMLSanitizer` now lets you override the default set of tag and attribute names that are considered safe.
cmlenz
parents: 276
diff changeset
11 * The set of permitted tag and attribute names for the HTMLSanitizer can now
7e30bfa966ab The `HTMLSanitizer` now lets you override the default set of tag and attribute names that are considered safe.
cmlenz
parents: 276
diff changeset
12 be configured per instance.
294
4a8975768572 Updated change log.
cmlenz
parents: 288
diff changeset
13 * The template engine plugin now supports a range of options for
4a8975768572 Updated change log.
cmlenz
parents: 288
diff changeset
14 configuration, for example to set the default serialization method, the
4a8975768572 Updated change log.
cmlenz
parents: 288
diff changeset
15 default output encoding, or the default DOCTYPE.
302
53d502c7c874 Updated change log.
cmlenz
parents: 294
diff changeset
16 * The ElementTree adaptation function `ET()` has moved into the `genshi.input`
53d502c7c874 Updated change log.
cmlenz
parents: 294
diff changeset
17 module.
53d502c7c874 Updated change log.
cmlenz
parents: 294
diff changeset
18 * Allow `when` directives to omit the test expression as long as the
53d502c7c874 Updated change log.
cmlenz
parents: 294
diff changeset
19 associated choose directive does have one. In that case, the when branch is
53d502c7c874 Updated change log.
cmlenz
parents: 294
diff changeset
20 followed if the expression of the choose directive evaluates to a truth
53d502c7c874 Updated change log.
cmlenz
parents: 294
diff changeset
21 value.
317
efa7870b63cb 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
efa7870b63cb 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
7763f7aec949 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
7763f7aec949 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
35189e960252 Remove automatic calling of expression evaluation results if they are callable. See [http://groups.google.com/group/genshi/browse_thread/thread/f515986760918d41 this mailing list thread].
cmlenz
parents: 336
diff changeset
26 * Results of expression evaluation are no longer implicitly called if they
35189e960252 Remove automatic calling of expression evaluation results if they are callable. See [http://groups.google.com/group/genshi/browse_thread/thread/f515986760918d41 this mailing list thread].
cmlenz
parents: 336
diff changeset
27 are callable.
345
2aa7ca37ae6a Make `Attrs` instances immutable.
cmlenz
parents: 343
diff changeset
28 * Instances of the `genshi.core.Attrs` class are now immutable (they are
2aa7ca37ae6a Make `Attrs` instances immutable.
cmlenz
parents: 343
diff changeset
29 subclasses of `tuple` instead of `list`).
374
b146277eb54a `MarkupTemplate`s can now be instantiated from markup streams, in addition to strings and file-like objects. Thanks to David Fraser for the patch. Closes #69.
cmlenz
parents: 371
diff changeset
30 * `MarkupTemplate`s can now be instantiated from markup streams, in addition
b146277eb54a `MarkupTemplate`s can now be instantiated from markup streams, in addition to strings and file-like objects. Thanks to David Fraser for the patch. Closes #69.
cmlenz
parents: 371
diff changeset
31 to strings and file-like objects (ticket #69).
378
873ca2a7ec05 Improve handling of incorrectly nested tags in the HTML parser.
cmlenz
parents: 374
diff changeset
32 * Improve handling of incorrectly nested tags in the HTML parser.
399
f0b785d3d407 Rework parsing of expressions in template text, to be able to:
cmlenz
parents: 387
diff changeset
33 * Template includes can now be nested inside fallback content.
f0b785d3d407 Rework parsing of expressions in template text, to be able to:
cmlenz
parents: 387
diff changeset
34 * Expressions can now contain dict literals (ticket #37).
f0b785d3d407 Rework parsing of expressions in template text, to be able to:
cmlenz
parents: 387
diff changeset
35 * It is now possible to have one or more escaped dollar signs in front of a
f0b785d3d407 Rework parsing of expressions in template text, to be able to:
cmlenz
parents: 387
diff changeset
36 full expression (ticket #92).
401
68772732c896 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
68772732c896 Make the `Markup` class available by default in template expressions. Closes #67.
cmlenz
parents: 399
diff changeset
38 (ticket #67).
411
7d158f8f48ad Updated change log.
cmlenz
parents: 401
diff changeset
39 * The handling of namespace declarations in XML/XHTML output has been improved.
7d158f8f48ad Updated change log.
cmlenz
parents: 401
diff changeset
40 * The `Attrs` class no longer automatically wraps all attribute names in
7d158f8f48ad Updated change log.
cmlenz
parents: 401
diff changeset
41 `QName` objects. This is now the responsibility of whoever is instantiating
7d158f8f48ad Updated change log.
cmlenz
parents: 401
diff changeset
42 `Attrs` objects (for example, stream filters and generators).
7d158f8f48ad Updated change log.
cmlenz
parents: 401
diff changeset
43 * Python code blocks are now supported using the `<?python ?>` processing
7d158f8f48ad Updated change log.
cmlenz
parents: 401
diff changeset
44 instruction (ticket #84).
418
c478a6fa9e77 Make expression error handling more strict. Closes #88.
cmlenz
parents: 411
diff changeset
45 * Runtime error handling in template expressions has become more strict
c478a6fa9e77 Make expression error handling more strict. Closes #88.
cmlenz
parents: 411
diff changeset
46 (ticket #88). Where you previously could access undefined variables or
c478a6fa9e77 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
c478a6fa9e77 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
c478a6fa9e77 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.
365
4f431931d64e Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
50
4f431931d64e Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
51
387
9c88f4137b03 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
52 Version 0.3.6
9c88f4137b03 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
53 http://svn.edgewall.org/repos/genshi/tags/0.3.6/
9c88f4137b03 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
54 (Dec 11 2006, from branches/stable/0.3.x)
9c88f4137b03 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
55
9c88f4137b03 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
56 * The builder API now accepts streams as children of elements and fragments.
9c88f4137b03 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
57
9c88f4137b03 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
58
365
4f431931d64e Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
59 Version 0.3.5
387
9c88f4137b03 Update change log for [milestone:0.3.6].
cmlenz
parents: 381
diff changeset
60 http://svn.edgewall.org/repos/genshi/tags/0.3.5/
365
4f431931d64e Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
61 (Nov 22 2006, from branches/stable/0.3.x)
4f431931d64e Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
62
371
37e45862f814 Update change log for [milestone:0.3.5].
cmlenz
parents: 365
diff changeset
63 * Fix XPath traversal in match templates. Previously, `div/p` would be treated
37e45862f814 Update change log for [milestone:0.3.5].
cmlenz
parents: 365
diff changeset
64 the same as `div//p`, i.e. it would match all descendants and not just the
37e45862f814 Update change log for [milestone:0.3.5].
cmlenz
parents: 365
diff changeset
65 immediate children.
365
4f431931d64e Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
66 * Preserve whitespace in HTML `<pre>` elements also when they contain child
4f431931d64e Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
67 elements.
4f431931d64e Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
68 * Match templates no longer match their own output (ticket #77).
4f431931d64e Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
69 * Blank lines before directives in text templates are now preserved as
4f431931d64e Fix for #62: preserve whitespace in front of directives.
cmlenz
parents: 346
diff changeset
70 expected (ticket #62).
346
96882a191686 Whitespace was not getting preserved in HTML `<pre>` elements that contained other HTML elements.
cmlenz
parents: 345
diff changeset
71
317
efa7870b63cb Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
72
efa7870b63cb Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
73 Version 0.3.4
efa7870b63cb Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
74 http://svn.edgewall.org/repos/genshi/tags/0.3.4/
323
6be95de7aa99 Prepare for [milestone:0.3.4] release.
cmlenz
parents: 317
diff changeset
75 (Nov 2 2006, from branches/stable/0.3.x)
317
efa7870b63cb Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
76
efa7870b63cb Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
77 * The encoding of HTML and XML files, as well as markup and text templates,
efa7870b63cb Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
78 can now be specified. Also, the encoding specified in XML declarations is
efa7870b63cb Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
79 now respected unless an expiclit encoding is requested.
efa7870b63cb Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
80 * Expressions used as arguments for `py:with`, `py:def`, and `py:for`
efa7870b63cb Update change log, and some minor tweaks to keyword argument ordering for the new `encoding` parameter.
cmlenz
parents: 302
diff changeset
81 directives can now contain non-ASCII strings.
285
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
82
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
83
288
e09c5b7a64ae Fix bug introduced in [343], that broke the parsing of templates which declare the same namespace more than once in a nested fashion. Thanks to Graham Higgins for reporting the problem.
cmlenz
parents: 285
diff changeset
84 Version 0.3.3
e09c5b7a64ae Fix bug introduced in [343], that broke the parsing of templates which declare the same namespace more than once in a nested fashion. Thanks to Graham Higgins for reporting the problem.
cmlenz
parents: 285
diff changeset
85 http://svn.edgewall.org/repos/genshi/tags/0.3.3/
302
53d502c7c874 Updated change log.
cmlenz
parents: 294
diff changeset
86 (Oct 16 2006, from branches/stable/0.3.x)
288
e09c5b7a64ae Fix bug introduced in [343], that broke the parsing of templates which declare the same namespace more than once in a nested fashion. Thanks to Graham Higgins for reporting the problem.
cmlenz
parents: 285
diff changeset
87
e09c5b7a64ae Fix bug introduced in [343], that broke the parsing of templates which declare the same namespace more than once in a nested fashion. Thanks to Graham Higgins for reporting the problem.
cmlenz
parents: 285
diff changeset
88 * Fixed bug introduced in 0.3.2 that broke the parsing of templates which
e09c5b7a64ae Fix bug introduced in [343], that broke the parsing of templates which declare the same namespace more than once in a nested fashion. Thanks to Graham Higgins for reporting the problem.
cmlenz
parents: 285
diff changeset
89 declare the same namespace more than once in a nested fashion.
294
4a8975768572 Updated change log.
cmlenz
parents: 288
diff changeset
90 * Fixed the parsing of HTML entity references inside attribute values, both
4a8975768572 Updated change log.
cmlenz
parents: 288
diff changeset
91 in the `XMLParser` and the `HTMLParser` classes.
302
53d502c7c874 Updated change log.
cmlenz
parents: 294
diff changeset
92 * Some changes to usage of absolute vs. relative template paths to ensure that
53d502c7c874 Updated change log.
cmlenz
parents: 294
diff changeset
93 the filenamed-keyed cache employed by the TemplateLoader doesn't mix up
53d502c7c874 Updated change log.
cmlenz
parents: 294
diff changeset
94 templates with the same name, but from different subdirectories.
288
e09c5b7a64ae Fix bug introduced in [343], that broke the parsing of templates which declare the same namespace more than once in a nested fashion. Thanks to Graham Higgins for reporting the problem.
cmlenz
parents: 285
diff changeset
95
e09c5b7a64ae Fix bug introduced in [343], that broke the parsing of templates which declare the same namespace more than once in a nested fashion. Thanks to Graham Higgins for reporting the problem.
cmlenz
parents: 285
diff changeset
96
285
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
97 Version 0.3.2
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
98 http://svn.edgewall.org/repos/genshi/tags/0.3.2/
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
99 (Oct 12 2006, from branches/stable/0.3.x)
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
100
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
101 * Exceptions from templates now contain the absolute path to the template file
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
102 when a search path is used. This enables tracebacks to display the line in
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
103 question.
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
104 * The template engine plugin now provides three different types: "genshi" and
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
105 "genshi-markup" map to markup templates, while "genshi-text" maps to text
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
106 templates.
278
d6c58473a9d0 Fix the handling of namespace context for match templates.
cmlenz
parents: 277
diff changeset
107 * Fixed the namespace context used by XPath patterns in py:match templates.
d6c58473a9d0 Fix the handling of namespace context for match templates.
cmlenz
parents: 277
diff changeset
108 The were erroneously using the namespace context of the elements being
d6c58473a9d0 Fix the handling of namespace context for match templates.
cmlenz
parents: 277
diff changeset
109 matched, where they should rather use the context in which they were
d6c58473a9d0 Fix the handling of namespace context for match templates.
cmlenz
parents: 277
diff changeset
110 defined.
285
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
111 * The contents of `<script>` and `<style>` elements are no longer escaped when
280
ce848f7c41f1 The content of `<script>` and `<style>` elements is no longer escaped when serializing to HTML but declaring the XHTML namespace in the template.
cmlenz
parents: 278
diff changeset
112 serializing to HTML but declaring the XHTML namespace in the template.
285
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
113 * Improved error message raised when using the `py:for` directive on an object
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
114 that is not iterable (ticket #60).
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
115 * Fixed the XPath function `starts-with()` which was always returning true
1f5753346a75 Updated change log.
cmlenz
parents: 280
diff changeset
116 (ticket #61).
276
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
117
8c4ed33069c6 Updated change log.
cmlenz
parents: 262
diff changeset
118
260
e14a41120be7 Updated change log.
cmlenz
parents: 252
diff changeset
119 Version 0.3.1
e14a41120be7 Updated change log.
cmlenz
parents: 252
diff changeset
120 http://svn.edgewall.org/repos/genshi/tags/0.3.1/
262
bbabcbb6378f Prepare [milestone:0.3.1] release.
cmlenz
parents: 260
diff changeset
121 (Sep 22 2006, from branches/stable/0.3.x)
260
e14a41120be7 Updated change log.
cmlenz
parents: 252
diff changeset
122
e14a41120be7 Updated change log.
cmlenz
parents: 252
diff changeset
123 * Includes and user-defined filters were not getting the correct context data
e14a41120be7 Updated change log.
cmlenz
parents: 252
diff changeset
124 when used inside a match template (ticket #56).
e14a41120be7 Updated change log.
cmlenz
parents: 252
diff changeset
125 * XPath patterns using the union operator (`|`) were returning only partial
e14a41120be7 Updated change log.
cmlenz
parents: 252
diff changeset
126 results in some cases.
e14a41120be7 Updated change log.
cmlenz
parents: 252
diff changeset
127
e14a41120be7 Updated change log.
cmlenz
parents: 252
diff changeset
128
192
b64e36bc1100 Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
129 Version 0.3
230
84168828b074 Renamed Markup to Genshi in repository.
cmlenz
parents: 227
diff changeset
130 http://svn.edgewall.org/repos/genshi/tags/0.3.0/
252
2a89132dd9d9 Add release date to change log.
cmlenz
parents: 234
diff changeset
131 (Sep 17 2006, from branches/stable/0.3.x)
192
b64e36bc1100 Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
132
234
39c424b80edd * Minor simplification of XPath engine.
cmlenz
parents: 230
diff changeset
133 * The project name was changed from "Markup" to "Genshi". See UPGRADE.txt
39c424b80edd * Minor simplification of XPath engine.
cmlenz
parents: 230
diff changeset
134 for upgrade instructions.
192
b64e36bc1100 Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
135 * Expression evaluation now differentiates between undefined variables and
b64e36bc1100 Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
136 variables that are defined but set to `None`. This also means that local
b64e36bc1100 Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
137 variables can override built-ins even if the local variable are set to
b64e36bc1100 Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
138 `None` (ticket #36).
199
71ce4b5335ba * Removed storage of substream in `MatchDirective`, because it's already being stored in the match templates (related to #39).
cmlenz
parents: 192
diff changeset
139 * The plugin implementation now makes more functions available for use inside
71ce4b5335ba * Removed storage of substream in `MatchDirective`, because it's already being stored in the match templates (related to #39).
cmlenz
parents: 192
diff changeset
140 templates: XML(), HTML(), defined(), and value-of(). These are mostly for
71ce4b5335ba * Removed storage of substream in `MatchDirective`, because it's already being stored in the match templates (related to #39).
cmlenz
parents: 192
diff changeset
141 migration from Kid.
192
b64e36bc1100 Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
142 * The parsing of `py:with` directives has been improved: you can now assign
b64e36bc1100 Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
143 to multiple names, and semicolons inside string literals are treated as
b64e36bc1100 Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
144 expected.
199
71ce4b5335ba * Removed storage of substream in `MatchDirective`, because it's already being stored in the match templates (related to #39).
cmlenz
parents: 192
diff changeset
145 * Generator expressions can now be used in template expressions (ticket #16).
200
5861f4446c26 Add serialization to plain text, based on cboos' patch. Closes #41.
cmlenz
parents: 199
diff changeset
146 * Added serialization to plain text (ticket #41).
218
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
147 * Calling functions from template expressions with *args and/or **kwargs
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
148 now works correctly (ticket #42).
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
149 * The `TemplateLoader` class and the `Template` instances that it manages are
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
150 now thread-safe, as they no longer keep any state related to the current
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
151 processing context.
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
152 * Stream filters and serializers can now be applied using the "pipe" (bitwise
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
153 or) operator "|".
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
154 * The execution of named template functions (`py:def`) no longer silently
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
155 swallows TypeError exceptions (ticket #44).
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
156 * The XML Parser now correctly handles unicode input (ticket #43).
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
157 * HTML entities can now be used in templates without having to declare an HTML
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
158 document type.
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
159 * Error reporting on undefined entities has been fixed.
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
160 * Fix traversal of substreams by XPath expressions. For example, the path
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
161 '*/*' no longer matches non-immediate child elements, and '@*' no longer
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
162 matches the attributes of descendants.
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
163 * Fixes for `py:match` which would get confused when it should be applied
6eff1d2b394a Updated change log.
cmlenz
parents: 200
diff changeset
164 to multiple elements (ticket #49).
224
90d62225f411 Implement support for namespace prefixes in XPath expressions.
cmlenz
parents: 218
diff changeset
165 * Using namespace prefixes in XPath expressions is now supported.
227
96a7e5011c69 Use list comprehension instead of `map()` in the AST transformer.
cmlenz
parents: 224
diff changeset
166 * Expressions now correctly handle slices (ticket #51).
234
39c424b80edd * Minor simplification of XPath engine.
cmlenz
parents: 230
diff changeset
167 * A simple text-based template language is now included for generating
39c424b80edd * Minor simplification of XPath engine.
cmlenz
parents: 230
diff changeset
168 plain text output (ticket #47).
192
b64e36bc1100 Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
169
b64e36bc1100 Expression evaluation now differentiates between undefined variables and variables that are defined but set to `None`.
cmlenz
parents: 185
diff changeset
170
148
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
171 Version 0.2
230
84168828b074 Renamed Markup to Genshi in repository.
cmlenz
parents: 227
diff changeset
172 http://svn.edgewall.org/repos/genshi/tags/0.2.0/
184
181d292eafa2 Interpolate multiline expressions in templates. Thanks to Christian Boos for reporting the problem and providing the fix.
cmlenz
parents: 181
diff changeset
173 (Aug 22 2006, from branches/stable/0.2.x)
148
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
174
153
fc2ff46d1ae3 Fix relative includes on Windows. Closes #27.
cmlenz
parents: 148
diff changeset
175 * XPath syntax errors now contain position info (ticket #20).
148
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
176 * Errors in expression evaluation now contain the correct line number in the
153
fc2ff46d1ae3 Fix relative includes on Windows. Closes #27.
cmlenz
parents: 148
diff changeset
177 template (ticket #22).
148
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
178 * <script> and <style> element contents are no longer escaped when using HTML
153
fc2ff46d1ae3 Fix relative includes on Windows. Closes #27.
cmlenz
parents: 148
diff changeset
179 serialization (ticket #24).
fc2ff46d1ae3 Fix relative includes on Windows. Closes #27.
cmlenz
parents: 148
diff changeset
180 * In some cases expressions in templates did not get interpolated (ticket
fc2ff46d1ae3 Fix relative includes on Windows. Closes #27.
cmlenz
parents: 148
diff changeset
181 #26).
148
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
182 * CDATA sections are now passed through the pipeline and serialized correctly.
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
183 That allows using <script> or <style> elements in XHTML output that is still
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
184 compatible with HTML user agents.
159
759c8f5e9efe Another changelog update
cmlenz
parents: 156
diff changeset
185 * The XHTML serializer now correctly handles elements in foreign namespaces
759c8f5e9efe Another changelog update
cmlenz
parents: 156
diff changeset
186 (such as SVG or MathML).
153
fc2ff46d1ae3 Fix relative includes on Windows. Closes #27.
cmlenz
parents: 148
diff changeset
187 * Fixed relative includes in templates on Windows (ticket #27).
160
d19e8a2c549e Attribute order in parsed XML is now preserved.
cmlenz
parents: 159
diff changeset
188 * Output can be encoded using legacy codecs such as ISO-8859-1. Any character
148
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
189 not representable in the chosen encoding gets replaced by the corresponding
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
190 XML character reference.
156
4792730ebb20 Updated !ChangeLog to reflect [197].
cmlenz
parents: 153
diff changeset
191 * String literals in XPath expressions that contain spaces are now parsed
4792730ebb20 Updated !ChangeLog to reflect [197].
cmlenz
parents: 153
diff changeset
192 as expected.
4792730ebb20 Updated !ChangeLog to reflect [197].
cmlenz
parents: 153
diff changeset
193 * Added support for the XPath functions boolean(), ceiling(), concat(),
162
456039594db9 Implement the XPath relational operators and the `round()` function.
cmlenz
parents: 160
diff changeset
194 contains(), false(), floor(), normalize-space(), number(), round(),
456039594db9 Implement the XPath relational operators and the `round()` function.
cmlenz
parents: 160
diff changeset
195 starts-with(), string-length(), substring(), substring-after(),
456039594db9 Implement the XPath relational operators and the `round()` function.
cmlenz
parents: 160
diff changeset
196 substring-before(), translate(), and true().
168
5f538e761701 Added recent changes to change log file.
cmlenz
parents: 162
diff changeset
197 * Non-ASCII characters in expressions should now be handled correctly (ticket
5f538e761701 Added recent changes to change log file.
cmlenz
parents: 162
diff changeset
198 #29).
5f538e761701 Added recent changes to change log file.
cmlenz
parents: 162
diff changeset
199 * Default values for arguments of template functions now also work with
5f538e761701 Added recent changes to change log file.
cmlenz
parents: 162
diff changeset
200 constants and complex expressions (they only worked for string or number
5f538e761701 Added recent changes to change log file.
cmlenz
parents: 162
diff changeset
201 literals before).
181
e103b75a96ce Some error message improvements for template directives. Thanks to Christian Boos for the patch!
cmlenz
parents: 169
diff changeset
202 * XPath expressions in now support XPath variables ($var) in predicates
e103b75a96ce Some error message improvements for template directives. Thanks to Christian Boos for the patch!
cmlenz
parents: 169
diff changeset
203 (ticket #31).
184
181d292eafa2 Interpolate multiline expressions in templates. Thanks to Christian Boos for reporting the problem and providing the fix.
cmlenz
parents: 181
diff changeset
204 * Expressions in templates can now span multiple lines if they are enclosed
181d292eafa2 Interpolate multiline expressions in templates. Thanks to Christian Boos for reporting the problem and providing the fix.
cmlenz
parents: 181
diff changeset
205 in curly braces.
185
95c3813a00de Fix for #34: `py:def` macros can now be invoked from within expressions in attribute values.
cmlenz
parents: 184
diff changeset
206 * py:def macros can now be invoked from within expressions inside attribute
95c3813a00de Fix for #34: `py:def` macros can now be invoked from within expressions in attribute values.
cmlenz
parents: 184
diff changeset
207 values (ticket #34).
148
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
208
169
dc6676d3b697 Fix syntax error in `path` module.
cmlenz
parents: 168
diff changeset
209
148
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
210 Version 0.1
230
84168828b074 Renamed Markup to Genshi in repository.
cmlenz
parents: 227
diff changeset
211 http://svn.edgewall.org/repos/genshi/tags/0.1.0/
148
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
212 (Aug 3 2006, from branches/stable/0.1.x)
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
213
dcc9dc25bc59 Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
diff changeset
214 * First public release
Copyright (C) 2012-2017 Edgewall Software