Changelog#
This document catalogs the changes to decree-tree.
Versions#
Some versions have been released, others not.
Unreleased#
In progress…
v0.2.0#
This release includes several substantial refactorings and enhancements, including but not limited to:
Renamed
TreeContainerclass toTree, changed it to use a generic type var, and moved its definition to a separate module.Renamed
Treemethods to consistently refer to the parent or child, retaining helper methodsadd()andget()inDecreeTree.Clarified that
add_arguments()modifies its parser argument, not directly a class or instance variable.Ensured that
run()can be executed from non-root commands in the assembled tree.Improved arguments to
__init__(), along with creating__str__()and__repr__()methods. This removes theprog_or_nameargument to__init__(), replacing it withnameandprog_is_name.Changed the
summary()method into thestructureproperty and improved its output.Created
AbstractDTclass to facilitate abstractDecreeTreeinheritance.Removed
Decreeclass from top level of package import.Changed the inheritance behavior of commands, including from abstract parent classes and manual tree association, and the
inheritclass argument.Enhanced customization of parsers with
Decree.parser_options()andDecreeTree.subparsers_options()Improved typing throughout the package, with a goal of clear documentation and IDE hinting.
Greatly expanded the test suite, reaching greater than 90% coverage.
Created extensive documentation, including embedded tests.
Started use of GitLab CI for testing and package building.
Lowered the minimum version required for the
typing-extensionspackage.
This version was manually pushed to PyPI and the documentation site, as the CI pipeline was still under development.
v0.1.0#
The first working version of the tool. Still in a developmental state, this version was not released as a package.
v0.0.0#
The initial commit, tagged for posterity.