| 2 | |
| 3 | |
| 4 | {{{ |
| 5 | Version 2.8 |
| 6 | ----------- |
| 7 | (codename Replacement, released on July 26th 2015) |
| 8 | |
| 9 | - Added `target` parameter to urlize function. |
| 10 | - Added support for `followsymlinks` to the file system loader. |
| 11 | - The truncate filter now counts the length. |
| 12 | - Added equalto filter that helps with select filters. |
| 13 | - Changed cache keys to use absolute file names if available |
| 14 | instead of load names. |
| 15 | - Fixed loop length calculation for some iterators. |
| 16 | - Changed how Jinja2 enforces strings to be native strings in |
| 17 | Python 2 to work when people break their default encoding. |
| 18 | - Added :func:`make_logging_undefined` which returns an undefined |
| 19 | object that logs failures into a logger. |
| 20 | - If unmarshalling of cached data fails the template will be |
| 21 | reloaded now. |
| 22 | - Implemented a block ``set`` tag. |
| 23 | - Default cache size was incrased to 400 from a low 50. |
| 24 | - Fixed ``is number`` test to accept long integers in all Python versions. |
| 25 | - Changed ``is number`` to accept Decimal as a number. |
| 26 | - Added a check for default arguments followed by non-default arguments. This |
| 27 | change makes ``{% macro m(x, y=1, z) %}...{% endmacro %}`` a syntax error. The |
| 28 | previous behavior for this code was broken anyway (resulting in the default |
| 29 | value being applied to `y`). |
| 30 | - Add ability to use custom subclasses of ``jinja2.compiler.CodeGenerator`` and |
| 31 | ``jinja2.runtime.Context`` by adding two new attributes to the environment |
| 32 | (`code_generator_class` and `context_class`) (pull request ``#404``). |
| 33 | - added support for context/environment/evalctx decorator functions on |
| 34 | the finalize callback of the environment. |
| 35 | - escape query strings for urlencode properly. Previously slashes were not |
| 36 | escaped in that place. |
| 37 | - Add 'base' parameter to 'int' filter. |
| 38 | }}} |