blob: bf7853e074f1ca3496354fb4fb6a038e77c91122 [file] [log] [blame]
Armin Ronacher9d472df2008-05-04 19:56:34 +02001Jinja2 Changelog
Armin Ronacher5e58d432008-11-23 15:45:13 +01002================
3
Armin Ronacher37f58ce2008-12-27 13:10:38 +01004Version 2.2
5-----------
6(codename unknown, release date yet unknown)
7
8- Include statements can now be marked with ``ignore missing`` to skip
9 non existing templates.
Armin Ronacherd89f0f32009-02-04 18:57:27 +010010- Priority of `not` raised. It's now possible to write `not foo in bar`
11 as an alias to `foo not in bar` like in python. Previously the grammar
12 required parentheses (`not (foo in bar)`) which was odd.
Armin Ronacher330fbc02009-02-04 19:13:58 +010013- Fixed a bug that caused syntax errors when defining macros or using the
14 `{% call %}` tag inside loops.
Armin Ronacher37f58ce2008-12-27 13:10:38 +010015
Armin Ronachercebd8382008-12-25 18:33:46 +010016Version 2.1.1
17-------------
18(Bugfix release)
19
20- Fixed a translation error caused by looping over empty recursive loops.
Armin Ronachera22a53d2007-03-31 20:44:33 +020021
Armin Ronacher237cdde2008-07-17 23:34:44 +020022Version 2.1
23-----------
Armin Ronacher7357f062008-11-23 12:55:23 +010024(codename Yasuzō, released on November 23rd 2008)
Armin Ronacher237cdde2008-07-17 23:34:44 +020025
Armin Ronacherff53c782008-08-13 18:55:50 +020026- fixed a bug with nested loops and the special loop variable. Before the
27 change an inner loop overwrote the loop variable from the outer one after
28 iteration.
29
Armin Ronacher4720c362008-09-06 16:15:38 +020030- fixed a bug with the i18n extension that caused the explicit pluralization
31 block to look up the wrong variable.
32
Armin Ronachercb1b97f2008-09-10 14:03:53 +020033- fixed a limitation in the lexer that made ``{{ foo.0.0 }}`` impossible.
34
Armin Ronacher5c3c4702008-09-12 23:12:49 +020035- index based subscribing of variables with a constant value returns an
36 undefined object now instead of raising an index error. This was a bug
37 caused by eager optimizing.
38
Armin Ronacher32133552008-09-15 14:35:01 +020039- the i18n extension looks up `foo.ugettext` now followed by `foo.gettext`
40 if an translations object is installed. This makes dealing with custom
41 translations classes easier.
42
43- fixed a confusing behavior with conditional extending. loops were partially
44 executed under some conditions even though they were not part of a visible
45 area.
46
Armin Ronacher205bae52008-09-17 13:57:45 +020047- added `sort` filter that works like `dictsort` but for arbitrary sequences.
48
Armin Ronacherf40c8842008-09-17 18:51:26 +020049- fixed a bug with empty statements in macros.
50
Armin Ronachera816bf42008-09-17 21:28:01 +020051- implemented a bytecode cache system. (:ref:`bytecode-cache`)
52
Armin Ronacherdcc217c2008-09-18 18:38:58 +020053- the template context is now weakref-able
54
Armin Ronacher673aa882008-10-04 18:06:57 +020055- inclusions and imports "with context" forward all variables now, not only
56 the initial context.
57
Armin Ronacherd34eb122008-10-13 23:47:51 +020058- added a cycle helper called `cycler`.
59
60- added a joining helper called `joiner`.
Armin Ronacherccae0552008-10-05 23:08:58 +020061
Armin Ronacherba6e25a2008-11-02 15:58:14 +010062- added a `compile_expression` method to the environment that allows compiling
63 of Jinja expressions into callable Python objects.
64
Armin Ronacherd9342dc2008-11-17 00:35:30 +010065- fixed an escaping bug in urlize
66
Armin Ronacher9d472df2008-05-04 19:56:34 +020067Version 2.0
Armin Ronacherc689cf12007-11-18 11:23:58 +010068-----------
Armin Ronacherbf943942008-07-17 23:32:00 +020069(codename jinjavitus, released on July 17th 2008)
Armin Ronacherc689cf12007-11-18 11:23:58 +010070
Armin Ronacher6dc6f292008-06-12 08:50:07 +020071- the subscribing of objects (looking up attributes and items) changed from
72 slightly. It's now possible to give attributes or items a higher priority
73 by either using dot-notation lookup or the bracket syntax. This also
74 changed the AST slightly. `Subscript` is gone and was replaced with
75 :class:`~jinja2.nodes.Getitem` and :class:`~jinja2.nodes.Getattr`.
76
Armin Ronacher53db78e2008-06-25 20:46:22 +020077 For more information see :ref:`the implementation details <notes-on-subscriptions>`.
Armin Ronacher6dc6f292008-06-12 08:50:07 +020078
Armin Ronacher9ad96e72008-06-13 22:44:01 +020079- added support for preprocessing and token stream filtering for extensions.
80 This would allow extensions to allow simplified gettext calls in template
81 data and something similar.
82
Armin Ronacher74b51062008-06-17 11:28:59 +020083- added :meth:`jinja2.environment.TemplateStream.dump`.
84
Armin Ronacher547d0b62008-07-04 16:35:10 +020085- added missing support for implicit string literal concatenation.
Armin Ronacher4778bda2008-06-22 12:48:37 +020086 ``{{ "foo" "bar" }}`` is equivalent to ``{{ "foobar" }}``
87
Armin Ronacher547d0b62008-07-04 16:35:10 +020088- `else` is optional for conditional expressions. If not given it evaluates
89 to `false`.
90
91- improved error reporting for undefined values by providing a position.
92
Armin Ronacher76f9aa42008-07-12 02:08:29 +020093- `filesizeformat` filter uses decimal prefixes now per default and can be
94 set to binary mode with the second parameter.
95
Armin Ronacher665bfb82008-07-14 13:41:46 +020096- fixed bug in finalizer
97
Armin Ronacher6dc6f292008-06-12 08:50:07 +020098Version 2.0rc1
99--------------
Armin Ronacher0fad0312008-06-27 23:19:09 +0200100(no codename, released on June 9th 2008)
Armin Ronacher6dc6f292008-06-12 08:50:07 +0200101
102- first release of Jinja2