- Support for Python 3.14
- color support for
--helpand error messages (requires Python >= 3.14) - Improvement of
Fielddisplay - a bit of heavy-handed disabling of Pydantic warnings.
- Drop support for python > 3.10
- CI fixes for explicitly testing for 3.10, 3.11, 3.12
- Backwards incompatible change. Use
Cmdmodel. - Remove "sp" specific functions. No longer necessary because of Cmd interface.
- To migrate forward, inherit from
Cmdand put your "main" function asCmd.runmethod. Cmd.run()should return None (on success) or raise an exception on error.
(Not published)
- Support for Pydantic >= 2.8
- Pydantic 2 has a different "optional" definition
- Use
CliConfiginstead ofDefaultConfig - Many backward incompatible changes to how
boolare used. Use Pydantic bool casting (e.g.,--dry-run y, or--dry-run true). - There's
mypyrelated issues withField( ......, cli=('-x', '--filter')). I don't think pydantic should remove the currentextrafunctionality.
- Leverage Pydantic validation for enum choices, enabling more complex use-cases
- Backward incompatible change for semantics of boolean options
Fieldshould be used instead of Config.CLI_EXTRA_OPTIONS
- Improve support for simple
Enums.
- Add support for
ListandSetfields by Marius van Niekerk
- Add support for emitting autocomplete in bash/zsh using shtab
- Enable setting the default JSON config file via
PCLI_JSON_CONFIGenv var
- backwards in compatible changes with default behavior (e.g., generated flags) of boolean options and custom configuration of boolean options.
- Internals now leverage
mypyand can catch more Type related errors