release-notes.md•3.46 kB
# v0.8.5 Release Notes
### 🚀 New Features & Improvements
- **Major Enhancement: Comprehensive Natural Language Date Parsing System**:
- **Complete Natural Language Support**: 47+ natural language patterns with 100% accuracy
- **Future expressions**: `"in 6 days"`, `"3 days later"`, `"after 2 weeks"`, `"5 days ahead"`, `"next 3 days"`
- **Past expressions**: `"6 days ago"`, `"3 days back"`, `"2 weeks before"`, `"5 days earlier"`, `"last 3 days"`
- **Article support**: `"a day ago"`, `"in a week"`, `"an hour later"` (a/an automatically converted to 1)
- **Flexible connectors**: `"3 days later around 2pm"`, `"by 5pm"`, `"on Monday"` (at/around/by/on)
- **Formal terms**: `"overmorrow"` (day after tomorrow), `"ereyesterday"` (day before yesterday)
- **Extended Time Units**: Complete support for days, weeks, months, and years
- **Months**: `"in 6 months"`, `"3 months ago"`, `"after 9 months"`, `"2 months later"`
- **Years**: `"in 2 years"`, `"5 years ago"`, `"after 1 year"`, `"3 years from now"`
- **Dynamic numbers**: Any number works (1, 6, 15, 30, 100, 365+) with perfect accuracy
- **Smart Preprocessing**: Typo correction, time normalization, complex expression handling
- **Enhanced Formats**: US dates, text months, relative expressions, timestamps, time specifications
- **Performance**: Sub-millisecond parsing (~0.188ms) with 100% backward compatibility
### 🐛 Bug Fixes
- **Fixed Task Assignment Functionality**:
- **Root Cause**: ClickUp API uses different formats for assignees in task creation vs updates
- Creation: `"assignees": [user_id1, user_id2]` (simple array)
- Updates: `"assignees": { "add": [user_id1], "rem": [user_id2] }` (object with add/rem arrays)
- **Parameter Parsing**: Fixed MCP serialization issue where assignee arrays were received as strings
- **Smart Assignment Logic**: Implemented intelligent add/remove calculation by comparing current vs desired assignees
- **Complete Functionality**: Now supports adding, removing, and updating task assignees
- **Multiple Formats**: Supports user IDs, emails, and usernames for assignee resolution
- **TypeScript Types**: Updated interfaces to support both array and object assignee formats
- **Testing**: Verified full assignment cycle (add → remove → re-add) works correctly
- **Fixed Track Time tool response formatting issue**:
- Fixed issue where Track Time tools (start/stop time tracking, get time entries, etc.) were executing successfully but returning no output to users
- **Root cause**: Time tracking handlers were returning raw JavaScript objects instead of using proper MCP server response formatting
- **Solution**: Updated all 6 time tracking handlers to use `sponsorService.createResponse()` method for consistent response formatting
- **Handlers fixed**: `handleStartTimeTracking`, `handleStopTimeTracking`, `handleGetTaskTimeEntries`, `handleAddTimeEntry`, `handleDeleteTimeEntry`, `handleGetCurrentTimeEntry`
- **Enhanced error handling**: All error responses now use `sponsorService.createErrorResponse()` for consistent error formatting
- **Added null safety**: Fixed potential undefined property access in time entries data with proper null checks
- **Improved user experience**: Added helpful success messages and proper data structure formatting
- **Impact**: Track Time tools now provide clear, formatted JSON responses instead of appearing to run silently