Back to Cookiecutter

0.7.0

CHANGELOG/0.7.0.md

2.7.12.8 KB
Original Source

This is a release with significant improvements and changes. Please read through this list before you upgrade.

New features:

  • Support for --checkout argument, thanks to @foobacca.
  • Support for pre-generate and post-generate hooks, thanks to @raphigaziano. Hooks are Python or shell scripts that run before and/or after your project is generated.
  • Support for absolute paths to cookiecutters, thanks to @krallin.
  • Support for Mercurial version control system, thanks to @pokoli.
  • When a cookiecutter contains invalid Jinja2 syntax, you get a better message that shows the location of the TemplateSyntaxError. Thanks to @benjixx.
  • Can now prompt the user to enter values during generation from a local cookiecutter, thanks to @ThomasChiroux. This is now always the default behavior. Prompts can also be suppressed with --no-input.
  • Your cloned cookiecutters are stored by default in your ~/.cookiecutters/ directory (or Windows equivalent). The location is configurable. (This is a major change from the pre-0.7.0 behavior, where cloned cookiecutters were deleted at the end of project generation.) Thanks @raphigaziano.
  • User config in a ~/.cookiecutterrc file, thanks to @raphigaziano. Configurable settings are cookiecutters_dir and default_context.
  • File permissions are now preserved during project generation, thanks to @benjixx.

Bug fixes:

  • Unicode issues with prompts and answers are fixed, thanks to @s-m-i-t-a.
  • The test suite now runs on Windows, which was a major effort. Thanks to @pydanny, who collaborated on this with me.

Other changes:

  • Quite a bit of refactoring and API changes.
  • Lots of documentation improvements. Thanks @sloria, @alex, @pydanny, @freakboy3742, @es128, @rolo.
  • Better naming and organization of test suite.
  • A CookiecutterCleanSystemTestCase to use for unit tests affected by the user's config and cookiecutters directory.
  • Improvements to the project's Makefile.
  • Improvements to tests. Thanks @gperetin, @s-m-i-t-a.
  • Removal of subprocess32 dependency. Now using non-context manager version of subprocess.Popen for Python 2 compatibility.
  • Removal of cookiecutter's cleanup module.
  • A bit of setup.py cleanup, thanks to @oubiga.
  • Now depends on binaryornot 0.2.0.