v0.8.0
v0.8.0 updates the requirements for Dactyl, fixes some bugs, and adds some small features.
Updated Dependencies
- Python v3.5 or higher is now required.
- Changes to ruamel.yaml from from PyYAML since PyYAML is not much maintained.
- Updates to the latest versions of other packages.
Breaking Changes:
- Dactyl now raises an error when it reads a YAML config file with any duplicate keys. You can use
--bypass_errors
to skip past these errors and use the first instance of each key only. (Previously, Dactyl used only the last instance of any duplicate keys.) - YAML Config files are now loaded in "safe" mode.
New and updated features:
- Adds the option to use "strict" undefined fields in templates or the preprocessor. This raises an error if you refer to a field that's undefined. (By default, Dactyl ignores keys that are not defined in both preprocessor and template syntax.)
Use--template_strict_undefined
on the commandline ortemplate_allow_undefined = false
in the config file to enable strict undefined for templates. Use--pp_strict_undefined
on the commandline orpreprocessor_allow_undefined = false
in the config file to enable strict undefined for the preprocessor. - Adds two new custom tests to the templating syntax:
defined_and_equalto
andundefined_or_ne
. These tests combine existing Jinja tests for to make it easier to useselectattr()
on thepages
array when using strict undefined is enabled.
Bug Fixes:
- Fixes namespace overlapping when loading more than one custom filter at a time. This previously could cause some custom filters' effects to run twice or not at all.
- Duplicate keys in YAML files are no longer ignored.