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
TreeContainer
class toTree
, changed it to use a generic type var, and moved its definition to a separate module.Renamed
Tree
methods 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_name
argument to__init__()
, replacing it withname
andprog_is_name
.Changed the
summary()
method into thestructure
property and improved its output.Created
AbstractDT
class to facilitate abstractDecreeTree
inheritance.Removed
Decree
class from top level of package import.Changed the inheritance behavior of commands, including from abstract parent classes and manual tree association, and the
inherit
class 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-extensions
package.
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.