[svn] added block shortcut syntax for jinja
[jinja2.git] / CHANGES
1 Jinja Changelog
2 ===============
3
4 Version 1.1
5 -----------
6 (codename to be selected, release date unknown)
7
8 - blocks now support ``{{ super() }}`` to render the parent output.
9
10 - debugging system improved, smaller filesize for the cached files.
11   Debugging works now well for any module using linecache.
12
13 - ``{{ debug() }}`` can now be used to get a list of filters and
14   tags.
15
16 - the template lexer keeps not track of brace, parenthesis and
17   bracket balance in order to not break variable tags apart if they
18   are configured to look like this: ``${expr}``. This also fixes
19   the problem with nested dicts in variable expressions.
20
21 - added whitespace management system for the template designer.
22
23 - some small bugfixes.
24
25 - improved security system regarding function calls and variable
26   assignment in for loops.
27
28 - added `lipsum` function to generate random text.
29
30 - strings without unicode characters are processed as binary strings now
31   to workaround problems with `datetime.strftime` which only accepts
32   binary strings.
33
34 - it's now possible to use newlines in string literals
35
36 - developer friendly traceback is now toggleable
37
38 - the variable failure is now pluggable by replacing the undefined
39   singleton for an environment instance
40
41 - fixed issue with old-style classes not implementing `__getitem__`
42   (thanks to Axel Böhm for discovering that bug)
43
44 - added a bunch of new docstrings to the Jinja classes. Makes fun now to
45   use pydoc :-)
46
47 - fixed severe memcaching bug. Formerly it wasn't possible to use memcaching
48   without enabling disk cache.
49
50 - fixed a bug that allowed users to override the special names `_`, `true` etc.
51
52 - added `batch` and `slice` filters for batching or slicing sequences
53
54 - added `sum`, `abs` and `round` filters. This fixes #238
55
56 - added `striptags` and `xmlattr` filters for easier SGML/XML processing
57
58 - the trans tag does not need explicit naming for variables with the same
59   name any more. You can now use ``{% trans foo %}`` instead of the verbose
60   version ``{% trans foo=foo %}``.
61
62 - reimplemented Buffet plugin so that it works at least for pylons
63
64 - added `Environment.get_translations_for_string`
65
66 - fixed a bug in the parser that didn't unescape keyword arguments. (thanks
67   to Alexey Melchakov for reporting)
68
69 - You can now use the environment to just tokenize a template. This can
70   be useful for syntax highlighting or other purposes.
71
72 - added optional C-implementation of the context baseclass.
73
74 - you can now use optional parentheses around macro defintions. Thus it's
75   possible to write ``{% macro foo(a, b, c) %}`` instead of ``{% macro
76   foo a, b, c %}``.
77
78 - additional macro arguments now end up in `varargs`.
79
80 - implemented `{% call %}` - unsure if this makes it into the final release.
81
82 - it's not possible to stream templates.
83
84 - fixed a corner case when defining a block inside of a condition
85
86 - the cached loader mixin is now able to cache multiple templates from
87   different loaders in the same cache folder.
88
89 - Translatable strings returned by ``_()`` will leave their string formatting
90   signs untouched. Thanks to Stefan Ebner for reporting.
91
92 - ``{% block name "data" %}`` is now an alias for
93   ``{% block name %}data{% endblock %}``. Note that the second argument can
94   be an expression. As soon as you specify an expression as second argument
95   the closing tag has to be omitted.
96
97
98 Version 1.0
99 -----------
100 (released Mar 23, 2007)
101
102 - Initial release