From 6938b5c2b2bad05bbce7a9b1c26a6cc37800b174 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois?= Date: Sun, 12 Apr 2026 19:06:07 +0200 Subject: [PATCH] Release note added. --- release_note.txt | 51 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 release_note.txt diff --git a/release_note.txt b/release_note.txt new file mode 100644 index 0000000..b2335ee --- /dev/null +++ b/release_note.txt @@ -0,0 +1,51 @@ +Release notes — pyappengine 0.7 +================================ + + +Documentation +------------- +- Added full API reference (Google-style docstrings on all public classes and + methods: AppEngine, CommandsLoader, Commands, AEErrs, AppEngineException). +- Set up MkDocs with Material theme and mkdocstrings for auto-generated + documentation site. +- Added docs/index.md (overview and quick-start example). +- Added docs/getting-started.md (project structure, module authoring guide, + dependency declaration, help system, error handling). +- Added docs/api.md (API reference page, auto-generated from docstrings). + + +Tests +----- +- Added test suite based on pytest and pytest-cov (88% → 91% coverage). +- tests/conftest.py: shared fixtures and SampleModule helper class. +- tests/test_errors.py: tests for is_number, AEErrs, AppEngineException. +- tests/test_commands.py: tests for Commands (val_to_print, logging, stop, + help, list_modules, execute_command, dispatch). +- tests/test_commands_loader.py: tests for dynamic module loading, nickname + override, config section injection, dependency injection (list and dict + forms), threaded module lifecycle. +- tests/test_app_engine.py: tests for AppEngine init, config parsing, log + setup, stop mechanism. + + +Bug fixes +--------- +- AEErrs.__str__: ERROR_MESSAGES was keyed by enum members but looked up by + integer value (.value). Fixed to look up by enum member. +- execute_command: after resolving an underscore/hyphen module alias, the + original (non-aliased) name was still used for dispatch, causing a KeyError. + Fixed to use the resolved alias. +- execute_command: when parsing "help " (no function name), args were + not cleared before dispatch. This caused cmd_help() to receive the module + name as an argument and return "No command with this name". Fixed to clear + args and kwargs after resolving the module name. + + +Project / packaging +------------------- +- pyproject.toml: added optional dependency groups [docs] and [dev]. +- pyproject.toml: added [tool.pytest.ini_options] (testpaths, pythonpath, + default coverage options). +- .gitignore: added site/, .coverage, htmlcov/, .pytest_cache/. +- README.md: added Development section (installation, running tests, coverage + reports, documentation preview and build).