Commit 3f292083 authored by Amos Latteier's avatar Amos Latteier

Merged release_notes with ZTemplates/CHANGES.txt. From now on changes should

be recorded in the Zope/CHANGES.txt.
parent d3ef404a
DocumentTemplate releases
2.2.1
This is a bug fix release that fixes one bug:
- DocumentTemplate would attempt to determine whether values
(other than values of known to be uncallable types) were
callable by attempting calls. If any TypeError or AttributeError
was raised, then the value was assumed to be uncallable. This could
mask errors in many cases.
Now, no attempt is made to catch exceptions when calling objects
of known to be callable types. Attribute errors are ignored
only of the object (of InstanceType or some non-standard type)
does not have a '__call__' attribute.
2.2
This release has a number of new features and bug fixes.
Features
- There is a new user's guide in "HTML",
http://www.digicool.com/releases/bobo/DocumentTemplate/BoboDTML.html,
and "PDF",
http://www.digicool.com/releases/bobo/DocumentTemplate/BoboDTML.pdf,
formats with table of contents and index.
Note that these are not included in the release.
- AFAIK DocumentTemplate is now thread-safe.
- There is a new open-source copyright.
- Import of some modules is delayed providing 30% faster imports.
- No longer enable the through-the-web-editing interface by default.
- Added short-hand expr usage.
For example::
<!--#some_tag "foo.bar"-->
is now a short-hand for::
<!--#some_tag expr="foo.bar"-->
Bugs fixed
- Several occurrences of 'from some_module import *' have been
eliminated.
- Fixed bugs in error reporting.
- Handle valueless attributes a bit better.
In particular, if a valueless parameter is not
in the first position, it is not confused for a name,
- Source files used tabs and spaces for indentation.
All tabs have now been removed.
2.1
This release has a number of new features and bug fixes.
Features
- The rendering code has been rearranged substantially to
improve performance. Most common rendering operations, like
simple-variable and conditional insertion are "inlined" in the
main rendering loop. This avoids many method calls.
An unfortunate side effect of this change is that error
tracebacks are less informative. This will be addressed in a
future and probably the next release.
- A new tag, 'with', has been added to simplify accessing
subobjects. For example, if the variable 'emp' is an instance,
the 'with' tag can be used to easily access attributes of 'emp'
without using an expression.
- A new 'raise' tag supports raising exceptions from
DocumentTemplates. A future release will have a try/except tag.
- The special variable, '_', now provides namespace access in
addition to providing access to special "builtin" functions.
- Security-aware 'getattr' and 'hasattr' methods have been
added to the special '_' variable.
- New 'render' method for '_' to render expressions in much the
same way that the 'name' tag attribute automatically renders
retrieved objects by calling sub-templates and functions.
Bugs fixed
- A bug has been fixed in the handling of 'KeyError' exceptions
in rendering of conditional tags, like 'if' and 'unless'. Now
an 'if' tag considers an undefined variable to be "false" as
described in the documentation.
2.0
The 2.0 release is a major rewrite of the original DocumentTemplate
implementation. One of the major implementation changes was to
break the implementation into multiple source files which can be
used as a ni package.
This release has a number of important features:
- Slightly better performance,
- Additional tag features, including:
- 'else' tags with 'in' tags,
- 'elif' tags in 'if' tags.
- Ability to use either '/' or 'end' in end tags. For example,
you can use '/if' or 'endif'.
- Names can be ommitted from end tags.
- An expression feature that uses a form of "super safe python"
that prevents denial-of-service attacks, which is of concern of
if document templates are edited through the web.
A DocumentTemplate subclass can also define a 'validate' method::
def validate(self, inst, parent, name, value, md):
which validates access to the object given in the
argument, 'value' which was accessed by name, 'name',
from the object, 'inst'. The argument 'parent'
is the object that the value actually came from, which
is not 'inst' if the value was acquired. The argument, 'md'
is the DocumentTemplate namespace object.
- A new 'unless' tag, for inserting text if a condition is false.
This replaces the stand-alone 'else' tag, which is deprecated.
- A new 'comment' tag.
A 'comment' tag is not included in a compiled
DocumentTemplate, and is therefore more efficient than::
<!--#if expr="0"-->
- A new 'raise' tag for raising exceptions in DocumentTemplates.
This is handy for validating inputs. There will eventually be
a 'try' tag.
- New 'in' tag variables for getting information about the start and
end indexes of the current batch.
"Download DocumentTemplate 2.2.1":DocumentTemplate-2.2.1.tar.gz.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment