v0.3.1 - Critical Validation Improvements
🎉 Release v0.3.1 - Critical Validation Improvements
This release fixes 17 validation gaps and 8 missing parameter validations identified through comprehensive code review against the Donetick API source code.
✅ Critical Bug Fixes
- Priority Range Corrected - Now correctly 0-4 (was incorrectly 1-5)
- AssignStrategy Complete - Added 4 missing values (now supports all 7)
- Enhanced Error Messages - Username and label lookups now fail with helpful guidance
- Stricter Validation - Invalid day names now raise errors (not warnings)
- Template Limit Enforced - notificationMetadata now validates max 5 templates
- Units Clarified - completionWindow and deadlineOffset documented as SECONDS
🔧 New Validators
- completionWindow: Non-negative, max 1 year, proper units
- deadlineOffset: Max 1 year, proper units
- frequencyMetadata: Validates days, weekPattern, time format, timezone
- notificationMetadata: Template structure and unit validation
📋 All 7 AssignStrategy Values Now Supported
least_completed(default) - Assign to user with fewest completionsleast_assigned- Assign to user with fewest assignmentsround_robin- Rotate through assignees in orderrandom- Random assignmentkeep_last_assigned- Keep previous assigneerandom_except_last_assigned- Random but avoid last assigneeno_assignee- No automatic assignment
🧪 Testing
- ✅ All 41 tests passing
- 📊 Baseline coverage: 57%
- 📖 Roadmap for 85-90% coverage included in TESTING_ROADMAP.md
📦 Installation
pip install --upgrade donetick-mcp-server🔗 Links
- PyPI: https://pypi.org/project/donetick-mcp-server/0.3.1/
- Documentation: CLAUDE.md
- Usage Guide: tmp/USAGE_GUIDE.md
- Testing Roadmap: TESTING_ROADMAP.md
📝 Full Changelog
See commit history: v0.3.0...v0.3.1
🙏 Credits
Built with Claude Code