Skip to content

v0.3.1 - Critical Validation Improvements

Choose a tag to compare

@jason1365 jason1365 released this 04 Nov 10:55
· 23 commits to main since this release

🎉 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

  1. Priority Range Corrected - Now correctly 0-4 (was incorrectly 1-5)
  2. AssignStrategy Complete - Added 4 missing values (now supports all 7)
  3. Enhanced Error Messages - Username and label lookups now fail with helpful guidance
  4. Stricter Validation - Invalid day names now raise errors (not warnings)
  5. Template Limit Enforced - notificationMetadata now validates max 5 templates
  6. 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 completions
  • least_assigned - Assign to user with fewest assignments
  • round_robin - Rotate through assignees in order
  • random - Random assignment
  • keep_last_assigned - Keep previous assignee
  • random_except_last_assigned - Random but avoid last assignee
  • no_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

📝 Full Changelog

See commit history: v0.3.0...v0.3.1

🙏 Credits

Built with Claude Code