Changelog:
* Added target parameter to urlize function.
* Added support for followsymlinks to the file system loader.
* The truncate filter now counts the length.
* Added equalto filter that helps with select filters.
* Changed cache keys to use absolute file names if available instead of load
names.
* Fixed loop length calculation for some iterators.
* Changed how Jinja2 enforces strings to be native strings in Python 2 to work
when people break their default encoding.
* Added make_logging_undefined() which returns an undefined object that logs
failures into a logger.
* If unmarshalling of cached data fails the template will be reloaded now.
* Implemented a block set tag.
* Default cache size was incrased to 400 from a low 50.
* Fixed is number test to accept long integers in all Python versions.
* Changed is number to accept Decimal as a number.
* Added a check for default arguments followed by non-default arguments. This
change makes {% macro m(x, y=1, z) %}...{% endmacro %} a syntax error. The
previous behavior for this code was broken anyway (resulting in the default
value being applied to y).
* Add ability to use custom subclasses of jinja2.compiler.CodeGenerator and
jinja2.runtime.Context by adding two new attributes to the environment
(code_generator_class and context_class) (pull request #404).
* added support for context/environment/evalctx decorator functions on the
finalize callback of the environment.
* escape query strings for urlencode properly. Previously slashes were not
escaped in that place.
* Add ‘base’ parameter to ‘int’ filter.
This has a few implications:
- Checking for empty/none_ok is now easier as _basic_validation() does this.
- To make things easier, WebKitBytes and WebKitBytesList now need to have
none_ok passed as well instead of assuming True.
- _basic_validation() checks for unprintable chars and raises ValidationError
if they occur, so this gets checked for all types.
Upstream changelog:
New Features
* Added support for more flexible error selections using --ignore, --select,
--convention, --add-ignore and --add-select (#96, #123).
Bug Fixes
* Property setter and deleter methods are now treated as private and do not
require docstrings separate from the main property method (#69, #107).
* Fixed an issue where pep257 did not accept docstrings that are both
unicode and raw in Python 2.x (#116, #119).
* Fixed an issue where Python 3.x files with Unicode encodings were
not read correctly (#118).