annotate UPGRADE.txt @ 440:7884617bc941 trunk

Add stricter error handling to upgrade notes.
author cmlenz
date Wed, 04 Apr 2007 17:18:08 +0000
parents 5cd03affab4a
children 97544725bb7f
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
336
7763f7aec949 Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents: 233
diff changeset
4 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
5 ------------------------------------
7763f7aec949 Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents: 233
diff changeset
6
7763f7aec949 Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents: 233
diff changeset
7 The `genshi.template` module has been refactored into a package with
7763f7aec949 Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents: 233
diff changeset
8 multiple modules. While code using the normal templating APIs should
7763f7aec949 Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents: 233
diff changeset
9 continue to work without problems, you should make sure to remove any
7763f7aec949 Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents: 233
diff changeset
10 leftover traces of the `template.py` file on the installation path.
7763f7aec949 Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents: 233
diff changeset
11 This is not necessary when Genshi was installed as a Python egg.
7763f7aec949 Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents: 233
diff changeset
12
440
7884617bc941 Add stricter error handling to upgrade notes.
cmlenz
parents: 414
diff changeset
13 Handling of errors in template expressions is now more strict. In
7884617bc941 Add stricter error handling to upgrade notes.
cmlenz
parents: 414
diff changeset
14 particular, it is no longer possible to reference an undefined
7884617bc941 Add stricter error handling to upgrade notes.
cmlenz
parents: 414
diff changeset
15 variable without an exception being raised. The previous error
7884617bc941 Add stricter error handling to upgrade notes.
cmlenz
parents: 414
diff changeset
16 handling let expressions get away with minor typos, which would
7884617bc941 Add stricter error handling to upgrade notes.
cmlenz
parents: 414
diff changeset
17 result in subtle bugs that were hard to find. The functions
7884617bc941 Add stricter error handling to upgrade notes.
cmlenz
parents: 414
diff changeset
18 `defined()` and `value_of()` are now available in all template
7884617bc941 Add stricter error handling to upgrade notes.
cmlenz
parents: 414
diff changeset
19 code; they can be used to test whether a specific variable is
7884617bc941 Add stricter error handling to upgrade notes.
cmlenz
parents: 414
diff changeset
20 defined at the top-level scope. Please refer to the template
7884617bc941 Add stricter error handling to upgrade notes.
cmlenz
parents: 414
diff changeset
21 language documentation for details.
7884617bc941 Add stricter error handling to upgrade notes.
cmlenz
parents: 414
diff changeset
22
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
23 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
24 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
25 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
26
345
2aa7ca37ae6a Make `Attrs` instances immutable.
cmlenz
parents: 343
diff changeset
27 Instances of `genshi.core.Attrs` are now immutable. Filters
411
7d158f8f48ad Updated change log.
cmlenz
parents: 397
diff changeset
28 manipulating the attributes in a stream may need to be updated. Also,
7d158f8f48ad Updated change log.
cmlenz
parents: 397
diff changeset
29 the `Attrs` class no longer automatically wraps all attribute names
7d158f8f48ad Updated change log.
cmlenz
parents: 397
diff changeset
30 in `QName` objects, so users of the `Attrs` class need to do this
7d158f8f48ad Updated change log.
cmlenz
parents: 397
diff changeset
31 themselves. See the documentation of the `Attrs` class for more
7d158f8f48ad Updated change log.
cmlenz
parents: 397
diff changeset
32 information.
7d158f8f48ad Updated change log.
cmlenz
parents: 397
diff changeset
33
345
2aa7ca37ae6a Make `Attrs` instances immutable.
cmlenz
parents: 343
diff changeset
34
233
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
35 Upgrading from Markup
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
36 ---------------------
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
37
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
38 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
39 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
40 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
41
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
42 * 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
43 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
44 * 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
45 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
46 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
47 accordingly.
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
48
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
49 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
50 the class:
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
51
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
52 `markup.template.Template`
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 has been renamed to:
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
55
414
5cd03affab4a Fix typo in upgrade notes.
cmlenz
parents: 412
diff changeset
56 `genshi.template.MarkupTemplate`
233
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
57
88ec2b306296 * Added implementation of a simple text-based template engine. Closes #47.
cmlenz
parents:
diff changeset
58 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
59 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
60 did not change).
Copyright (C) 2012-2017 Edgewall Software