Jinja Changelog
===============

Version 1.1
-----------
(codename: sinka, released Jun 1, 2007)

- blocks now support ``{{ super() }}`` to render the parent output.

- debugging system improved, smaller filesize for the cached files.
  Debugging works now well for any module using linecache.

- ``{{ debug() }}`` can now be used to get a list of filters and
  tags.

- the template lexer keeps not track of brace, parenthesis and
  bracket balance in order to not break variable tags apart if they
  are configured to look like this: ``${expr}``. This also fixes
  the problem with nested dicts in variable expressions.

- it's now possible to configure the variable blocks to look the
  same as the block delimiters. Thus you can set the syntax to something
  like ``{ / }`` for both blocks and variables.

- added whitespace management system for the template designer.

- some small bugfixes.

- improved security system regarding function calls and variable
  assignment in for loops.

- added `lipsum` function to generate random text.

- strings without unicode characters are processed as binary strings now
  to workaround problems with `datetime.strftime` which only accepts
  binary strings.

- it's now possible to use newlines in string literals

- developer friendly traceback is now toggleable

- the variable failure is now pluggable by replacing the undefined
  singleton for an environment instance

- fixed issue with old-style classes not implementing `__getitem__`
  (thanks to Axel Böhm for discovering that bug)

- added a bunch of new docstrings to the Jinja classes. Makes fun now to
  use pydoc :-)

- fixed severe memcaching bug. Formerly it wasn't possible to use memcaching
  without enabling disk cache.

- fixed a bug that allowed users to override the special names `_`, `true` etc.

- added `batch` and `slice` filters for batching or slicing sequences

- added `sum`, `abs`, `round` and `sort` filters. This fixes #238

- added `striptags` and `xmlattr` filters for easier SGML/XML processing

- the trans tag does not need explicit naming for variables with the same
  name any more. You can now use ``{% trans foo %}`` instead of the verbose
  version ``{% trans foo=foo %}``.

- reimplemented Buffet plugin so that it works at least for pylons

- added `Environment.get_translations_for_string`

- fixed a bug in the parser that didn't unescape keyword arguments. (thanks
  to Alexey Melchakov for reporting)

- You can now use the environment to just tokenize a template. This can
  be useful for syntax highlighting or other purposes.

- added optional C-implementation of the context baseclass.

- you can now use optional parentheses around macro defintions. Thus it's
  possible to write ``{% macro foo(a, b, c) %}`` instead of ``{% macro
  foo a, b, c %}``.

- additional macro arguments now end up in `varargs`.

- implemented the `{% call %}` block. `call` and `endcall` can still be used
  as identifiers until Jinja 1.3

- it's now possible to stream templates.

- fixed a corner case when defining a block inside of a condition

- the cached loader mixin is now able to cache multiple templates from
  different loaders in the same cache folder.

- Translatable strings returned by ``_()`` will leave their string formatting
  signs untouched. Thanks to Stefan Ebner for reporting.

- ``{% block name "data" %}`` is now an alias for
  ``{% block name %}data{% endblock %}``. Note that the second argument can
  be an expression. As soon as you specify an expression as second argument
  the closing tag has to be omitted.

- It's now possible to iterate over iterators additionally to sequences.
  If the iterator is inifite it will crash however, so makes sure you don't
  pass something like that to a template!

- added `rendetemplate` to render included templates in an isolated
  environment and get the outout back.

- added `simplefilter` decorator.

- improved ChoiceLoader error reporting (thanks to Bryan McLemore)

- fixed extended slicing

- reworked loader layer. All the cached loaders now have "private" non cached
  baseclasses so that you can easily mix your own caching layers in.

- added `MemcachedLoaderMixin` and `MemcachedFileSystemLoader` contributed
  by Bryan McLemore.


Version 1.0
-----------
(codename: siyutusan, released Mar 23, 2007)

- Initial release
