[0.3.0] - 2026-03-08
Added
container.pyβ service singleton lifecycle extracted fromserver.py(SRP)tools.pyβ all 5 MCP tool functions as plain async functions, singleVALID_LOCALESconstant.docker/dev/Dockerfileβ dedicated dev Dockerfile replacing root-levelDockerfile.markdownlint.jsonβ linter config to allow duplicate headings across changelog versions
Changed
server.pyrefactored into thin entry point (22 lines): registers tools and runs MCP serverWordmodel rewritten to match current API response (translations: [{language, translation}])- Upgraded to Python 3.12 and Debian 13 (Trixie) in Docker image
- All package constraints updated to match currently installed versions
docker-compose.yml: Dockerfile path updated, volumes set to:ro, UID/GID build args added so container user matches host developercoverage.xmland.venv/added to.gitignore- Docs updated to reflect v0.3.0: Python 3.12+, new module structure (
tools.py,container.py), Dockerfile path, test count (151), package constraints project-summary.mdrewritten β oldtechword_mcpmodule references replaced withtechword_translator, structure and links correcteddocker-setup.mddocker-compose example updated to match currentdocker-compose.yml
Removed
- Root-level
Dockerfile(moved to.docker/dev/) fetch_translation()fromAPIClient(dead code β API embeds translations in word response)htmlcov/volume mount from docker-compose (HTML coverage report removed)
Full Changelog: v0.2.0...v0.3.0