v5.0.0
Breaking changes:
- bytes annotation (converter) now re-encodes the corresponding parameter back to bytes
Deprecations:
- The
convert_default
argument tovalue_converter
is now deprecated.Parameter.cli_default
is the recommended replacement. To help transition, a newconvert_default_filter
option has been added tovalue_converter
, which allows converter authors to filter which values are selected for default conversion, thereby not incurring a deprecation warning for the user.
Updated compatibility:
- Dropped support for Python 2.7, Python 3.5.
- Verified support for Python 3.10+
- Compatibility with Docutils 0.21+
- Improved path support for Windows
Improvements:
- Automatically group identical subcommands as aliases
- Evaluate deferred annotations from PEP 563
- Basic support for typing.Annotated
- Parameter.cli_default allows script writers to specify a default value that will be converted like an argument passed in from the CLI, but not supplied when the function is called from Python.
Process updates:
- Updated Continuous Integration and Delivery to speed up releases and move off of deprecated CI platform.
PR list
- Pin coverage/coveralls version by @epsy in #67
- Doc improvements, update sphinx to 4.2.0 by @epsy in #68
- Automatically group identical subcommands as aliases by @epsy in #69
- Fix readthedocs build by @epsy in #70
- Add shared CI by @epsy in #75
- drop Python 2 support, support Python 3.10 by @epsy in #76
- Add continuous deployment and clean up a few files by @epsy in #78
- Compatibility with Docutils 0.21+ by @epsy in #81
- Use evaluated annotations from sigtools by @epsy in #83
- Make more tests go through future.annotations path by @epsy in #84
- Basic support for typing.Annotated by @epsy in #85
- Add an example using typing.Annotated and test it by @epsy in #86
- Fix typos by @kianmeng in #80
- Update contributors by @epsy in #87
- BREAKING:
bytes
annotation now re-encodes the corresponding parameter back to bytes by @epsy in #89 - Remove Python 2 from docs by @epsy in #90
- Add CI on Windows and fix tests, update path handling by @epsy in #92
- Add Parameter.cli_default() to supply default values for CLI only, through converters by @epsy in #93
- Add deprecation warnings for convert_default, handle edge case by @epsy in #94
- update docs with cli_default by @epsy in #95
- Keep compatibility in default value of value_converter by @epsy in #96
- Prepare 5.0.0 release by @epsy in #97
New Contributors
Full Changelog: v4.2.1...v5.0.0