Changelog

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 to Tree, 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 methods add() and get() in DecreeTree.

  • 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 the prog_or_name argument to __init__(), replacing it with name and prog_is_name.

  • Changed the summary() method into the structure property and improved its output.

  • Created AbstractDT class to facilitate abstract DecreeTree 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() and DecreeTree.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.