All Versions
28
Latest Version
Avg Release Cycle
50 days
Latest Release
448 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v6.2.0 Changes
September 18, 2022Feat
- add validator field to Question (#719)
- ๐ support passing github or gitlab urls without the .git suffix (#677)
๐ Fix
- compatibility with pydantic 1.10
- ๐ git bundle support breaks with relative paths
- prevent name collision for question var name "value"
๐จ Refactor
- ๐ add "flake8-simplify" plugin and simplify code
-
v6.1.0 Changes
June 13, 2022Feat
- support getting template commit hash with
{{ _copier_conf.vcs_ref_hash }}
- simplify the format of the question prompt (#689)
๐ Fix
- ignore non-PEP-440-compliant tags (#676)
- support getting template commit hash with
-
v6.0.0 Changes
May 15, 2022All changes here. Summary:
โ Added
- Allow using additional Jinja 2 extensions.
- โ Major version mismatch warning. If your Copier version is too new, you'll be warned.
- Specific exceptions, which will help on error detection for API usages.
- Multiline questions.
- Conditional questions.
- Placeholders.
- Interactive TUI for questionaries. Prompts are way cooler now. ๐
- ๐ Python 3.9 support.
- ๐ Python 3.10 support.
- ๐ Support empty templates suffix, telling Copier to render every file.
- 0๏ธโฃ Added
--defaults
flag to use default answers to questions, which might be null if not specified. - Added
--overwrite
flag to overwrite files that already exist, without asking. - In migration scripts, we have the new environment variables
$VERSION_PEP440_FROM
,$VERSION_PEP440_CURRENT
and$VERSION_PEP440_TO
, which will always get a valid PEP440 version identifier, without thev
prefix, allowing your migration scripts to have a valid standard where to base their logic. - Raise a CopierAnswersInterrupt instead of a bare KeyboardInterrupt to provide callers with additional context - such as the partially completed AnswersMap.
- 0๏ธโฃ Support for
user_defaults
, which take precedence over template defaults. - 0๏ธโฃ Copy dirty changes from a git-tracked template to the project by default, to make testing easier.
- โก๏ธ Advertise clearly which version is being copied or updated in the CLI.
- Add jinja variable
_copier_python
to provide pythonsys.executable
.
๐ Changed
- ๐จ Fully refactored core.
- Running
copier copy
on a preexisting project now recopies the project instead of updating it. That means that it respects old answers, but ignores history diff. - 0๏ธโฃ We use Jinja 2 defaults now.
{{ }}
instead of[[ ]]
and similar. - 0๏ธโฃ We keep trailing newlines by default for Jinja 2 templates.
- Copier will never ask for overwriting the answers file.
- Multi-typed choices follow the same type-casting logic as any other question, so
it's easier to reason about them. However, if you were using this feature, you might
be surprised about its side effects if you don't specify the type explicitly. Just
add
type: yaml
to make it behave mostly as before. Or just don't use that, it's complicated anyway (warn added to docs). - 0๏ธโฃ Changed
--force
to be the same as--defaults --overwrite
. - Copied files will reflect permissions on the same files in the template.
- ๐ฏ Copier now uses
git clone --filter=blob:none
when cloning, to be faster. - ๐ฅ๏ธ Removing files from templates will remove them too from the subprojects when they get updated.
๐ Deprecated
- ๐ Deprecated
now
andmake_secret
functions. If your template used those, Copier will emit warnings leading you on how to upgrade it. - Templates marked with
_min_copier_version
below 6 will still default to use bracket-based Jinja defaults, but that will disappear soon. If you want your template to work on Copier 5 and 6, make sure to declare_envops
explicitly in yourcopier.yaml
. - โก๏ธ
copier.copy()
is confusing, now that actually copying and updating are 2 completely different actions (before, you were actually always updating if possible). Its direct equivalent is nowcopier.run_auto()
, andcopier.copy()
will disappear in the future.
โ Removed
- ๐ Minimal supported Python version is now 3.7 (dropped Python 3.6 support).
- Removed the
json
method on_copier_conf
. Where you would previously use_copier_conf.json()
in your templates, please now use_copier_conf|to_json
instead. -
--subdirectory
flag, which was confusing... and probably useless. - Lots of dead code.
๐ Fixed
- A directory that gets an empty name works as expected: not copied (nor its contents).
- โก๏ธ When comparing versions to update, PEP 440 is always used now. This way, we avoid fake ordering when git commit descriptions happen to be ordered in a non-predictable way.
- Answers file will only remember answers to questions specified in the questionary.
-
v6.0.0.a5 Changes
October 23, 2020๐ Changes since last alpha:
- ๐ Fix problem with interactive choice questions not displaying properly the old value on updates.
-
v6.0.0.a4 Changes
October 16, 2020๐ Changes since last alpha:
- ๐ Fix missing pygments dependency.
-
v6.0.0.a3 Changes
October 16, 2020๐ Changes since last alpha:
- โก๏ธ Update questionary dependency.
- Beautier prompt for multiline questions.
- Custom lexers for JSON/YAML questions.
-
v6.0.0.a2 Changes
October 14, 2020๐ Changes since last alpha:
- โ Remove custom lexers for JSON and YAML inputs, temporarily until tmbo/questionary#70 is fixed.
-
v6.0.0.a1 Changes
October 12, 2020Relevant changes since last alpha:
- Multiline questions.
- Conditional questions.
- Placeholders.
All of this thanks to using a new user prompting framework.
-
v6.0.0.a0 Changes
September 18, 2020๐ Main changes. They are not so big, but are backwards-incompatible enough to justify a major release:
- โ Remove
make
and usepoe
as task manager. - ๐ Docs and workflow improvements.
- โ Remove
--update-diff
CLI flag. It is established by either runningcopier copy
orcopier update
. - Do not delete destination folder if it wasn't created by copier.
- ๐ Allow multidoc includes in
copier.yml
, making!include
actually useful for something. --exclude
extends excludes from the template instead of replacing them.
- โ Remove
-
v5.1.0 Changes
August 17, 2020All changes here. Summary:
- โฌ๏ธ Forbid downgrades.
- ๐ Print all logs to STDERR.