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.
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
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 )