2.0 (2014-04-21)
================

- Claim Python 3.4 support
  [mmerickel]

- #75: Fix the missing piece of relative template loading by allowing a
  template to inherit from a template relative to itself, instead of
  forcing the parent to be on the search path.
  [mmerickel]

- #73: Added a new ``config.add_jinja2_renderer`` API that can create and
  override multiple Jinja2 renderers, each loaded using potentially different
  settings and extensions.

  The other APIs are now keyed on the renderer extension, as each extension
  may have different settings. Thus ``config.add_jinja2_search_path``,
  ``config.add_jinja2_extension``, and ``config.get_jinja2_environment``
  accept a ``name`` argument, which defaults to ``.jinja2``.

  This deprecates the old ``pyramid_jinja2.renderer_factory`` mechanism
  for adding renderers with alternate extensions.

  Configuration of the renderers has been updated to follow Pyramid's
  standard mechanisms for conflict detection. This means that if two modules
  both try to add a renderer for the ``.jinja2`` extension, they may raise a
  conflict or the modifications made by the invocation closest to the
  ``Configurator`` in the call-stack will win. This behavior can be affected
  by calling ``config.commit`` at appropriate times to force a configuration
  to take effect immediately. As such, configuration is deferred until
  commit-time, meaning that it is now possible
  ``config.get_jinja2_environment`` will return ``None`` because the changes
  have not yet been committed.
  [mmerickel]


1.10 (2014-01-11)
=================

- #77: Change semantics of ``jinja2.bytecode_caching`` setting.  The new
  default is false (no bytecode caching) — ``bytecode_caching`` must
  explicitly be set to true to enable a filesystem bytecode cache.
  In addition, an atexit callback to clean the cache is no longer
  registered (as this seemed to defeat most of the purpose of having
  a bytecode cache.)  Finally, a more complex bytecode cache may be
  configured by setting ``jinja2.bytecode_caching`` directly to a
  ``jinja2.BytecodeCache`` instance.  (This can not be done in a
  paste .ini file, it must be done programatically.)
  [dairiki]

- prevent error when using `python setup.py bdist_wheel`
  [msabramo]


1.9 (2013-11-08)
================

- fix indentation level for Jinja2ProjectTemplate in scaffolds/__init__.py
  [Bruno Binet]

- Remove unnecessary dependency on ``pyramid.interfaces.ITemplateRenderer``
  which was deprecated in Pyramid 1.5.
  [mmerickel]

- #68: Added `model_path_filter`, `route_path_filter` and `static_path_filter` filters
  [Remco]

- #74: Fixed issue with route being converted as_const by jinja2 engine when using btyecode cache
  [Remco]


1.8 (2013-10-03)
================

- #70: Do not pin for py3.2 compatibility unless running under py3.2
  [dairiki]


1.7 (2013-08-07)
================

- #56: python3.3: Non-ASCII characters in changelog breaks pip installation
  [Domen Kožar]

- #57: Remove useless warning: `DeprecationWarning: reload_templates setting
  is deprecated, use pyramid.reload_templates instead.`
  [Marc Abramowitz]


1.6 (2013-01-23)
================

- Set `jinja2.i18n.domain` default to the package name
  of the pyramid application.
  [Domen Kožar]

- Add `jinja2.globals` setting to add global objects into 
  the template context
  [Eugene Fominykh]

- Add `jinja2.newstyle` setting to enable newstyle gettext calls
  [Thomas Schüßler]

1.5 (2012-11-24)
================

- Add `pyramid.reload_templates` to set `jinja2.auto_reload` instead of
  using `reload_templates`. Deprecate the latter.
  [Domen Kožar]

- Clear bytecode cache on atexit
  [Domen Kožar]

- Add support for more Jinja2 options. Note support for jinja2.autoescape is
  limited to boolean only.

  * jinja2.block_start_string
  * jinja2.block_end_string
  * jinja2.variable_start_string
  * jinja2.variable_end_string
  * jinja2.comment_start_string
  * jinja2.comment_end_string
  * jinja2.line_statement_prefix
  * jinja2.line_comment_prefix
  * jinja2.trim_blocks
  * jinja2.newline_sequence
  * jinja2.optimized
  * jinja2.cache_size
  * jinja2.autoescape

  [Michael Ryabushkin]

1.4.2 (2012-10-17)
==================

- Add `jinja2.undefined` setting to change handling of undefined types.
  [Robert Buchholz]

- Remove redundant decoding error handling
  [Domen Kožar]

- Configure bytecode caching by default. Introduce `jinja2.bytecode_caching`
  and `jinja2.bytecode_caching_directory` settings.
  [Domen Kožar]

- Allow to add custom Jinja2 tests in `jinja2.tests` setting.
  [Sebastian Kalinowski]

1.4.1 (2012-09-12)
==================

- Fix brown-bag release
  [Domen Kožar]


1.4 (2012-09-12)
================

- Correctly resolve relative search paths passed to ``add_jinja2_search_path``
  and ``jinja2.directories``
  [Domen Kožar]

- #34: Don't recreate ``jinja2.Environment`` for ``add_jinja2_extension``
  [Domen Kožar]

- Drop Python 2.5 compatibility
  [Domen Kožar]

- Addition of ``static_url`` filter.

- Add ``dev`` and ``docs`` setup.py aliases (ala Pyramid).

- Changed template loading relative to package calling the renderer so
  it works like the Chameleon template loader.

1.3 (2011-12-14)
================

- Make scaffolding compatible with Pyramid 1.3a2+.

1.2 (2011-09-27)
================

- Make tests pass on Pyramid 1.2dev.

- Make compatible with Python 3.2 (requires Pyramid 1.3dev+).

1.1 (2011-07-24)
================

- Add ``get_jinja2_environment`` directive.

- Add all configurator directives to documentation.

1.0 (2011-05-12)
================

- Message domain can now be specified with *jinja2.i18n.domain* for i18n

- Paster template now sets up starter locale pot/po/mo files

- pyramid_jinja2 now depends on Jinja2 >= 2.5.0 due to
  ``jinja2.Environment.install_gettext_callables`` use
  https://github.com/Pylons/pyramid_jinja2/pull/21

- Added demo app just to visualize i18n work

0.6.2 (2011-04-06)
==================

- ``jinja2.ext.i18n`` is now added by default, see ``i18n.rst``
  for details

- Added ``add_jinja2_extension`` directive to the Configurator

- Updated jinja2.extensions parsing mechanism

- Fixed docs to indicate using asset: prefix is no longer necessary

0.6.1 (2011-03-03)
==================

- Asset-based loading now takes precedance and does not require
  "asset:" prefix

- Fixed the "current" package mechanism of asset: loading so that
  it more accurately finds the current package

- Dependency on ``pyramid_zcml`` removed.

0.6 (2011-02-15)
================

- Documentation overhauled.

- Templates can now be looked up by asset spec completely bypassing
  the search path by specifying a prefix of ``asset:``.

- Updated paster template to more closely relate to changes made
  to paster templmates in Pyramid core.

- Add new directive ``add_jinja2_search_path`` to the configurator
  when ``includeme`` is used.

0.5 (2011-01-18)
================

- Add ``includeme`` function (meant to be used via ``config.include``).

- Fix documentation bug related to ``paster create`` reported at
  https://github.com/Pylons/pyramid_jinja2/issues#issue/12

- Depend upon Pyramid 1.0a10 + (to make ZCML work).

0.4 (2010-12-16)
================

Paster Template
---------------

- Changes to normalize with default templates shipping with Pyramid core:
  remove calls to ``config.begin()`` and ``config.end()`` from
  ``__init__.main``, entry point name changed to ``main``, entry
  ``__init__.py`` function name changed to ``main``, depend on WebError, use
  ``paster_plugins`` argument to setup function in setup.py, depend on
  Pyramid 1.0a6+ (use ``config`` rather than ``configurator``).

Tests
-----

- Use ``testing.setUp`` and ``testing.tearDown`` rather than constructing a
  Configurator (better fwd compat).

Features
--------

- Add ``model_url`` and ``route_url`` filter implementations (and
  documented).

Documentation
-------------

- Use Makefile which pulls in Pylons theme automagically.

0.3 (2010-11-26)
================

- Add ``jinja2.filters`` and ``jinja2.extensions`` settings (thanks to
  aodag).

- Document all known settings.

0.2 (2010-11-06)
================

- Template autoreloading did not function, even if ``reload_templates`` was
  set to ``True``.

0.1 (2010-11-05)
================

- First release.  *Not* backwards compatible with ``repoze.bfg.jinja2``: we
  use a filesystem loader (the directories to load from come from the
  ``jinja2.directories`` setting).  No attention is paid to the current
  package when resolving a renderer= line.
