This is a big release with many new features added and improved. The code base also
received a lot of love and hardening.
Features
- Minimal supported Python version is now 3.6.
- Dropped support for deprecated `voodoo.json`.
- Introduced gitignore-style patterns for `exclude` und `skip-if-exists`.
- Dropped support for `include` option.
- Added support for extending content of config files via content of other files via
`pyaml-include`.
- Customizable template extension.
- Ability to remember last answers.
- Ability to choose where to remember them.
- Template upgrades support, (based on the previous points) with migration tasks
specification.
- Extended questions format, supporting help, format, choices and secrets.
- More beautiful prompts.
- New CLI experience.
Other
- Moved to `poetry` for package management.
- Type annotated entire code base.
- Increased test coverage.
- Ditched `ruamel.yaml` for `PyYaml`.
- Ditched Travis CI for GitHub Actions.
- Added `pre-commit` for enforced linting.
- Added `prettier`, `black` and `isort` for code formatting.
- Added `pytest` for running tests.
- Use `plumbum` as CLI and subprocess engine.