[svn] added "debugger of awesomeness" :D
[jinja2.git] / CHANGES
1 Jinja Changelog
2 ===============
3
4 Version 1.2
5 -----------
6 (codename to be selected, release date unknown)
7
8 - environments now have a `translator_factory` parameter that allows
9   to change the translator without subclassing the environment.
10
11 - fixed bug in buffet plugin regarding the package loader
12
13 - once again improved debugger.
14
15
16 Version 1.1
17 -----------
18 (codename: sinka, released Jun 1, 2007)
19
20 - blocks now support ``{{ super() }}`` to render the parent output.
21
22 - debugging system improved, smaller filesize for the cached files.
23   Debugging works now well for any module using linecache.
24
25 - ``{{ debug() }}`` can now be used to get a list of filters and
26   tags.
27
28 - the template lexer keeps not track of brace, parenthesis and
29   bracket balance in order to not break variable tags apart if they
30   are configured to look like this: ``${expr}``. This also fixes
31   the problem with nested dicts in variable expressions.
32
33 - it's now possible to configure the variable blocks to look the
34   same as the block delimiters. Thus you can set the syntax to something
35   like ``{ / }`` for both blocks and variables.
36
37 - added whitespace management system for the template designer.
38
39 - some small bugfixes.
40
41 - improved security system regarding function calls and variable
42   assignment in for loops.
43
44 - added `lipsum` function to generate random text.
45
46 - strings without unicode characters are processed as binary strings now
47   to workaround problems with `datetime.strftime` which only accepts
48   binary strings.
49
50 - it's now possible to use newlines in string literals
51
52 - developer friendly traceback is now toggleable
53
54 - the variable failure is now pluggable by replacing the undefined
55   singleton for an environment instance
56
57 - fixed issue with old-style classes not implementing `__getitem__`
58   (thanks to Axel Böhm for discovering that bug)
59
60 - added a bunch of new docstrings to the Jinja classes. Makes fun now to
61   use pydoc :-)
62
63 - fixed severe memcaching bug. Formerly it wasn't possible to use memcaching
64   without enabling disk cache.
65
66 - fixed a bug that allowed users to override the special names `_`, `true` etc.
67
68 - added `batch` and `slice` filters for batching or slicing sequences
69
70 - added `sum`, `abs`, `round` and `sort` filters. This fixes #238
71
72 - added `striptags` and `xmlattr` filters for easier SGML/XML processing
73
74 - the trans tag does not need explicit naming for variables with the same
75   name any more. You can now use ``{% trans foo %}`` instead of the verbose
76   version ``{% trans foo=foo %}``.
77
78 - reimplemented Buffet plugin so that it works at least for pylons
79
80 - added `Environment.get_translations_for_string`
81
82 - fixed a bug in the parser that didn't unescape keyword arguments. (thanks
83   to Alexey Melchakov for reporting)
84
85 - You can now use the environment to just tokenize a template. This can
86   be useful for syntax highlighting or other purposes.
87
88 - added optional C-implementation of the context baseclass.
89
90 - you can now use optional parentheses around macro defintions. Thus it's
91   possible to write ``{% macro foo(a, b, c) %}`` instead of ``{% macro
92   foo a, b, c %}``.
93
94 - additional macro arguments now end up in `varargs`.
95
96 - implemented the `{% call %}` block. `call` and `endcall` can still be used
97   as identifiers until Jinja 1.3
98
99 - it's now possible to stream templates.
100
101 - fixed a corner case when defining a block inside of a condition
102
103 - the cached loader mixin is now able to cache multiple templates from
104   different loaders in the same cache folder.
105
106 - Translatable strings returned by ``_()`` will leave their string formatting
107   signs untouched. Thanks to Stefan Ebner for reporting.
108
109 - ``{% block name "data" %}`` is now an alias for
110   ``{% block name %}data{% endblock %}``. Note that the second argument can
111   be an expression. As soon as you specify an expression as second argument
112   the closing tag has to be omitted.
113
114 - It's now possible to iterate over iterators additionally to sequences.
115   If the iterator is inifite it will crash however, so makes sure you don't
116   pass something like that to a template!
117
118 - added `rendetemplate` to render included templates in an isolated
119   environment and get the outout back.
120
121 - added `simplefilter` decorator.
122
123 - improved ChoiceLoader error reporting (thanks to Bryan McLemore)
124
125 - fixed extended slicing
126
127 - reworked loader layer. All the cached loaders now have "private" non cached
128   baseclasses so that you can easily mix your own caching layers in.
129
130 - added `MemcachedLoaderMixin` and `MemcachedFileSystemLoader` contributed
131   by Bryan McLemore.
132
133
134 Version 1.0
135 -----------
136 (codename: siyutusan, released Mar 23, 2007)
137
138 - Initial release