annotate UPGRADE.txt @ 592:1da8de3e5e51 trunk

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.
author cmlenz
date Mon, 13 Aug 2007 12:40:56 +0000
parents a89368769b82
children
rev   line source
233
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
1 Upgrading Genshi
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
2 ================
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
3
592
1da8de3e5e51 Add a new syntax for text templates, which is available alongside the old syntax for now. The new syntax is more poweful and flexible, using Django-style directive notation.
cmlenz
parents: 452
diff changeset
4 Upgrading from Genshi 0.4.x to 0.5.x
1da8de3e5e51 Add a new syntax for text templates, which is available alongside the old syntax for now. The new syntax is more poweful and flexible, using Django-style directive notation.
cmlenz
parents: 452
diff changeset
5 ------------------------------------
1da8de3e5e51 Add a new syntax for text templates, which is available alongside the old syntax for now. The new syntax is more poweful and flexible, using Django-style directive notation.
cmlenz
parents: 452
diff changeset
6
1da8de3e5e51 Add a new syntax for text templates, which is available alongside the old syntax for now. The new syntax is more poweful and flexible, using Django-style directive notation.
cmlenz
parents: 452
diff changeset
7 Genshi 0.5 introduces a new, alternative syntax for text templates, which is
1da8de3e5e51 Add a new syntax for text templates, which is available alongside the old syntax for now. The new syntax is more poweful and flexible, using Django-style directive notation.
cmlenz
parents: 452
diff changeset
8 more flexible and powerful compared to the old syntax. For backwards
1da8de3e5e51 Add a new syntax for text templates, which is available alongside the old syntax for now. The new syntax is more poweful and flexible, using Django-style directive notation.
cmlenz
parents: 452
diff changeset
9 compatibility, this new syntax is not used by default, though it will be in
1da8de3e5e51 Add a new syntax for text templates, which is available alongside the old syntax for now. The new syntax is more poweful and flexible, using Django-style directive notation.
cmlenz
parents: 452
diff changeset
10 a future version. It is recommended that you migrate to using this new syntax.
1da8de3e5e51 Add a new syntax for text templates, which is available alongside the old syntax for now. The new syntax is more poweful and flexible, using Django-style directive notation.
cmlenz
parents: 452
diff changeset
11 To do so, simply rename any references in your code to `TextTemplate` to
1da8de3e5e51 Add a new syntax for text templates, which is available alongside the old syntax for now. The new syntax is more poweful and flexible, using Django-style directive notation.
cmlenz
parents: 452
diff changeset
12 `NewTextTemplate`. To explicitly use the old syntax, use `OldTextTemplate`
1da8de3e5e51 Add a new syntax for text templates, which is available alongside the old syntax for now. The new syntax is more poweful and flexible, using Django-style directive notation.
cmlenz
parents: 452
diff changeset
13 instead, so that you can be sure you'll be using the same language when the
1da8de3e5e51 Add a new syntax for text templates, which is available alongside the old syntax for now. The new syntax is more poweful and flexible, using Django-style directive notation.
cmlenz
parents: 452
diff changeset
14 default in Genshi is changed (at least until the old implementation is
1da8de3e5e51 Add a new syntax for text templates, which is available alongside the old syntax for now. The new syntax is more poweful and flexible, using Django-style directive notation.
cmlenz
parents: 452
diff changeset
15 completely removed).
1da8de3e5e51 Add a new syntax for text templates, which is available alongside the old syntax for now. The new syntax is more poweful and flexible, using Django-style directive notation.
cmlenz
parents: 452
diff changeset
16
1da8de3e5e51 Add a new syntax for text templates, which is available alongside the old syntax for now. The new syntax is more poweful and flexible, using Django-style directive notation.
cmlenz
parents: 452
diff changeset
17
336
7763f7aec949 Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents: 233
diff changeset
18 Upgrading from Genshi 0.3.x to 0.4.x
7763f7aec949 Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents: 233
diff changeset
19 ------------------------------------
7763f7aec949 Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents: 233
diff changeset
20
452
a89368769b82 Add `filters` package in `setup.py`.
cmlenz
parents: 442
diff changeset
21 The modules ``genshi.filters`` and ``genshi.template`` have been
a89368769b82 Add `filters` package in `setup.py`.
cmlenz
parents: 442
diff changeset
22 refactored into packages containing multiple modules. While code using
a89368769b82 Add `filters` package in `setup.py`.
cmlenz
parents: 442
diff changeset
23 the regular APIs should continue to work without problems, you should
a89368769b82 Add `filters` package in `setup.py`.
cmlenz
parents: 442
diff changeset
24 make sure to remove any leftover traces of the ``template.py`` file on
a89368769b82 Add `filters` package in `setup.py`.
cmlenz
parents: 442
diff changeset
25 the installation path. This is not necessary when Genshi was installed
a89368769b82 Add `filters` package in `setup.py`.
cmlenz
parents: 442
diff changeset
26 as a Python egg.
336
7763f7aec949 Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents: 233
diff changeset
27
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
28 Results of evaluating template expressions are no longer implicitly
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
29 called if they are callable. If you have been using that feature, you
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
30 will need to add the parenthesis to actually call the function.
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
31
345
2aa7ca37ae6a Make `Attrs` instances immutable.
cmlenz
parents: 343
diff changeset
32 Instances of `genshi.core.Attrs` are now immutable. Filters
411
7d158f8f48ad Updated change log.
cmlenz
parents: 397
diff changeset
33 manipulating the attributes in a stream may need to be updated. Also,
7d158f8f48ad Updated change log.
cmlenz
parents: 397
diff changeset
34 the `Attrs` class no longer automatically wraps all attribute names
7d158f8f48ad Updated change log.
cmlenz
parents: 397
diff changeset
35 in `QName` objects, so users of the `Attrs` class need to do this
7d158f8f48ad Updated change log.
cmlenz
parents: 397
diff changeset
36 themselves. See the documentation of the `Attrs` class for more
7d158f8f48ad Updated change log.
cmlenz
parents: 397
diff changeset
37 information.
7d158f8f48ad Updated change log.
cmlenz
parents: 397
diff changeset
38
345
2aa7ca37ae6a Make `Attrs` instances immutable.
cmlenz
parents: 343
diff changeset
39
233
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
40 Upgrading from Markup
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
41 ---------------------
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
42
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
43 Prior to version 0.3, the name of the Genshi project was "Markup". The
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
44 name change means that you will have to adjust your import statements
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
45 and the namespace URI of XML templates, among other things:
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
46
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
47 * The package name was changed from "markup" to "genshi". Please
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
48 adjust any import statements referring to the old package name.
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
49 * The namespace URI for directives in Genshi XML templates has changed
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
50 from http://markup.edgewall.org/ to http://genshi.edgewall.org/.
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
51 Please update the xmlns:py declaration in your template files
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
52 accordingly.
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
53
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
54 Furthermore, due to the inclusion of a text-based template language,
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
55 the class:
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
56
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
57 `markup.template.Template`
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
58
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
59 has been renamed to:
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
60
414
5cd03affab4a Fix typo in upgrade notes.
cmlenz
parents: 412
diff changeset
61 `genshi.template.MarkupTemplate`
233
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
62
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
63 If you've been using the Template class directly, you'll need to
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
64 update your code (a simple find/replace should do--the API itself
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
65 did not change).
Copyright (C) 2012-2017 Edgewall Software