diff --git a/CHANGELOG.md b/CHANGELOG.md index 1944314..2aa5882 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 This project follows Semantic Versioning (SemVer). Breaking changes (removed tools, changed parameters) increment the major version. +## [1.4.0] – 2026-04-17 + +### Added +- **Unit test suite** (`tests/test_unit.py`) — comprehensive tests for core modules + - `fw_client.py`: Error handling (top-level `ex`/`un`, nested `a00.un.un`/`a00.ex.ex`, successful responses) + - `recipes.py`: `ingredients_parsed` parser (newline handling, empty lines, headings, commas) + - `lists.py`: System list name translation (SYS-CAT-SHOPPINGLIST, SYS-CAT-TODOS, unknown names) + - `server.py`: `_validate_date()` (ISO YYYY-MM-DD validation, format errors) + - `server.py`: `_err()` helper (JSON response format, Unicode, special characters) +- All tests use `unittest.mock` (stdlib, no external dependencies) +- Tests run without API access; all HTTP calls are mocked +- Framework: pytest with asyncio support + +### Notes +- Run tests: `uv run pytest tests/test_unit.py -v` +- No breaking changes; release is testing infrastructure only + ## [1.3.1] – 2026-04-17 ### Fixed diff --git a/pyproject.toml b/pyproject.toml index a1efbe4..aff6178 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "mcp-familywall" -version = "1.3.1" +version = "1.4.0" description = "MCP server for Family Wall — manage your family's circles, lists, tasks, recipes, and meal plan via Claude" readme = "README.md" requires-python = ">=3.12"