Cookiecutter Versions Save

A cross-platform command-line utility that creates projects from cookiecutters (project templates), e.g. Python package projects, C projects.

2.6.0

2 months ago

Changes

Minor Changes

  • Support Python 3.12 (#1989) @ericof
  • fix: modifying start and end variable strings (#1997) @sacha-c

CI/CD and QA changes

  • Add isort as a pre-commit hook (#1988) @kurtmckee
  • Bump actions/setup-python from 4 to 5 (#2000) @dependabot
  • Bump actions/upload-artifact from 3 to 4 (#1999) @dependabot
  • Quick resolution of #2003 (#2004) @jensens
  • Support Python 3.12 (#1989) @ericof
  • [pre-commit.ci] pre-commit autoupdate (#1996) @pre-commit-ci

Documentation updates

  • Support Python 3.12 (#1989) @ericof

Bugfixes

  • Fix regression #2009: Adding value to nested dicts broken (#2010) @jensens
  • Fixed errors caused by invalid config files. (#1995) @alanverresen
  • Quick resolution of #2003 (#2004) @jensens

This release is made by wonderful contributors:

@alanverresen, @dependabot, @dependabot[bot], @ericof, @jensens, @kurtmckee, @pre-commit-ci, @pre-commit-ci[bot] and @sacha-c

2.5.0

5 months ago

Changes

Minor Changes

  • Default values can be passed as a dict (#1924) @matveyvarg
  • Implement new style for nested templates config (#1981) @ericof

CI/CD and QA changes

  • Bump actions/checkout from 3 to 4 (#1953) @dependabot
  • [pre-commit.ci] pre-commit autoupdate (#1977) @pre-commit-ci
  • [pre-commit.ci] pre-commit autoupdate (#1957) @pre-commit-ci

Documentation updates

  • Add argument run to pipx command in README.md (#1964) @staeff
  • Fix tutorial2 generated HTML (#1971) @aantoin
  • Implement new style for nested templates config (#1981) @ericof
  • Update README.md (#1967) @HarshRanaOC
  • Update README.md to fix broken link (#1952) @david-abn
  • Update README.md to include installation instructions (#1949) @david-abn
  • Update cookiecutter-plone-starter link in readme (#1965) @zahidkizmaz

Bugfixes

  • Fix FileExistsError when using a relative template path (#1968) @pkrueger-cariad
  • Fix recursive context overwrites (#1961) @padraic-padraic

This release is made by wonderful contributors:

@HarshRanaOC, @aantoin, @david-abn, @dependabot, @dependabot[bot], @ericof, @matveyvarg, @padraic-padraic, @pkrueger-cariad, @pre-commit-ci, @pre-commit-ci[bot], @staeff and @zahidkizmaz

2.4.0

7 months ago

Changes

Minor Changes

  • Gracefully handle files with mixed lined endings (#1942) @EricHripko
  • Implement a pre_prompt hook that will run before prompts (#1950) @ericof

Documentation updates

  • Implement a pre_prompt hook that will run before prompts (#1950) @ericof
  • update main docstrings to include overwrite_if_exists and skip_if_file_exists (#1947) @david-abn

This release is made by wonderful contributors:

@EricHripko, @david-abn and @ericof

2.3.1

7 months ago

Changes

Minor Changes

  • add checkout details to the context (fixes #1759) (#1923) @JonZeolla

CI/CD and QA changes

  • Update the black pre-commit hook URL and version (#1934) @kurtmckee
  • Use UTF-8 for file reading/writing (#1937) @rmartin16

Documentation updates

  • Add missing "parent dir" symbol in tutorial 2 (#1932) @tvoirand
  • Remove colons from exemplary prompt messages (#1912) @paduszyk
  • docs: add install instruction for Void Linux (#1917) @tranzystorek-io

Bugfixes

  • Fix nested templates in Git repository (#1922) @BTatlock
  • Fix prompt counter. (#1940) @ericof
  • Fix variables with null default not being required (#1919) (#1920) @limtis0

This release is made by wonderful contributors:

@BTatlock, @JonZeolla, @ericof, @kurtmckee, @limtis0, @paduszyk, @rmartin16, @tranzystorek-io and @tvoirand

2.3.0

9 months ago

Changes

Minor Changes

  • Improve style of prompts using rich (#1901) @vemonet

CI/CD and QA changes

  • Bump paambaati/codeclimate-action from 4.0.0 to 5.0.0 (#1908) @dependabot
  • [pre-commit.ci] pre-commit autoupdate (#1907) @pre-commit-ci

Bugfixes

  • Fix replay (#1904) @vemonet
  • Support multichoice overwrite (#1903) @Meepit

This release is made by wonderful contributors:

@Meepit, @dependabot, @dependabot[bot], @ericof, @pre-commit-ci, @pre-commit-ci[bot] and @vemonet

2.2.3

9 months ago

Changes

Minor Changes

  • Add support for adding human-readable labels for choices when defining multiple choices questions (#1898) @vemonet
  • Prompt with replay file (#1758) @w1ndblow

CI/CD and QA changes

  • Set cookiecutter/VERSION.txt as source of truth for version number (#1896) @ericof
  • [pre-commit.ci] pre-commit autoupdate (#1897) @pre-commit-ci

Bugfixes

  • Fix issue where the prompts dict was not passed for yes_no questions (#1895) @vemonet
  • Set cookiecutter/VERSION.txt as source of truth for version number (#1896) @ericof

This release is made by wonderful contributors:

@ericof, @pre-commit-ci, @pre-commit-ci[bot], @vemonet and @w1ndblow

2.2.2

9 months ago

Changes

CI/CD and QA changes

  • Improve gitignore (#1889) @audreyfeldroy

Documentation updates

  • docs: add warning for jinja2_time (#1890) @henryiii

This release is made by wonderful contributors:

@audreyfeldroy, @ericof and @henryiii

2.2.1

9 months ago

Changes

  • Added timeout on request.get() for ensuring that if a recipient serve… (#1772) @openrefactory
  • Fixing Carriage Return Line Feed (CRLF) order in docs #1792 (#1793) @Lahiry
  • Reduce I/O (#1877) @kurtmckee
  • Remove a pre-commit hook special case (#1875) @kurtmckee
  • Remove universal bdist_wheel option; use "python -m build" (#1739) @mwtoews
  • Remove unused import from post-generate hook script example (#1795) @KAZYPinkSaurus
  • Standardize newlines for all platforms (#1870) @kurtmckee
  • feat: Add resolved template repository path as _repo_dir to the context (#1771) @tmeckel

Minor Changes

  • Added support for providing human-readable prompts to the different variables (#1881) @vemonet
  • Added: Boolean variable support in JSON (#1626) @liortct
  • Added: CLI option to keep project files on failure. (#1669) @MaciejPatro
  • Added: Support partially overwrite keys in nested dict (#1692) @cksac
  • Added: Templates inheritance (#1485) @simobasso
  • Code quality: Tests upgrade: Use pathlib for files read/write (#1718) @insspb
  • Inline jinja2-time extension code (#1779) @tranzystorek-io
  • Support Python 3.11 (#1850) @kurtmckee
  • Support nested config files (#1770) @dariocurr
  • preserves original options in _cookiecutter (#1874) @kjaymiller

CI/CD and QA changes

  • Add a Dependabot config to autoupdate GitHub workflow actions (#1851) @kurtmckee
  • Added: Readthedocs build config (#1707) @insspb
  • Bump actions/setup-python from 3 to 4 (#1854) @dependabot
  • Bump paambaati/codeclimate-action from 3.0.0 to 4.0.0 (#1853) @dependabot
  • CI/CD: Tox -> Nox: Added nox configuration (#1706) @insspb
  • CI/CD: Tox -> Nox: Github actions definition minimized + Sync nox and github actions (#1714) @insspb
  • CI/CD: Tox -> Nox: Makefile update: Removed watchmedo and sed dependency, tox replaced with nox (#1713) @insspb
  • CI/CD: Updated .pre-commit-config.yaml to use latest hooks versions (#1712) @insspb
  • Code quality: Core files: Added exception reason reraise when exception class changed (PEP 3134) (#1719) @insspb
  • Code quality: Tests upgrade: Use pathlib for files read/write (#1718) @insspb
  • Code quality: core files: Format replaced with f-strings (#1716) @insspb
  • Code quality: find.py refactored and type annotated (#1721) @insspb
  • Code quality: tests files: Simplify statements fixes (#1717) @insspb
  • Code quality: utils.make_sure_path_exists refactored and type annotated (#1722) @insspb
  • Fixed: recommonmark replaced with myst, as recommonmark is deprecated (#1709) @insspb
  • Pretty-format JSON files (#1864) @kurtmckee
  • Rename master to main so CI runs correctly on merge (#1852) @kurtmckee
  • Standardize EOF newlines (#1876) @kurtmckee
  • Update .gitignore and cite where it was copied from (#1879) @kurtmckee
  • Update base docs, remove tox (#1858) @ericof
  • Update pre-commit hook versions (#1849) @kurtmckee
  • Updated: Release drafter configuration (#1704) @insspb
  • Use tox (#1866) @kurtmckee
  • Verify an expected warning is raised (#1869) @kurtmckee
  • fixed failing lint ci action by updating repo of flake8 (#1838) @Tamronimus

Documentation updates

  • Add jinja env docs (#1872) @pamelafox
  • Documentation extension: Create a Cookiecutter From Scratch tutorial (#1592) @miro-jelaska
  • Easy PR! Fix typos and add minor doc updates (#1741) @Alex0Blackwell
  • Expand cli documentation relating to the no-input flag (#1543) (#1587) @jeremyswerdlow
  • Fix @audreyr to @audreyfeldroy github account rename (#1604) @ri0t
  • Fixed broken links to jinja docs (#1691) @insspb
  • Fixed minor typos in docs (#1753) @segunb
  • Fixed: Python code block in the replay documentation (#1715) @juhannc
  • Fixed: recommonmark replaced with myst, as recommonmark is deprecated (#1709) @insspb
  • Improve Docs Readability (#1690) @ryanrussell
  • Update base docs, remove tox (#1858) @ericof
  • Updated: Boolean Variables documentation and docstrings (#1705) @italomaia
  • docs: fix simple typo, shat -> that (#1749) @timgates42
  • fixing badge display problem (#1798) @Paulokim1

Bugfixes

  • Fixed the override not working with copy only dir #1650 (#1651) @zhongdai
  • Fixed: Removed mention of packages versions, to exclude dependabot warnings alerts (#1711) @insspb
  • cleanup files if panics during hooks - bugfix (#1760) @liortct

This release is made by wonderful contributors:

@Alex0Blackwell, @KAZYPinkSaurus, @Lahiry, @MaciejPatro, @Paulokim1, @Tamronimus, @cksac, @cookies-xor-cream, @dariocurr, @dependabot, @dependabot[bot], @ericof, @insspb, @italomaia, @jeremyswerdlow, @juhannc, @kjaymiller, @kurtmckee, @liortct, @miro-jelaska, @mwtoews, @openrefactory, @pamelafox, @ri0t, @ryanrussell, @segunb, @simobasso, @timgates42, @tmeckel, @tranzystorek-io, @vemonet and @zhongdai

2.1.1

1 year ago

Documentation updates

  • Fix local extensions documentation (#1686) @alkatar21

Bugfixes

  • Sanitize Mercurial branch information before checkout. (#1689) @ericof

This release is made by wonderful contributors:

@alkatar21, @ericof and @jensens

2.1.0

1 year ago

Preamble

This release log lists all changes from 1.7.3 to this release. It includes the log of the 2.0.x releases, which were never published on PyPI. Because of that it might look a bit blurry.

We release the current stable state of the project, knowing there are a bunch of open pull requests. Those will be reviewed by the core-committers and merged or dropped.

Future releases will happen more frequently. Stay tuned.

Fetch fresh from PyPI https://pypi.org/project/cookiecutter/2.1.0/

Changes

  • Move contributors and backers to credits section (#1599) @doobrie
  • test_generate_file_verbose_template_syntax_error fixed (#1671) @MaciejPatro
  • Removed changes related to setuptools_scm (#1629) @ozer550
  • Release 2.0.1 (#1620) @audreyfeldroy

Breaking Changes

  • Release preparation for 2.0.1rc1 (#1608) @audreyfeldroy
  • Replace poyo with pyyaml. (#1489) @dHannasch
  • Added: Path templates will be rendered when copy_without_render used (#839) @noirbizarre
  • Added: End of line detection and configuration. (#1407) @insspb
  • Remove support for python2.7 (#1386) @ssbarnea

Minor Changes

  • Documentation overhaul (#1677) @jensens
  • Feature/local extensions (#1240) @mwesterhof
  • Adopt setuptools-scm packaging (#1577) @ssbarnea
  • Log the error message when git clone fails, not just the return code (#1505) @logworthy
  • allow jinja 3.0.0 (#1548) @wouterdb
  • Added uuid extension to be able to generate uuids (#1493) @jonaswre
  • Alert user if choice is invalid (#1496) @dHannasch
  • Replace poyo with pyyaml. (#1489) @dHannasch
  • update AUTHOR lead (#1532) @HosamAlmoghraby
  • Add Python 3.9 (#1478) @gliptak
  • Added: --list-installed cli option, listing already downloaded cookiecutter packages (#1096) @chrisbrake
  • Added: Jinja2 Environment extension on files generation stage (#1419) @insspb
  • Added: --replay-file cli option, for replay file distributing (#906) @Cadair
  • Added: _output_dir to cookiecutter context (#1034) @Casyfill
  • Added: CLI option to ignore hooks (#992) @rgreinho
  • Changed: Generated projects can use multiple type hooks at same time. (sh + py) (#974) @milonimrod
  • Added: Path templates will be rendered when copy_without_render used (#839) @noirbizarre
  • Added: End of line detection and configuration. (#1407) @insspb
  • Making code python 3 only: Remove python2 u' sign, fix some strings (#1402) @insspb
  • py3: remove futures, six and encoding (#1401) @insspb
  • Render variables starting with an underscore. (#1339) @smoothml
  • Tests refactoring: test_utils write issues fixed #1405 (#1406) @insspb

CI/CD and QA changes

  • Check manifest: pre-commit, fixes, cleaning (#1683) @jensens
  • Follow PyPA guide to release package using GitHub Actions. (#1682) @ericof
  • enable branch coverage (#1542) @simobasso
  • Make release-drafter diff only between master releases (#1568) @SharpEdgeMarshall
  • ensure filesystem isolation during tests execution (#1564) @simobasso
  • add safety ci step (#1560) @simobasso
  • pre-commit: add bandit hook (#1559) @simobasso
  • Replace tmpdir in favour of tmp_path (#1545) @SharpEdgeMarshall
  • Fix linting in CI (#1546) @SharpEdgeMarshall
  • Coverage 100% (#1526) @SharpEdgeMarshall
  • Run coverage with matrix (#1521) @SharpEdgeMarshall
  • Lint rst files (#1443) @ssbarnea
  • Python3: Changed io.open to build-in open (PEP3116) (#1408) @insspb
  • Making code python 3 only: Remove python2 u' sign, fix some strings (#1402) @insspb
  • py3: remove futures, six and encoding (#1401) @insspb
  • Removed: Bumpversion, setup.py arguments. (#1404) @insspb
  • Tests refactoring: test_utils write issues fixed #1405 (#1406) @insspb
  • Added: Automatic PyPI deploy on tag creation (#1400) @insspb
  • Changed: Restored coverage reporter (#1399) @insspb

Documentation updates

  • Fix typo in dict_variables.rst (#1680) @ericof
  • Documentation overhaul (#1677) @jensens
  • Fixed incorrect link on docs. (#1649) @luzfcb
  • Fix pull requests checklist reference (#1537) @glumia
  • Fix author name (#1544) @HosamAlmoghraby
  • Add missing contributors (#1535) @glumia
  • Update CONTRIBUTING.md (#1529) @glumia
  • Update LICENSE (#1519) @simobasso
  • docs: rewrite the conditional files / directories example description. (#1437) @lyz-code
  • Fix incorrect years in release history (#1473) @graue70
  • Add slugify in the default extensions list (#1470) @oncleben31
  • Renamed cookiecutter.package to API (#1442) @cxnstantius
  • Fixed wording detail (#1427) @steltenpower
  • Changed: CLI Commands documentation engine (#1418) @insspb
  • Added: Example for conditional files / directories in hooks (#1397) @xyb
  • Changed: README.md PyPI URLs changed to the modern PyPI last version (#1391) @brettcannon
  • Fixed: Comma in README.md (#1390) @Cy-dev-tex
  • Fixed: Replaced no longer maintained pipsi by pipx (#1395) @ndclt

Bugfixes

  • Restore accidentally deleted support for click 8.x (#1643) @jaklan
  • Fix Python version number in cookiecutter --version and test on Python 3.10 (#1621) @ozer550
  • Add support for click 8.x (#1569) @cjolowicz
  • Force click<8.0.0 (#1562) @SharpEdgeMarshall
  • Remove direct dependency on markupsafe (#1549) @ssbarnea
  • fixes prompting private rendered dicts (#1504) @juhuebner
  • User's JSON parse error causes ugly Python exception #809 (#1468) @noone234
  • config: set default on missing default_context key (#1516) @simobasso
  • Fixed: Values encoding on Windows (#1414) @agateau
  • Fixed: Fail with gitolite repositories (#1144) @javiersanp
  • MANIFEST: Fix file name extensions (#1387) @sebix

Deprecations

  • Removed: Bumpversion, setup.py arguments. (#1404) @insspb

This release is made by wonderfull contributors:

@Cadair, @Casyfill, @Cy-dev-tex, @HosamAlmoghraby, @MaciejPatro, @SharpEdgeMarshall, @agateau, @audreyfeldroy, @brettcannon, @browniebroke, @chrisbrake, @cjolowicz, @cxnstantius, @dHannasch, @doobrie, @ericof, @gliptak, @glumia, @graue70, @insspb, @jaklan, @javiersanp, @jensens, @jonaswre, @jsoref, @juhuebner, @logworthy, @luzfcb, @lyz-code, @michaeljoseph, @milonimrod, @mwesterhof, @ndclt, @noirbizarre, @noone234, @oncleben31, @ozer550, @pydanny, @rgreinho, @sebix, @simobasso, @smoothml, @ssbarnea, @steltenpower, @wouterdb, @xyb, Christopher Wolfe and Hosam Almoghraby ( RIAG Digital )