- Temporary caches used in debug mode are cleaned up eagerly, rather than waiting for process termination. [mitchellrj]
Bugfixes:
- The `index`, `start` and `end` 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]
2.8.1
------------------
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.
2.8.0
------------------
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.
2.7.4
------------------
- The error handler now invokes the ``__init__`` method of ``BaseException`` instead of the possibly overridden method (which may take required arguments). This fixes issue 97. [j23d, malthe]
2.7.3
------------------
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.
2.7.2
------------------
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.