To install the latest version of cruft simply run:
pip3 install cruft
OR
poetry add cruft
OR
pipenv install cruft
- Improved #57: Improve how a project can be updated to use new values of template variables
- Implemented #57: Accept cookiecutter arguments on the command line for update
- Implemented #172: Add support for local extensions
- Uncapped version requirements (including Python) for greater compatiblity
- Fixed issue #166: Fixed compatiblity with latest version of cookiecutter
- Implemented #184: Store checkout parameter when using link command
- Improvements to update command
- Fixed issue #177: cruft update can't apply diffs when git's diff.mnemonicprefix config is set
- Fixed issue #168: Add support for typer v0.6+
- Fixed issue #162: Add support for cookiecutter v2
- Fixed issue #152: Upgrade version of importlib-metadata
- Fixed missing dependency on importlib-metadata
- Fixed issue #41: Add windows support
- Fixed issue #112: Add support for generating the project with always skipped files on update
- Fixed issue #123: Feature request: Faster implementation for cruft check
- Fixed issue #124: cruft 2.9.0 on Pypi requires click <= 8.0.0
- Fixed issue #131: Feature request: support binary files patching
- Fixed issue #64: Feature request: support globs for skipped files
- Fixed issue #101: Update error if symlink is present in project
- Fixed issue #81: cruft update leads to UnicodeDecodeError
- Fixed issue #115: Warn when pyproject.toml exists but cannot be read
- Fixed issue #68: Add support for cruft create/update in a sub directory in an existing repository
- Fixed issue #91: Support Updating When Repo has Untracked Files
- Fixed issue #76: diff.noprefix=yes breaks tests
- Fixed issue #92: Store checkout value in cruft state
- Fixed issue #82: error: git diff header lacks filename information when removing 1 leading pathname component
- Fixed issue #53: Update fails on moved files, without clear error messages
- Fixed issue #67: Update fails on new files
- Fixed issue #71: Fix the order for cruft diff
- Fixed issue #58: Add a diff command that compares the current project to the upstream cookiecutter
- Fixed issue #52: Clarify error message when specified commit is missing from repo
- Fixed issue #55: Add support for ssh connections to template repository
- Fixed issue #56: Improve error message when providing incorrect credentials
- Fixed issue #46: Cruft update fails to apply without providing conflits to resolve manually
- Fixed issue #44: Cruft update can drop changes
- Fixed issue #42: Cruft check fails if the current version of the project is ahead of the cookiecutter
- Implemented #31: Moved from hug -> typer and refactored Python API.
- Implemented #39: Simplify internals by fully droping Windows support beyond WSL.
- Fixed issue #7: Incorrect CLI help documentation.
- Fixed issue #23: Relative paths not supported.
- Fixed issue #21: Improve messaging when diff is empty.
- Implemented #15: Allow piping diff to an external utility.
- Implemented #33: When possible, use git apply instead of
patch
.
- Fixed issue #8: Fall back to no-backup if patch doesn't support --merge.
- Fixed issue #11: Config file flag --config_file broken.
- Implemented #24: Allow
cruft update
to specify a branch of the cookiecutter repo. - Implemented #10: Provide a mechanism to choose template version.
Internal:
- Refactored
api
module into a collection of smaller better scoped modules.
- Fixed issue #26: Support for Directory as there are multiple templates in single repo
- Fixed issue #18 & #13: Commands fail with OSError randomly on windows
- Fixed Issue #3: Patch failed to apply.
- Updated to use pathlib.
- Improved
pyproject.toml
skip_files, avoiding duplication into.cruft.json
file.
- Added optional support for reading skip options from
pyproject.toml
.
- Added
link
command to link existing repositories to the Cookiecutter template that created them. - Added
skip
option to.cruft.json
file allowing template updates to be skipped per a repository. - Improved patch applying from template updates.
- Added an interactive option on the
update
command to skip an individual update, while marking a repository as up-to-date.
- Initial API stable release.