Skip to content

0.3.0

Latest

Choose a tag to compare

@josego85 josego85 released this 08 Mar 17:41
· 3 commits to main since this release

[0.3.0] - 2026-03-08

Added

  • container.py β€” service singleton lifecycle extracted from server.py (SRP)
  • tools.py β€” all 5 MCP tool functions as plain async functions, single VALID_LOCALES constant
  • .docker/dev/Dockerfile β€” dedicated dev Dockerfile replacing root-level Dockerfile
  • .markdownlint.json β€” linter config to allow duplicate headings across changelog versions

Changed

  • server.py refactored into thin entry point (22 lines): registers tools and runs MCP server
  • Word model 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 developer
  • coverage.xml and .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.md rewritten β€” old techword_mcp module references replaced with techword_translator, structure and links corrected
  • docker-setup.md docker-compose example updated to match current docker-compose.yml

Removed

  • Root-level Dockerfile (moved to .docker/dev/)
  • fetch_translation() from APIClient (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