Changelog
=========

This document describes changes between each past release. For information
about future releases, check `milestones`_ and :doc:`/about/vision`.


0.6 (2014-04-13)
----------------

Moved some parts of diecutter to external projects: core in piecutter, demo in
template index and standalone template repositories.

- Moved generic bits of diecutter's core to third-party project 'piecutter'.

- Bug #100 - Files in tar.gz archives have a valid modification time (was
  epoch).

- Feature #97 - Refactored diecutter's demo index, so that it references
  templates from external repositories.

- Render archive filename using filename_engine.

- Added example configuration for cookiecutter and github.

- Improved contributor guide.

- Using tox to run tests. Development environment no longer uses zc.buildout.


0.5 (2013-07-19)
----------------

Proof of concept implementation of remote template loader and Django template
engine.

- Features #27 and #28 - Experimental support of remote templates, where
  templates are hosted in Github public repositories.
  The github service is published at http://diecutter.io/github. It accepts
  URLs like
  http://diecutter.io/github/<owner>/<project>/<revision>/<path/to/template/resource>

- Features #57 and #29 - Public online SAAS at http://diecutter.io

- Feature #66 - Introduced support of Django template engine. You can choose
  the (unique) template engine with ``diecutter.template_engine`` configuration
  directive. Default value is ``piecutter.engines.jinja:Jinja2Engine``.

- Bug #60 - PyPI renders README as HTML (was plain text).

- Bug #65 - Contributor guide mentions dependency to virtualenv (was missing).

- Refactoring #68 - Code follows strict PEP8. Using flake8 in tests.


0.4 (2013-07-17)
----------------

New feature (tar.gz archives) and marketing (talks).

- Feature #4 - Added support of "accept" header for POST requests on
  directories: accepted types are ZIP (``application/zip``) and TAR.GZ
  (``application/gzip``).

- Feature #53 - GZIP is now the default archive format when rendering
  directories. Use "diecutter.default_archive_type = application/zip" in
  configuration file if you need ZIP format as a default.

- Refactoring #55 - Dropped support of Python 2.6. Tests are run against Python
  2.7 only.

- Refactoring #20 - Render functions return generator ; moved response
  composition (file/archive) into views via writers.

- Feature #46 - Added content of talks in documentation: AFPY event and
  EuroPython 2013.

- Feature #58 - Highlighted roadmap and vision in README.

See also `milestone 0.4 on bugtracker`_.


0.3 (2013-04-16)
----------------

New features, documentation, bugfixes.

- Bug #44 - Accepted arrays in URL-encoded POST.

- Bug #40 - Setup CORS to allow AJAX requests on diecutter's API.

- Refactoring #37 - Used Jinja's environment.

- Bug #34 - Frozen buildout configuration file for development environment.

- Features #31 and #43 - Published diecutter's demo online. Online API URL
  changed.

- Feature #24 - Added Sphinx documentation template in diecutter's demo.

- Feature #23 - Added diecutter's Sphinx documentation.

- Feature #10 - Added dynamic tree template.

See also `milestone 0.3 on bugtracker`_.


0.2 (2013-02-22)
----------------

Maintenance release, implementation refactoring, tests.

- Refactoring #22 - Added tests.

- Bug #17 - Sort directories alphabetically.

- Bug #13 - Fixed "diecutter.readonly" which was always ``True``.

See also `milestone 0.2 on bugtracker`_.


0.1 (2013-01-29)
----------------

Initial release.

- Bug #11 - On POST requests, handle empty content-type as
  "application/x-www-form-urlencoded".

- Feature #8 - Support INI files as input for POST requests.

- Feature #3 - Use a configuration file outside diecutter's code.

- Feature #2 - If "readonly" option is ``True``, forbid PUT requests.

- Feature #1 - Pass a "diecutter" context variable to templates, containing
  data such as "diecutter.api_url", "diecutter.version" and "diecutter.now".

- Feature - Diecutter service renders directories as ZIP archives.

- Feature - Diecutter service renders files.

See also `milestone 0.1 on bugtracker`_.


.. rubric:: Notes & references

.. target-notes::

.. _`milestones`: https://github.com/diecutter/diecutter/issues/milestones
.. _`milestone 0.4 on bugtracker`:
   https://github.com/diecutter/diecutter/issues?milestone=7&state=closed
.. _`milestone 0.3 on bugtracker`:
   https://github.com/diecutter/diecutter/issues?milestone=6&state=closed
.. _`milestone 0.2 on bugtracker`:
   https://github.com/diecutter/diecutter/issues?milestone=2&state=closed
.. _`milestone 0.1 on bugtracker`:
   https://github.com/diecutter/diecutter/issues?milestone=1&state=closed
