Changelog History
Page 5
-
v2.8.3 Changes
April 16, 2012๐ Features:
๐ฒ Log template source on debug-level before cooking.
The
target_language
argument, if given, is now available as a variable in templates.
-
v2.8.2 Changes
March 30, 2012๐ Features:
- Temporary caches used in debug mode are cleaned up eagerly, rather than waiting for process termination. [mitchellrj]
๐ Bugfixes:
The
index
,start
andend
methods on the TAL repeat object are now callable. This fixes an incompatibility with ZPT.๐ The loader now correctly handles absolute paths on Windows. [rdale]
-
v2.8.1 Changes
March 29, 2012๐ Features:
- ๐ป The exception formatter now lists errors in 'wrapping order'. This means that the innermost, and presumably most relevant exception is shown last.
๐ Bugfixes:
๐ป The exception formatter now correctly recognizes nested errors and does not rewrap the dynamically generated exception class.
The exception formatter now correctly sets the
__module__
attribute to that of the original exception class.
-
v2.8.0 Changes
February 29, 2012๐ Features:
- โ Added support for code blocks using the
<?python ... ?>
processing instruction syntax.
The scope is name assignments is up until the nearest macro definition, or the template itself if macros are not used.
๐ Bugfixes:
๐ Fall back to the exception class'
__new__
method to safely create an exception object that is not implemented in Python.๐ป The exception formatter now keeps track of already formatted exceptions, and ignores them from further output.
- โ Added support for code blocks using the
-
v2.7.4 Changes
February 27, 2012- The error handler now invokes the
__init__
method ofBaseException
instead of the possibly overriden method (which may take required arguments). This fixes issue #97. [j23d, malthe]
- The error handler now invokes the
-
v2.7.3 Changes
January 16, 2012๐ Bugfixes:
- The trim whitespace option now correctly trims actual whitespace to a single character, appearing either to the left or to the right of an element prefix or suffix string.
-
v2.7.2 Changes
January 08, 2012๐ Features:
- Added option
trim_attribute_space
that decides whether attribute whitespace is stripped (at most down to a single space). This option exists to provide compatibility with the reference implementation. Fixes issue #85.
๐ Bugfixes:
Ignore unhashable builtins when generating a reverse builtin map to quickly look up a builtin value. [malthe]
๐ Apply translation mapping even when a translation function is not available. This fixes issue #83. [malthe]
๐ Fixed issue #80. The translation domain for a slot is defined by the source document, i.e. the template providing the content for a slot whether it be the default or provided through
metal:fill-slot
. [jcbrand]In certain circumstances, a Unicode non-breaking space character would cause a define clause to fail to parse.
- Added option
-
v2.7.1 Changes
December 29, 2011๐ Features:
Enable expression interpolation in CDATA.
The page template class now implements dictionary access to macros::
template[name]
This is a short-hand for::
template.macros[name]
๐ Bugfixes:
An invalid define clause would be silently ignored; we now raise a language error exception. This fixes issue #79.
๐ Fixed regression where
${...}
interpolation expressions could not span multiple lines. This fixes issue #77.
-
v2.7.0 Changes
December 13, 2011๐ Features:
The
load:
expression now derives from the string expression such that the${...}
operator can be used for expression interpolation.The
load:
expression now accepts asset specs; these are resolved by thepkg_resources.resource_filename
function:::
An example from the test suite::
chameleon:tests/inputs/hello_world.pt
๐ Bugfixes:
- ๐ If an attribute name for translation was not a valid Python
identifier, the compiler would generate invalid code. This has been
fixed, and the compiler now also throws an exception if an attribute
specification contains a comma. (Note that the only valid separator
character is the semicolon, when specifying attributes for
translation via the
i18n:translate
statement). This addresses issue #76.
-
v2.6.2 Changes
December 08, 2011๐ Bugfixes:
๐ Fixed issue where
tal:on-error
would not respecttal:omit-tag
or namespace elements which are omitted by default (such as<tal:block />
).๐ Fixed issue where
macros
attribute would not be available on file-based templates due to incorrect initialization.The
TryExcept
andTryFinally
AST nodes are not available on Python 3.3. These have been aliased toTry
. This fixes issue75.
๐ Features:
๐ The TAL repeat item now makes a security declaration that grants access to unprotected subobjects on the Zope 2 platform::
allow_access_to_unprotected_subobjects = True
This is required for legacy compatibility and does not affect other environments.
The template object now has a method
write(body)
which explicitly decodes and cooks a string input.โ Added configuration option
loader_class
which sets the class used to create the template loader object.
The class (essentially a callable) is created at template construction time.